123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- using Cksoft.Unity;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace DllEapEntity
- {
- public class EapUnity
- {
- //将单个指令数据添加到指定的数据集中
- public static int AddOrderForEntity(List<OrderDetail> orgorderdt, List<OrderData> orgdatadt, List<OrderDetailSec> orgsec
- , List<OrderDetail> desorderdt, List<OrderData> desdatadt, List<OrderDetailSec> dessec, int mstid)
- {
- foreach(var item in orgorderdt)
- {
- //int? minid = desorderdt.Where(t => t.ID < 0).Min(t => (int?)t.ID);
- //int id = minid == null ? -1 : minid.Value - 1;
- //int? maxfnum = desorderdt.Max(t => (int?)t.FNum);
- //int num = maxfnum == null ? 10 : maxfnum.Value + 10;
- //OrderDetail addrow = new OrderDetail();
- //desorderdt.Add(addrow);
- //EntityHelper.CopyPropertyValue(item, addrow);
- //addrow.ID = id;
- //addrow.PreID = mstid;
- //addrow.EntityStatusID = 1;
- List<OrderData> temporgdatadt = orgdatadt.Where(t => t.PreID == item.ID).ToList();
- int result = AddOrderForEntity(item,temporgdatadt,orgsec, desorderdt, desdatadt,dessec, mstid);
- if (result <= 0)
- return result;
- }
- return 1;
- }
- //将单个指令数据添加到指定的数据集中
- public static int AddOrderForEntity(OrderDetail orgorderdt, List<OrderData> orgdatadt,List<OrderDetailSec> orgsec
- , List<OrderDetail> desorderdt, List<OrderData> desdatadt,List<OrderDetailSec> dessec, int mstid)
- {
- int? minid = desorderdt.Where(t => t.ID < 0).Min(t => (int?)t.ID);
- int id = minid == null ? -1 : minid.Value - 1;
- int? maxfnum = desorderdt.Max(t => (int?)t.FNum);
- int num = maxfnum == null ? 10 : maxfnum.Value + 10;
- OrderDetail addrow = new OrderDetail();
- desorderdt.Add(addrow);
- EntityHelper.CopyPropertyValue(orgorderdt, addrow);
- addrow.ID = id;
- addrow.PreID = mstid;
- addrow.FNum = num;
- addrow.EntityStatusID = 1;
- List<OrderData> ttrows = orgdatadt.Where(t => t.ParentID == 0).OrderBy(t => t.FNum).ToList();//orgdatadt.Select("上级ID=0", "序号");
- foreach (OrderData temprow in ttrows)
- {
- int result = AddOrderDataForEntity(temprow, orgdatadt, desdatadt, id, 0);
- if (result <= 0)
- return result;
- }
- List<OrderDetailSec> tempsecs = orgsec.Where(t => t.PreID == orgorderdt.ID).ToList();
- foreach(var item in tempsecs)
- {
- OrderDetailSec tempentity = new OrderDetailSec();
- EntityHelper.CopyPropertyValue(item, tempentity);
- tempentity.PreID = id;
- tempentity.EntityStatusID = 1;
- tempentity.AddEntity(dessec);
- }
- return 1;
- }
- //将单个指令数据添加到指定的数据集中
- public static int AddOrderDataForEntity(OrderData datarow, List<OrderData> orgdatadt, List<OrderData> desdatadt, int mstid, int preid)
- {
- int? minid = desdatadt.Where(t => t.ID < 0).Min(t => (int?)t.ID);
- int id = minid == null ? -1 : minid.Value - 1;
- int? maxfnum = desdatadt.Where(t => t.ParentID == preid && t.PreID == mstid).Max(t => (int?)t.FNum);
- int num = maxfnum == null ? 10 : maxfnum.Value + 10;
- OrderData addrow = new OrderData();
- desdatadt.Add(addrow);
- EntityHelper.CopyPropertyValue(datarow, addrow);
- addrow.ID = id;
- addrow.PreID = mstid;
- addrow.ParentID = preid;
- addrow.FNum = num;
- addrow.EntityStatusID = 1;
- List<OrderData> ttrows = orgdatadt.Where(t => t.ParentID == datarow.ID).OrderBy(t => t.FNum).ToList();//orgdatadt.Select("上级ID=" + datarow["ID"].ToString(), "序号");
- foreach (OrderData temprow in ttrows)
- {
- int result = AddOrderDataForEntity(temprow, orgdatadt, desdatadt, mstid, id);
- if (result <= 0)
- return result;
- }
- return 1;
- }
- }
- }
|