ComplianceServer/oldcode/BLL/Ord/ORD_MEMO_BL.cs

234 lines
13 KiB
C#

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<WX.CRM.Model.QueryMap.ORD_MemoQuery> 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<WX.CRM.Model.QueryMap.ORD_MemoQuery> list = GetList(tab);
return list;
}
private List<WX.CRM.Model.QueryMap.ORD_MemoQuery> GetList(DataTable tab)
{
List<WX.CRM.Model.QueryMap.ORD_MemoQuery> list = new List<WX.CRM.Model.QueryMap.ORD_MemoQuery>();
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<WX.CRM.Model.QueryMap.ORD_MemoQuery> 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<WX.CRM.Model.QueryMap.ORD_MemoQuery> list = GetList(tab);
return list;
}
/// <summary>
/// 获取营业部工单
/// </summary>
/// <param name="pageSize"></param>
/// <param name="ResId"></param>
/// <param name="isValid"></param>
/// <returns></returns>
public List<WX.CRM.Model.QueryMap.ORD_MemoQuery> GetTGAllMemoListByResId(int pageSize, string ResId, string isValid)
{
DataTable tab = new Ord_Memo_DAL().GetTGAllMemoListByResId(pageSize, ResId, isValid);
List<WX.CRM.Model.QueryMap.ORD_MemoQuery> 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<WX.CRM.Model.MAP.QC_ORDMEMO> 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<WX.CRM.Model.MAP.QC_ORDMEMO>();
}
catch (Exception ex)
{
LogHelper.Error(ex.Message);
return null;
}
}
}
}