ComplianceServer/oldcode/Core.BLL/FB/Ord_MemoContent_BL.cs

64 lines
2.6 KiB
C#

using CRM.Core.Model;
using CRM.Core.Model.EntityFB;
using System;
using System.Collections.Generic;
using System.Linq;
namespace CRM.Core.BLL.FB
{
public class Ord_MemoContent_BL : FbContextRepository<ORD_MEMOCONTENT>
{
private ConStringHelper.CompanyCode _companyCode;
public Ord_MemoContent_BL(ConStringHelper.CompanyCode companyCode) : base(companyCode)
{
_companyCode = companyCode;
}
public Dictionary<string, ORD_MEMOCONTENT> GetOrdMemoContentByIds(IEnumerable<string> coids)
{
using (var db = new fbContext(_companyCode))
{
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;
}
}
}
}