public ActionResult Save(SurchargeFormViewModel viewModel) { try { if (!ModelState.IsValid && viewModel.Id > 0) { ViewBag.Error = "Please check the entered values. "; return(View("SurchargeForm", _surchargeRepository.SurchargeToEdit(viewModel.Id))); } if (!ModelState.IsValid && viewModel.Id == 0) { ViewBag.Error = "Please check the entered values. "; return(View("SurchargeForm", _surchargeRepository.InitializeNewSurchargeFormViewModel(viewModel))); } _surchargeRepository.SaveSurcharge(viewModel, viewModel.Id == 0 ? "Create" : "Edit"); return(RedirectToAction("Details", "Terminals", new { id = viewModel.TerminalId })); } catch (Exception ex) { ViewBag.Error = ex.Message + ", Please check the entered values. "; return(RedirectToAction("Details", "Terminals", new { id = viewModel.Id })); } }
public ActionResult Create(int id) { try { if (id > 0) { SurchargeFormViewModel viewModel = _surchargeRepository.RenderSurchargeFormViewModel(id); if (viewModel != null) { return(PartialView("Modal/AddSurCharge", viewModel)); } ViewBag.Error = "Model not found. "; } return(PartialView("Modal/AddSurCharge", null)); } catch (Exception ex) { ViewBag.Error = ex.Message; return(View("Error")); } }
public SurchargeFormViewModel InitializeNewSurchargeFormViewModel(SurchargeFormViewModel viewModel) { try { if (viewModel == null) { throw new Exception("Model not found. "); } viewModel.Terminal = Context.Terminals.SingleOrDefault(x => x.Id == viewModel.TerminalId && !x.Deleted); viewModel.BankAccounts = Context.BankAccounts.Where(x => !x.Deleted && x.PartnerId == viewModel.Terminal.PartnerId).ToList(); viewModel.StartDate = new DateTime(DateTime.UtcNow.Year, DateTime.UtcNow.Month, DateTime.UtcNow.Day + 1); viewModel.StopDate = new DateTime(DateTime.Now.Year + 1, DateTime.Now.Month, DateTime.Now.Day); viewModel.SettledType = SurchargeSettled.SettledType.Daily; return(viewModel); } catch (Exception ex) { throw new Exception(ex.Message + "Surcharge not found. "); } }
public void SaveSurcharge(SurchargeFormViewModel viewModel, string action) { try { CheckSplitAmountsEntry.CheckSurcharge(viewModel.TerminalId, viewModel.Id, viewModel.SplitAmount); if (viewModel.StartDate > viewModel.StopDate) { throw new Exception("Stop Date must be after Start Date. "); } var surchargeDefault = Table.SingleOrDefault(x => x.BankAccountId == viewModel.BankAccountId); if (action == "Edit") { var surcharge = Table.SingleOrDefault(x => x.Id == viewModel.Id && !x.Deleted); if (surcharge == null) { throw new Exception("Surcharge not found. "); } if (surchargeDefault != null) { if (surchargeDefault.Id != surcharge.Id && !surcharge.Deleted) { throw new Exception("This Terminal already has this Surcharge account. "); } if (surcharge.Deleted) { Table.Remove(surchargeDefault); } } Mapper.Map(viewModel, surcharge); Edit(surcharge); } else { if (surchargeDefault != null) { if (!surchargeDefault.Deleted) { throw new Exception("This Terminal already has this Surcharge account. "); } Table.Remove(surchargeDefault); } var result = Mapper.Map <SurchargeFormViewModel, Surcharge>(viewModel); Add(result); } } catch (Exception ex) { throw new Exception(ex.Message + "Please check entered values. "); } }