using Cksoft.Data; using System; using System.Collections.Generic; using System.Text; using DllEapEntity.Rms; using System.Linq; using DllEapEntity; namespace DllEapDal { public class ProgramMstDetailDal { private IDatabase CurrDb; public ProgramMstDetailDal(IDatabase db) { this.CurrDb = db; } 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); return pros; } public int GetCount(string filter) { string sql = $"select count(1) from ProgramParamsDetail a where 1=1 {filter}"; return Convert.ToInt32(CurrDb.FindList(sql).FirstOrDefault() ?? "0"); } public ProgramParamsDetail Get(int id) { var pro = CurrDb.FindEntityFor(id); return pro; } /// /// 添加角色并返回角色Id /// /// /// /// public int Add(ProgramParamsDetail pro, string userCode) { pro.RecCode = pro.ModCode = userCode; pro.RecTime = pro.ModTime = DateTime.Now; string sql = $"insert into ProgramParamsDetail(PreID,MMSecDetailID,UCL,CL,LCL,SVTYPE,CTLTYPE,MODULE,Remark,RecCode,RecTime," + $"ModCode,ModTime,IsCompare,FNum) values('{pro.PreID}','{pro.MMSecDetailID}','{pro.UCL}','{pro.CL}','{pro.LCL}','{pro.SVType}','{pro.CTLType}'," + $"'{pro.Module}','{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.IsCompare},{pro.FNum});"; sql += "select @@identity;"; var id = Convert.ToInt32(CurrDb.FindList(sql).FirstOrDefault() ?? "-1"); string errorinfo = string.Empty; var modelDetails = CurrDb.FindListForCondition($" and PreID='{pro.MMSecDetailID}'", ref errorinfo); if (modelDetails != null && modelDetails.Count() > 0) { foreach (var item in modelDetails) { var ppsubDetail = new PPSubDetail { CL = item.CL, FNum = item.FNum, IsCompare = 1, LCL = item.LCL, ModCode = userCode, ModTime = DateTime.Now, MPSubDetailID = item.ID, ParameFName = item.FName, PreID = id, RecCode = userCode, RecTime = DateTime.Now, UCL = item.UCL }; if (CurrDb.InsertFor(ppsubDetail, userCode) <= 0) { return -1; } } } return id; } public int Update(ProgramParamsDetail role, string userCode) { if(CurrDb.UpdateFor(role, userCode)<0) { return -1; } return role.ID; } public int Delete(int id, ref string msg) { // 判断是否有产品正在使用该程序 if (CurrDb.DeleteFor(id) < 0) { msg = "删除失败"; return -1; } msg = string.Empty; return 1; } } }