using System; using System.Collections.Generic; using System.Data; using System.Linq; using WX.CRM.Common; using WX.CRM.DAL.Ord; using WX.CRM.IBLL.Ord; using WX.CRM.Model.QueryMap; namespace WX.CRM.BLL.Ord { public class ORD_MEMO_BL : IORD_MEMO_Q { public List GetMemoListByResId(ref Pager pager, string ResId, WX.CRM.Model.Enum.EnumMemoType type, string isValid) { DataTable tab = new Ord_Memo_DAL().GetMemoListByResId(ref pager, ResId, type, isValid); List list = GetList(tab); return list; } private List GetList(DataTable tab) { List list = new List(); WX.CRM.Model.QueryMap.ORD_MemoQuery model = null; foreach (DataRow row in tab.Rows) { model = new WX.CRM.Model.QueryMap.ORD_MemoQuery(); if (row["BUSINESSID"] != DBNull.Value) model.BUSINESSID = Convert.ToDecimal(row["BUSINESSID"]); if (row["CALLTIME"] != DBNull.Value) model.CALLTIME = Convert.ToDateTime(row["CALLTIME"]); if (row["CALLTIMEEND"] != DBNull.Value) model.CALLTIMEEND = Convert.ToDateTime(row["CALLTIMEEND"]); model.CNAME = string.Format("{0}", row["CNAME"]); if (row["CTIME"] != DBNull.Value) model.CTIME = Convert.ToDateTime(row["CTIME"]); if (row["INNERUSERID"] != DBNull.Value) model.INNERUSERID = Convert.ToDecimal(row["INNERUSERID"]); if (row["MEMOCONTENTID"] != DBNull.Value) model.MEMOCONTENTID = Convert.ToDecimal(row["MEMOCONTENTID"]); model.MEMOID = Convert.ToDecimal(row["MEMOID"]); if (row["MEMOSTYLEID"] != DBNull.Value) model.MEMOSTYLEID = Convert.ToDecimal(row["MEMOSTYLEID"]); if (row["MEMOSUBTYPEID"] != DBNull.Value) model.MEMOSUBTYPEID = Convert.ToDecimal(row["MEMOSUBTYPEID"]); if (row["MEMOTYPEID"] != DBNull.Value) model.MEMOTYPEID = Convert.ToDecimal(row["MEMOTYPEID"]); model.RESID = string.Format("{0}", row["RESID"]); model.STRCONTENT = string.Format("{0}", row["STRCONTENT"]); if (row["MEMO_TYPE"] != DBNull.Value) model.MEMO_TYPE = Convert.ToInt32(row["MEMO_TYPE"]); if (tab.Columns.Contains("TGSALESEID") && row["TGSALESEID"] != DBNull.Value) model.TGsalesEID = Convert.ToDecimal(row["TGSALESEID"]); if (tab.Columns.Contains("TGSALESNAME")) model.TGsalesName = string.Format("{0}", row["TGSALESNAME"]); if (tab.Columns.Contains("extmemoid") && row["extmemoid"] != DBNull.Value) { model.ExtMemoId = Convert.ToDecimal(row["extmemoid"]); } model.COMPANYNAME = Convert.ToString(row["COMPANYNAME"]); if (tab.Columns.Contains("EID") && row["EID"] != DBNull.Value) { model.EID = Convert.ToDecimal(row["EID"]); } list.Add(model); } return list; } public List GetAllMemoListByResId(int pageSize, string ResId, string isValid,string procedureName = "PACK_ORD_MEMO.ord_allmemo_get") { DataTable tab = new Ord_Memo_DAL().GetAllMemoListByResId(pageSize, ResId, isValid, procedureName); List list = GetList(tab); return list; } /// /// 获取营业部工单 /// /// /// /// /// public List GetTGAllMemoListByResId(int pageSize, string ResId, string isValid) { DataTable tab = new Ord_Memo_DAL().GetTGAllMemoListByResId(pageSize, ResId, isValid); List list = GetList(tab); return list; } public WX.CRM.Model.QueryMap.Ord_MemoDelete GetMemoInfoByMemoId(string typeid, decimal memoId) { try { using (var db = new WX.CRM.Model.Entity.crmContext()) { Ord_MemoDelete memoDeleteModel = new Ord_MemoDelete(); switch (typeid) { case "0": memoDeleteModel = (from a in db.ORD_SALEMEMO join s in db.ORD_MEMOTYPE on a.MEMOTYPEID equals s.TYPEID join m in db.ORD_MEMOSUBTYPE on a.MEMOSUBTYPEID equals m.SUBTYPEID join n in db.ORD_MEMOCONTENT on a.MEMOCONTENTID equals n.CONTENTID join b in db.BAS_INNERUSER on a.INNERUSERID equals b.PKID where a.MEMOID == memoId select new Ord_MemoDelete { MemoId = a.MEMOID, ResId = a.RESID, InneruserId = a.INNERUSERID.Value, EID = b.EID, Name = b.UNAME, CTime = a.CTIME, MemoTypeName = s.TYPENAME, MemoTypeId = s.TYPEID, MemoSubTypeName = m.TYPENAME, MemoSubTypeId = m.SUBTYPEID, MemoContent = n.STRCONTENT }).FirstOrDefault(); break; case "1": memoDeleteModel = (from a in db.ORD_SERVICEMEMO join s in db.ORD_MEMOTYPE on a.MEMOTYPEID equals s.TYPEID join m in db.ORD_MEMOSUBTYPE on a.MEMOSUBTYPEID equals m.SUBTYPEID join n in db.ORD_MEMOCONTENT on a.MEMOCONTENTID equals n.CONTENTID join b in db.BAS_INNERUSER on a.INNERUSERID equals b.PKID where a.MEMOID == memoId select new Ord_MemoDelete { MemoId = a.MEMOID, ResId = a.RESID, InneruserId = a.INNERUSERID.Value, EID = b.EID, Name = b.UNAME, CTime = a.CTIME, MemoTypeName = s.TYPENAME, MemoTypeId = s.TYPEID, MemoSubTypeName = m.TYPENAME, MemoSubTypeId = m.SUBTYPEID, MemoContent = n.STRCONTENT }).FirstOrDefault(); break; case "2": memoDeleteModel = (from a in db.ORD_PURPOSEMEMO join s in db.ORD_MEMOTYPE on a.MEMOTYPEID equals s.TYPEID join m in db.ORD_MEMOSUBTYPE on a.MEMOSUBTYPEID equals m.SUBTYPEID join n in db.ORD_MEMOCONTENT on a.MEMOCONTENTID equals n.CONTENTID join b in db.BAS_INNERUSER on a.INNERUSERID equals b.PKID where a.MEMOID == memoId select new Ord_MemoDelete { MemoId = a.MEMOID, ResId = a.RESID, InneruserId = a.INNERUSERID.Value, EID = b.EID, Name = b.UNAME, CTime = a.CTIME, MemoTypeName = s.TYPENAME, MemoTypeId = s.TYPEID, MemoSubTypeName = m.TYPENAME, MemoSubTypeId = m.SUBTYPEID, MemoContent = n.STRCONTENT }).FirstOrDefault(); break; case "3": memoDeleteModel = (from a in db.ORD_SPECIALMEMO join s in db.ORD_MEMOTYPE on a.MEMOTYPEID equals s.TYPEID join m in db.ORD_MEMOSUBTYPE on a.MEMOSUBTYPEID equals m.SUBTYPEID join n in db.ORD_MEMOCONTENT on a.MEMOCONTENTID equals n.CONTENTID join b in db.BAS_INNERUSER on a.INNERUSERID equals b.PKID where a.MEMOID == memoId select new Ord_MemoDelete { MemoId = a.MEMOID, ResId = a.RESID, InneruserId = a.INNERUSERID.Value, EID = b.EID, Name = b.UNAME, CTime = a.CTIME, MemoTypeName = s.TYPENAME, MemoTypeId = s.TYPEID, MemoSubTypeName = m.TYPENAME, MemoSubTypeId = m.SUBTYPEID, MemoContent = n.STRCONTENT }).FirstOrDefault(); break; } return memoDeleteModel; } } catch (Exception ex) { throw ex; } } public DataTable GetProtectResIdList(ref ValidationErrors errors, decimal protectDay, DateTime? stime, DateTime? etime, decimal BusinessTypeid1, decimal memoTypeid1, decimal memoSubTypeid1, decimal BusinessTypeid2, decimal memoTypeid2, decimal memoSubTypeid2) { try { return new Ord_Memo_DAL().GetProtectResIdList(protectDay, stime, etime, BusinessTypeid1, memoTypeid1, memoSubTypeid1, BusinessTypeid2, memoTypeid2, memoSubTypeid2); } catch (Exception ex) { LogHelper.Error(ex.Message); errors.Add(ex.Message); return new DataTable(); } } public List GetCacheOrdMemo() { try { var dr = new Ord_Memo_DAL().GetCacheOrdMemo(); dr.Columns.Add("ISCHECKED1", typeof(bool)); foreach (DataRow item in dr.Rows) { item["ISCHECKED1"] = item["ISCHECKED"].ToString() == "1"; } dr.Columns.Remove("ISCHECKED"); dr.Columns["ISCHECKED1"].ColumnName = "ISCHECKED"; return dr.ToList(); } catch (Exception ex) { LogHelper.Error(ex.Message); return null; } } } }