using Cksoft.Data; using DllEapEntity; using DllEapEntity.PM; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DllEapDal { public class PMHistoryDal { private IDatabase CurrDb; public PMHistoryDal(IDatabase db) { CurrDb = db; } public IEnumerable Get() { var models = CurrDb.FindList(); return models; } public IEnumerable Get(int start, int length, string order, string sort, string filter, string errorinfo) { var pros = CurrDb.FindListForCondition($" {filter} order by {sort} {order} limit {start - 1},{length}", ref errorinfo); if (pros != null && pros.Count() > 0) { foreach(var item in pros) { var attaches = CurrDb.FindListForCondition($" and a.PreId={item.ID}",ref errorinfo); item.Attachments = attaches; } } return pros; } public int GetCount(string filter) { string errorinfo = string.Empty; //string sql = $"select count(1) from ProgramRule a where 1=1 {filter}"; var entities = CurrDb.FindListForCondition(filter, ref errorinfo); if (entities != null) { return entities.Count(); } return 0; } public PMHistory Get(int id) { string errorinfo = string.Empty; var pro = CurrDb.FindEntityFor(id); if (pro != null) { var attaches = CurrDb.FindListForCondition($" and a.PreId={id}", ref errorinfo); pro.Attachments = attaches; } return pro; } /// /// 添加角色并返回角色Id /// /// /// /// public int Add(PMHistory pro, string userCode, ref string errorinfo) { pro.RecCode = pro.ModCode = userCode; pro.RecTime = pro.ModTime = DateTime.Now; var sql = $@"insert into PMHistory (macid,pmid,pmtime,maintenance,remark,reccode,rectime,modcode,modtime,pmer) values('{pro.MacID}','{pro.PMID}','{pro.PMTime.ToString("yyyy-MM-dd HH:mm:ss")}','{pro.Maintenance}','{pro.Remark}','{pro.RecCode}','{pro.RecTime.ToString("yyyy-MM-dd HH:mm:ss")}', '{pro.ModCode}','{pro.ModTime.ToString("yyyy-MM-dd HH:mm:ss")}','{pro.Pmer}');select @@identity;"; var id = Convert.ToInt32(CurrDb.FindList(sql).FirstOrDefault() ?? "0"); if (pro.Attachments != null && pro.Attachments.Count() > 0) { foreach(var item in pro.Attachments) { item.PreId = id; if (CurrDb.InsertFor(item, userCode) < 0) { errorinfo = "插入附件失败,请联系管理员"; return -1; } } } return id; } public int Update(PMHistory role, string userCode, ref string errorinfo) { return CurrDb.UpdateFor(role, userCode); } public int Delete(int id, ref string msg) { if (CurrDb.DeleteFor(id) < 0) { msg = "删除失败"; return -1; } msg = string.Empty; return 1; } } }