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 orgorderdt, List orgdatadt, List orgsec , List desorderdt, List desdatadt, List 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 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 orgdatadt,List orgsec , List desorderdt, List desdatadt,List 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 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 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 orgdatadt, List 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 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; } } }