ComplianceServer/oldcode/BLL/Ord/ORD_MEMOCONTENT_BL.cs

82 lines
3.0 KiB
C#

using System.Collections.Generic;
using System.Linq;
using WX.CRM.IBLL.Ord;
using WX.CRM.Model.Entity;
namespace WX.CRM.BLL.Ord
{
public class ORD_MEMOCONTENT_BL : IORD_MEMOCONTENT_Q
{
public ORD_MEMOCONTENT GetInfo_OrdMemoContent(decimal pkid)
{
using (var db = new crmContext())
{
return db.ORD_MEMOCONTENT.Where(m => m.CONTENTID == pkid).FirstOrDefault();
}
}
public Dictionary<string, ORD_MEMOCONTENT> GetOrdMemoContentByIds(List<string> coids)
{
using (var db = new crmContext())
{
var ordSaleMemoList = db.ORD_SALEMEMO.Where(p => coids.Contains(p.COID));
var ordServiceMemoList = db.ORD_SERVICEMEMO.Where(p => coids.Contains(p.COID));
var ordPurposeMemoList = db.ORD_PURPOSEMEMO.Where(p => coids.Contains(p.COID));
var ordSpecialMemoList = db.ORD_SPECIALMEMO.Where(p => coids.Contains(p.COID));
var contentIds = new Dictionary<string, decimal>();
foreach (var item in ordSaleMemoList)
{
if (!contentIds.ContainsKey(item.COID))
contentIds.Add(item.COID, item.MEMOCONTENTID.Value);
}
foreach (var item in ordServiceMemoList)
{
if (!contentIds.ContainsKey(item.COID))
contentIds.Add(item.COID, item.MEMOCONTENTID.Value);
}
foreach (var item in ordPurposeMemoList)
{
if (!contentIds.ContainsKey(item.COID))
contentIds.Add(item.COID, item.MEMOCONTENTID.Value);
}
foreach (var item in ordSpecialMemoList)
{
if (!contentIds.ContainsKey(item.COID))
contentIds.Add(item.COID, item.MEMOCONTENTID.Value);
}
var data = db.ORD_MEMOCONTENT.Where(p => contentIds.Values.Contains(p.CONTENTID));
var dic = new Dictionary<string, ORD_MEMOCONTENT>();
foreach (var item in contentIds)
{
foreach (var subitem in data)
{
if (item.Value == subitem.CONTENTID)
{
if (!dic.ContainsKey(item.Key))
dic.Add(item.Key, subitem);
}
}
}
return dic;
}
}
public List<ORD_MEMOCONTENT> GetOrdMemoContent(IEnumerable<decimal> contentIds)
{
if (contentIds == null || !contentIds.Any())
{
return new List<ORD_MEMOCONTENT>();
}
using (var db = new crmContext())
{
var data = db.ORD_MEMOCONTENT.Where(p => contentIds.Contains(p.CONTENTID));
return data.ToList();
}
}
}
}