public static void SaveImportingBonus() { foreach (var item in EditingItems) { var planHeader = DC.BonusPlanHeaders.FirstOrDefault(h => h.BonusPlanName.ToUpper() == item.BonusHeaderPlanName.ToUpper()); if (planHeader == null) { planHeader = new BonusPlanHeader { BonusPlanName = item.BonusHeaderPlanName, CreatedDate = DateTime.Now, DatabaseCode = UserHelper.DatabaseCode == null ? "HTFDNF" : UserHelper.DatabaseCode, FromDate = item.BonusHeaderPlanMonth == DateTime.MinValue ? DateTime.Now : item.BonusHeaderPlanMonth, PlanType = BonusType.Vehicle, Status = BonusStatus.Normal, UserName = UserHelper.Username, }; DC.BonusPlanHeaders.InsertOnSubmit(planHeader); } var planDetail = DC.BonusPlanDetails.Where(p => p.DealerCode.ToUpper() == item.DealerCode.ToUpper() && p.BonusPlanHeader.BonusPlanName.ToUpper() == planHeader.BonusPlanName.ToUpper()).FirstOrDefault(); if (planDetail == null) { planDetail = new BonusPlanDetail { BonusPlanHeader = planHeader, CreatedDate = DateTime.Now, Status = BonusStatus.Normal, PlanType = BonusType.Vehicle, }; DC.BonusPlanDetails.InsertOnSubmit(planDetail); } planDetail.Amount = item.Amount; planDetail.BonusDate = item.BonusDate; planDetail.DealerCode = item.DealerCode; planDetail.Description = item.Description; planDetail.UserName = UserHelper.Username; planDetail.BonusSourceId = item.BonusSourceId; } DC.SubmitChanges(); }
public static BonusPlanHeader SaveEditingPlan(long PId, string planName, string type, string status, string desc, DateTime fromDate, DateTime toDate) { var plan = DC.BonusPlanHeaders.SingleOrDefault(p => p.BonusPlanHeaderId == PId); var eitems = GetEditingItems(PId); var ditems = GetDeletingItems(PId); if (eitems.Count() > 0 || ditems.Count() > 0) { DC.BonusPlanDetails.AttachAll(ditems, false); DC.BonusPlanDetails.DeleteAllOnSubmit(ditems); if (plan == null) { plan = new BonusPlanHeader(); plan.UserName = UserHelper.Username; plan.CreatedDate = DateTime.Now; plan.DatabaseCode = UserHelper.DatabaseCode == null ? "HTFDNF" : UserHelper.DatabaseCode; DC.BonusPlanHeaders.InsertOnSubmit(plan); } plan.BonusPlanName = planName; plan.Description = desc; plan.FromDate = fromDate; if (toDate > DateTime.MinValue) plan.ToDate = toDate; plan.PlanType = type; if (PId == 0) plan.Status = status; foreach (var i in eitems) { if (i.BonusPlanDetailId == 0) { i.BonusPlanHeader = plan; DC.BonusPlanDetails.InsertOnSubmit(i); } else { var d = DC.BonusPlanDetails.SingleOrDefault(p => p.BonusPlanDetailId == i.BonusPlanDetailId); if (d != null) { d.Amount = i.Amount; d.BonusDate = i.BonusDate; d.BonusPlanHeaderId = i.BonusPlanHeaderId; d.BonusSourceId = i.BonusSourceId; d.DealerCode = i.DealerCode; d.Description = i.Description; d.PlanType = i.PlanType; d.Status = i.Status; d.UserName = i.UserName; } } } DC.SubmitChanges(); return plan; } else return null; }