public override ValidationResult SaveDelete(PaymentItemsViewModel formData, ModelStateDictionary modelState) { ValidationResult result = new ValidationResult(); result = ValidateFormData(formData, modelState); if (result.ErrorFlag) { return(result); } try { using (TransactionScope scope = new TransactionScope()) { var entPYMItems = new PAYMENT_ITEMS(); //Copy data from viewmodel to model - for header MVMMappingService.MoveData(formData, entPYMItems); using (var context = new PYMFEEEntities()) { //Delete header context.Entry(entPYMItems).State = System.Data.Entity.EntityState.Deleted; context.SaveChanges(); //Delete item context.PAYMENT_ITEMS_CHAGE.RemoveRange(context.PAYMENT_ITEMS_CHAGE.Where(m => m.COMPANY_CODE == entPYMItems.COMPANY_CODE && m.PAYMENT_ITEMS_ID == entPYMItems.ID)); context.SaveChanges(); } //Commit Header and Item scope.Complete(); result.Message = ResourceText.SuccessfulDelete; result.MessageType = "S"; } } catch (Exception ex) { result.Message = ex.ToString(); result.ModelStateErrorList.Add(new ModelStateError("", ex.ToString())); result.ErrorFlag = true; } return(result); }
public override ValidationResult SaveEdit(PaymentItemsViewModel formData, ModelStateDictionary modelState) { ValidationResult result = new ValidationResult(); try { result = ValidateFormData(formData, modelState); //Error if (result.ErrorFlag) { return(result); } using (TransactionScope scope = new TransactionScope()) { PAYMENT_ITEMS entPYMItems = new PAYMENT_ITEMS(); //Copy data from viewmodel to model - for header MVMMappingService.MoveData(formData, entPYMItems); //Save Header using (var context = new PYMFEEEntities()) { context.Entry(entPYMItems).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); #region Update any Table //Update //#region //FEE_ACCRUED_PLAN_ITEM //var entaccr = context.FEE_ACCRUED_PLAN_ITEM.Where(m => m.PAYMENT_ITEMS_NAME == entPYMItems.PAYMENT_ITEMS_NAME && m.COMPANY_CODE == entPYMItems.COMPANY_CODE).ToList(); //foreach (var accr in entaccr) //{ // FEE_ACCRUED_PLAN_ITEM ent_accr_item = new FEE_ACCRUED_PLAN_ITEM(); // ent_accr_item = context.FEE_ACCRUED_PLAN_ITEM.Find(accr.ACCRUED_ITEM_ID) ; // ent_accr_item.PAYMENT_ITEMS_NAME = entPYMItems.PAYMENT_ITEMS_NAME; // ent_accr_item.CCT_CODE = entPYMItems.CCT_CODE; // ent_accr_item.COST_CENTER = entPYMItems.COST_CENTER; // ent_accr_item.FUND_CODE = entPYMItems.FUND_CODE; // ent_accr_item.GL_ACCOUNT = entPYMItems.GL_ACCOUNT; // ent_accr_item.CHANNELS = entPYMItems.CHANNELS; // context.FEE_ACCRUED_PLAN_ITEM.Attach(ent_accr_item); // context.Entry(ent_accr_item).State = System.Data.Entity.EntityState.Modified; // context.SaveChanges(); //} //#endregion //#region//FEE_ACCRUED_PLAN_ITEM_SUB //var entaccrsub = context.FEE_ACCRUED_PLAN_ITEM_SUB.Where(m => m.PAYMENT_ITEMS_NAME == entPYMItems.PAYMENT_ITEMS_NAME && m.COMPANY_CODE == entPYMItems.COMPANY_CODE).ToList(); //foreach (var accr in entaccrsub) //{ // FEE_ACCRUED_PLAN_ITEM_SUB ent_accr_item = new FEE_ACCRUED_PLAN_ITEM_SUB(); // ent_accr_item = context.FEE_ACCRUED_PLAN_ITEM_SUB.Find(accr.ID); // ent_accr_item.PAYMENT_ITEMS_NAME = entPYMItems.PAYMENT_ITEMS_NAME; // ent_accr_item.CCT_CODE = entPYMItems.CCT_CODE; // ent_accr_item.COST_CENTER = entPYMItems.COST_CENTER; // ent_accr_item.FUND_CODE = entPYMItems.FUND_CODE; // ent_accr_item.GL_ACCOUNT = entPYMItems.GL_ACCOUNT; // ent_accr_item.CHANNELS = entPYMItems.CHANNELS; // context.FEE_ACCRUED_PLAN_ITEM_SUB.Attach(ent_accr_item); // context.Entry(ent_accr_item).State = System.Data.Entity.EntityState.Modified; // context.SaveChanges(); //} //#endregion //#region //FEE_ACCRUED_PLAN_UPLOAD_ITEM_LOG //var entaccrup = context.FEE_ACCRUED_PLAN_UPLOAD_ITEM_LOG.Where(m => m.FEE == entPYMItems.PAYMENT_ITEMS_NAME && m.COMPANY_CODE == entPYMItems.COMPANY_CODE).ToList(); //foreach (var accr in entaccrup) //{ // FEE_ACCRUED_PLAN_UPLOAD_ITEM_LOG ent_accr_item = new FEE_ACCRUED_PLAN_UPLOAD_ITEM_LOG(); // ent_accr_item = context.FEE_ACCRUED_PLAN_UPLOAD_ITEM_LOG.Find(accr.ID); // ent_accr_item.FEE = entPYMItems.PAYMENT_ITEMS_NAME; // ent_accr_item.CCT_CODE = entPYMItems.CCT_CODE; // ent_accr_item.FUND_CODE = entPYMItems.FUND_CODE; // ent_accr_item.GL_ACCOUNT = entPYMItems.GL_ACCOUNT; // context.FEE_ACCRUED_PLAN_UPLOAD_ITEM_LOG.Attach(ent_accr_item); // context.Entry(ent_accr_item).State = System.Data.Entity.EntityState.Modified; // context.SaveChanges(); //} //#endregion //#region//FEE_INVOICE //var entinv = context.FEE_INVOICE.Where(m => m.PAYMENT_ITEMS_NAME == entPYMItems.PAYMENT_ITEMS_NAME && m.COMPANY_CODE == entPYMItems.COMPANY_CODE).ToList(); //foreach (var accr in entinv) //{ // FEE_INVOICE ent_accr_item = new FEE_INVOICE(); // ent_accr_item = context.FEE_INVOICE.Find(accr.ID); // ent_accr_item.PAYMENT_ITEMS_NAME = entPYMItems.PAYMENT_ITEMS_NAME; // ent_accr_item.CCT_CODE = entPYMItems.CCT_CODE; // ent_accr_item.COST_CENTER = entPYMItems.COST_CENTER; // ent_accr_item.FUND_CODE = entPYMItems.FUND_CODE; // ent_accr_item.GL_ACCOUNT = entPYMItems.GL_ACCOUNT; // ent_accr_item.CHANNELS = entPYMItems.CHANNELS; // context.FEE_INVOICE.Attach(ent_accr_item); // context.Entry(ent_accr_item).State = System.Data.Entity.EntityState.Modified; // context.SaveChanges(); //} //#endregion //#region //FEE_INVOICE_ITEM //var entinvitem = context.FEE_INVOICE_ITEM.Where(m => m.PAYMENT_ITEMS_NAME == entPYMItems.PAYMENT_ITEMS_NAME && m.COMPANY_CODE == entPYMItems.COMPANY_CODE).ToList(); //foreach (var accr in entinvitem) //{ // FEE_INVOICE_ITEM ent_accr_item = new FEE_INVOICE_ITEM(); // ent_accr_item = context.FEE_INVOICE_ITEM.Find(accr.INV_ITEM_NO); // ent_accr_item.PAYMENT_ITEMS_NAME = entPYMItems.PAYMENT_ITEMS_NAME; // ent_accr_item.COST_CENTER = entPYMItems.COST_CENTER; // ent_accr_item.FUND_CODE = entPYMItems.FUND_CODE; // ent_accr_item.GL_ACCOUNT = entPYMItems.GL_ACCOUNT; // ent_accr_item.CHANNELS = entPYMItems.CHANNELS; // context.FEE_INVOICE_ITEM.Attach(ent_accr_item); // context.Entry(ent_accr_item).State = System.Data.Entity.EntityState.Modified; // context.SaveChanges(); //} //#endregion //#region//FEE_INVOICE_UPLOAD_ITEM_LOG //var entinvtup = context.FEE_INVOICE_UPLOAD_ITEM_LOG.Where(m => m.FEE == entPYMItems.PAYMENT_ITEMS_NAME && m.COMPANY_CODE == entPYMItems.COMPANY_CODE).ToList(); //foreach (var accr in entinvtup) //{ // FEE_INVOICE_UPLOAD_ITEM_LOG ent_accr_item = new FEE_INVOICE_UPLOAD_ITEM_LOG(); // ent_accr_item = context.FEE_INVOICE_UPLOAD_ITEM_LOG.Find(accr.ID); // ent_accr_item.FEE = entPYMItems.PAYMENT_ITEMS_NAME; // ent_accr_item.CCT_CODE = entPYMItems.CCT_CODE; // ent_accr_item.FUND_CODE = entPYMItems.FUND_CODE; // ent_accr_item.GL_ACCOUNT = entPYMItems.GL_ACCOUNT; // ent_accr_item.CHANNELS = entPYMItems.CHANNELS; // context.FEE_INVOICE_UPLOAD_ITEM_LOG.Attach(ent_accr_item); // context.Entry(ent_accr_item).State = System.Data.Entity.EntityState.Modified; // context.SaveChanges(); //} //#endregion #endregion //Save Item int sequence = 1; foreach (var item in formData.pymItemsChargeList) { var entPYMItemsCharge = new PAYMENT_ITEMS_CHAGE(); item.PAYMENT_ITEMS_ID = entPYMItems.ID; item.SEQUENCE = sequence; item.COMPANY_CODE = formData.COMPANY_CODE; item.PAYMENT_ITEMS_NAME = formData.PAYMENT_ITEMS_NAME; MVMMappingService.MoveData(item, entPYMItemsCharge); if (item.DeleteFlag) { ValidationResult resultdel = new ValidationResult(); resultdel = ValidateDeleteData(formData); //Error if (resultdel.ErrorFlag) { return(resultdel); } else { if (entPYMItemsCharge.ID != 0) { //Delete item context.Entry(entPYMItemsCharge).State = System.Data.Entity.EntityState.Deleted; context.SaveChanges(); } } } else { entPYMItemsCharge.SEQUENCE = sequence; sequence++; if (entPYMItemsCharge.ID != 0) { context.Entry(entPYMItemsCharge).State = System.Data.Entity.EntityState.Modified; } else { context.PAYMENT_ITEMS_CHAGE.Add(entPYMItemsCharge); } } context.SaveChanges(); } } //Commit Header and Item scope.Complete(); result.Message = ResourceText.SuccessfulEdit; result.MessageType = "S"; } } catch (Exception ex) { result.Message = ex.ToString(); result.ModelStateErrorList.Add(new ModelStateError("", ex.ToString())); result.ErrorFlag = true; } return(result); }
public override ValidationResult SaveCreate(PaymentItemsViewModel formData, ModelStateDictionary modelState) { ValidationResult result = new ValidationResult(); try { result = ValidateFormData(formData, modelState); //Error if (result.ErrorFlag) { return(result); } using (TransactionScope scope = new TransactionScope()) { var entPYMItems = new PAYMENT_ITEMS(); //Generate Auto Code GeneratePaymentItemCode(formData); //Copy data from viewmodel to model - for header MVMMappingService.MoveData(formData, entPYMItems); //Save Header using (var context = new PYMFEEEntities()) { context.PAYMENT_ITEMS.Add(entPYMItems); context.SaveChanges(); //Save Item //Copy data from viewmodel to model - for line item int sequence = 1; foreach (var item in formData.pymItemsChargeList) { if (item.DeleteFlag) { continue; } var entPYMItemsCharge = new PAYMENT_ITEMS_CHAGE(); item.PAYMENT_ITEMS_ID = entPYMItems.ID; item.SEQUENCE = sequence; item.COMPANY_CODE = formData.COMPANY_CODE; item.PAYMENT_ITEMS_NAME = formData.PAYMENT_ITEMS_NAME; MVMMappingService.MoveData(item, entPYMItemsCharge); context.PAYMENT_ITEMS_CHAGE.Add(entPYMItemsCharge); context.SaveChanges(); sequence++; } } scope.Complete(); result.Message = ResourceText.SuccessfulSave; result.MessageType = "S"; } } catch (Exception ex) { result.Message = ex.ToString(); result.ModelStateErrorList.Add(new ModelStateError("", ex.ToString())); result.ErrorFlag = true; } return(result); }