EapUnity.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. using Cksoft.Unity;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. namespace DllEapEntity
  7. {
  8. public class EapUnity
  9. {
  10. //将单个指令数据添加到指定的数据集中
  11. public static int AddOrderForEntity(List<OrderDetail> orgorderdt, List<OrderData> orgdatadt, List<OrderDetailSec> orgsec
  12. , List<OrderDetail> desorderdt, List<OrderData> desdatadt, List<OrderDetailSec> dessec, int mstid)
  13. {
  14. foreach(var item in orgorderdt)
  15. {
  16. //int? minid = desorderdt.Where(t => t.ID < 0).Min(t => (int?)t.ID);
  17. //int id = minid == null ? -1 : minid.Value - 1;
  18. //int? maxfnum = desorderdt.Max(t => (int?)t.FNum);
  19. //int num = maxfnum == null ? 10 : maxfnum.Value + 10;
  20. //OrderDetail addrow = new OrderDetail();
  21. //desorderdt.Add(addrow);
  22. //EntityHelper.CopyPropertyValue(item, addrow);
  23. //addrow.ID = id;
  24. //addrow.PreID = mstid;
  25. //addrow.EntityStatusID = 1;
  26. List<OrderData> temporgdatadt = orgdatadt.Where(t => t.PreID == item.ID).ToList();
  27. int result = AddOrderForEntity(item,temporgdatadt,orgsec, desorderdt, desdatadt,dessec, mstid);
  28. if (result <= 0)
  29. return result;
  30. }
  31. return 1;
  32. }
  33. //将单个指令数据添加到指定的数据集中
  34. public static int AddOrderForEntity(OrderDetail orgorderdt, List<OrderData> orgdatadt,List<OrderDetailSec> orgsec
  35. , List<OrderDetail> desorderdt, List<OrderData> desdatadt,List<OrderDetailSec> dessec, int mstid)
  36. {
  37. int? minid = desorderdt.Where(t => t.ID < 0).Min(t => (int?)t.ID);
  38. int id = minid == null ? -1 : minid.Value - 1;
  39. int? maxfnum = desorderdt.Max(t => (int?)t.FNum);
  40. int num = maxfnum == null ? 10 : maxfnum.Value + 10;
  41. OrderDetail addrow = new OrderDetail();
  42. desorderdt.Add(addrow);
  43. EntityHelper.CopyPropertyValue(orgorderdt, addrow);
  44. addrow.ID = id;
  45. addrow.PreID = mstid;
  46. addrow.FNum = num;
  47. addrow.EntityStatusID = 1;
  48. List<OrderData> ttrows = orgdatadt.Where(t => t.ParentID == 0).OrderBy(t => t.FNum).ToList();//orgdatadt.Select("上级ID=0", "序号");
  49. foreach (OrderData temprow in ttrows)
  50. {
  51. int result = AddOrderDataForEntity(temprow, orgdatadt, desdatadt, id, 0);
  52. if (result <= 0)
  53. return result;
  54. }
  55. List<OrderDetailSec> tempsecs = orgsec.Where(t => t.PreID == orgorderdt.ID).ToList();
  56. foreach(var item in tempsecs)
  57. {
  58. OrderDetailSec tempentity = new OrderDetailSec();
  59. EntityHelper.CopyPropertyValue(item, tempentity);
  60. tempentity.PreID = id;
  61. tempentity.EntityStatusID = 1;
  62. tempentity.AddEntity(dessec);
  63. }
  64. return 1;
  65. }
  66. //将单个指令数据添加到指定的数据集中
  67. public static int AddOrderDataForEntity(OrderData datarow, List<OrderData> orgdatadt, List<OrderData> desdatadt, int mstid, int preid)
  68. {
  69. int? minid = desdatadt.Where(t => t.ID < 0).Min(t => (int?)t.ID);
  70. int id = minid == null ? -1 : minid.Value - 1;
  71. int? maxfnum = desdatadt.Where(t => t.ParentID == preid && t.PreID == mstid).Max(t => (int?)t.FNum);
  72. int num = maxfnum == null ? 10 : maxfnum.Value + 10;
  73. OrderData addrow = new OrderData();
  74. desdatadt.Add(addrow);
  75. EntityHelper.CopyPropertyValue(datarow, addrow);
  76. addrow.ID = id;
  77. addrow.PreID = mstid;
  78. addrow.ParentID = preid;
  79. addrow.FNum = num;
  80. addrow.EntityStatusID = 1;
  81. List<OrderData> ttrows = orgdatadt.Where(t => t.ParentID == datarow.ID).OrderBy(t => t.FNum).ToList();//orgdatadt.Select("上级ID=" + datarow["ID"].ToString(), "序号");
  82. foreach (OrderData temprow in ttrows)
  83. {
  84. int result = AddOrderDataForEntity(temprow, orgdatadt, desdatadt, mstid, id);
  85. if (result <= 0)
  86. return result;
  87. }
  88. return 1;
  89. }
  90. }
  91. }