public void GenerateCollectPlan_Temp(string billNo) { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(); try { var varData = from a in ctx.HR_Train_Plan join b in ctx.HR_Train_PlanCourse on a.BillNo equals b.BillNo where a.BillNo == billNo select new { YearValue = a.YearValue, MonthValue = b.MonthValue, CourseID = b.CourseID, PlanCourseID = b.ID }; foreach (var item in varData) { HR_Train_PlanCollect collect = new HR_Train_PlanCollect(); Guid guid = Guid.NewGuid(); collect.CourseID = item.CourseID; collect.ID = guid; collect.MonthValue = (int?)item.MonthValue; collect.PlanBillNo = billNo; collect.PlanType = CE_HR_Train_PlanType.临时培训计划.ToString(); collect.YearValue = (int?)item.YearValue; ctx.HR_Train_PlanCollect.InsertOnSubmit(collect); ctx.SubmitChanges(); var varWorkID = from a in ctx.HR_Train_PlanUser where a.PlanCourseID == item.PlanCourseID select a; foreach (var workID in varWorkID) { HR_Train_PlanCollectUser user = new HR_Train_PlanCollectUser(); user.CollectID = guid; user.WorkID = workID.WorkID; ctx.HR_Train_PlanCollectUser.InsertOnSubmit(user); } ctx.SubmitChanges(); } ctx.SubmitChanges(); ctx.Transaction.Commit(); } catch (Exception ex) { ctx.Transaction.Rollback(); throw new Exception(ex.Message); } }
public void SaveCollect(List <View_HR_Train_PlanCollect> lstPlan) { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(); try { foreach (View_HR_Train_PlanCollect plan in lstPlan) { HR_Train_PlanCollect collect = new HR_Train_PlanCollect(); var varData = from a in ctx.HR_Train_PlanCollect where a.ID == plan.ID select a; if (varData.Count() == 1) { varData.Single().MonthValue = plan.月份; } else { throw new Exception("数据异常"); } ctx.SubmitChanges(); } ctx.SubmitChanges(); ctx.Transaction.Commit(); } catch (Exception ex) { ctx.Transaction.Rollback(); throw new Exception(ex.Message); } }
public void GenerateCollectPlan_Year(List <string> lstBillNo, int yearValue) { DepotManagementDataContext ctx = CommentParameter.DepotDataContext; ctx.Connection.Open(); ctx.Transaction = ctx.Connection.BeginTransaction(); try { var varCollect = from a in ctx.HR_Train_PlanCollect where a.YearValue == yearValue && a.PlanType == CE_HR_Train_PlanType.年度培训计划.ToString() select a; ctx.HR_Train_PlanCollect.DeleteAllOnSubmit(varCollect); ctx.SubmitChanges(); var varData_Dept = (from a in ctx.HR_Train_Plan join b in ctx.HR_Train_PlanCourse on a.BillNo equals b.BillNo join c in ctx.HR_Train_PlanUser on b.ID equals c.PlanCourseID join d in ctx.HR_Train_Rel_CommCourse on b.CourseID equals d.CourseID into lef from LF in lef.DefaultIfEmpty() where LF.CommCourseID == null && lstBillNo.Contains(a.BillNo) select new { CourseID = b.CourseID, WorkID = c.WorkID, MonthValue = b.MonthValue.ToString() }).Distinct(); var varData_Comm = (from a in ctx.HR_Train_Plan join b in ctx.HR_Train_PlanCourse on a.BillNo equals b.BillNo join c in ctx.HR_Train_PlanUser on b.ID equals c.PlanCourseID join d in ctx.HR_Train_Rel_CommCourse on b.CourseID equals d.CourseID into lef from LF in lef.DefaultIfEmpty() where LF.CommCourseID != null && lstBillNo.Contains(a.BillNo) select new { CourseID = LF.CommCourseID, WorkID = c.WorkID, MonthValue = "" }).Distinct(); var varDataTemp = varData_Comm.Union(varData_Dept); var varTemp1 = (from a in varDataTemp select new { a.CourseID, a.MonthValue }).Distinct(); foreach (var item in varTemp1) { HR_Train_PlanCollect collect = new HR_Train_PlanCollect(); Guid guid = Guid.NewGuid(); collect.CourseID = item.CourseID; collect.ID = guid; collect.MonthValue = item.MonthValue == "" ? null : (int?)Convert.ToInt32(item.MonthValue); collect.PlanBillNo = null; collect.PlanType = CE_HR_Train_PlanType.年度培训计划.ToString(); collect.YearValue = yearValue; ctx.HR_Train_PlanCollect.InsertOnSubmit(collect); ctx.SubmitChanges(); var varTemp2 = (from a in varDataTemp where a.CourseID == item.CourseID && a.MonthValue == item.MonthValue select a.WorkID).Distinct().ToList(); foreach (string workID in varTemp2) { HR_Train_PlanCollectUser user = new HR_Train_PlanCollectUser(); user.CollectID = guid; user.WorkID = workID; ctx.HR_Train_PlanCollectUser.InsertOnSubmit(user); } ctx.SubmitChanges(); } var varPlan = from a in ctx.HR_Train_Plan where lstBillNo.Contains(a.BillNo) select a; foreach (HR_Train_Plan item in varPlan) { item.IsCollect = true; } ctx.SubmitChanges(); ctx.Transaction.Commit(); } catch (Exception ex) { ctx.Transaction.Rollback(); throw new Exception(ex.Message); } }