82 lines
3.0 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|
|
}
|