123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- using Cksoft.Data;
- using DllEapEntity;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace DllEapDal.OFILM
- {
- public class NoticeConfigDal
- {
- private IDatabase CurrDb = null;
- public NoticeConfigDal(IDatabase db)
- {
- CurrDb = db;
- }
- public IEnumerable<NoticeConfig> Get(int start, int length, string order, string sort, string filter, string errorinfo)
- {
- var pros = CurrDb.FindListForCondition<NoticeConfig>($" {filter} order by {sort} {order} limit {start - 1},{length}", ref errorinfo);
- if (pros != null && pros.Count() > 0)
- {
- foreach (var item in pros)
- {
- item.NoticeConfigDetails = CurrDb.FindListForCondition<NoticeConfigDetail>($" and a.MstId={item.Id}", ref errorinfo);
- item.PushNames = string.Join("|", item.NoticeConfigDetails.Select(c => c.FName));
- }
- }
- return pros;
- }
- public int GetCount(string filter)
- {
- string errorinfo = string.Empty;
- var entities = CurrDb.FindListForCondition<NoticeConfig>(filter, ref errorinfo);
- if (entities != null)
- {
- return entities.Count();
- }
- return 0;
- }
- public NoticeConfig Get(int id)
- {
- var pro = CurrDb.FindEntityFor<NoticeConfig>(id);
- string errorinfo = string.Empty;
- if (pro != null)
- {
- pro.NoticeConfigDetails = CurrDb.FindListForCondition<NoticeConfigDetail>($" and a.MstId={pro.Id}", ref errorinfo);
- }
- return pro;
- }
- public NoticeConfig GetByFactory(int factoryId)
- {
- string errorinfo = string.Empty;
- var pro = CurrDb.FindListForCondition<NoticeConfig>($" and a.factoryId={factoryId} and a.isUse=1", ref errorinfo).FirstOrDefault();
- if (pro != null)
- {
- pro.NoticeConfigDetails = CurrDb.FindListForCondition<NoticeConfigDetail>($" and a.MstId={pro.Id}", ref errorinfo);
- }
- return pro;
- }
- public int Add(NoticeConfig pro, string userCode, ref string errorinfo)
- {
- var entities = CurrDb.FindListForCondition<NoticeConfig>($" and a.factoryId='{pro.FactoryId}' ", ref errorinfo);
- if (entities != null && entities.Count() > 0)
- {
- errorinfo = "已存在该园区的蓝信推送人员配置,请不要重复添加";
- return -1;
- }
- pro.IsUse = 1;
- CurrDb.InsertFor(pro, userCode);
- var sql = "select @@identity;";
- var id = Convert.ToInt32(CurrDb.FindList<string>(sql).FirstOrDefault() ?? "-1");
- if (pro.NoticeConfigDetails != null && pro.NoticeConfigDetails.Count() > 0)
- {
- var details = new List<NoticeConfigDetail>();
- foreach (var item in pro.NoticeConfigDetails)
- {
- details.Add(new NoticeConfigDetail
- {
- MstId = id,
- RecCode = userCode,
- ModCode = userCode,
- StaffId = item.StaffId
- });
- }
- if (CurrDb.InsertFor<NoticeConfigDetail>(details, string.Empty) < 0)
- {
- errorinfo = "新增人员配置信息失败";
- return -1;
- }
- }
- return id;
- }
- public int Update(NoticeConfig role, string userCode, ref string errorinfo)
- {
- var entities = CurrDb.FindListForCondition<NoticeConfig>($" and a.FactoryId='{role.FactoryId}' " +
- $"and a.ID<>{role.Id}", ref errorinfo);
- if (entities != null && entities.Count() > 0)
- {
- errorinfo = "已存在该园区的蓝信推送人员配置,请不要重复添加";
- return -1;
- }
- var sql = $"delete from noticeconfigdetail where mstid={role.Id}";
- if (CurrDb.ExecuteBySql(sql) < 0)
- {
- errorinfo = "删除原人员信息失败";
- return -1;
- }
- if (role.NoticeConfigDetails != null && role.NoticeConfigDetails.Count() > 0)
- {
- var details = new List<NoticeConfigDetail>();
- foreach (var item in role.NoticeConfigDetails)
- {
- details.Add(new NoticeConfigDetail
- {
- MstId = role.Id,
- StaffId = item.StaffId
- });
- }
- if (CurrDb.InsertFor<NoticeConfigDetail>(details, string.Empty) < 0)
- {
- errorinfo = "修改人员配置信息失败";
- return -1;
- }
- }
- role.ModTime = DateTime.Now;
- if (CurrDb.UpdateFor(role, userCode) < 0)
- {
- return -1;
- }
- return role.Id;
- }
- public int Delete(int id, ref string msg)
- {
- if (CurrDb.DeleteFor<NoticeConfig>(id) < 0)
- {
- msg = "删除失败";
- return -1;
- }
- msg = string.Empty;
- return 1;
- }
- public int ChangeIsUse(NoticeConfig noticeConfig, ref string errorinfo)
- {
- var sql = $"update NoticeConfig set isUse={noticeConfig.IsUse} " +
- $"where id={noticeConfig.Id}";
- if (CurrDb.ExecuteBySql(sql) < 0)
- {
- errorinfo = "修改失败";
- return -1;
- }
- return 1;
- }
- }
- }
|