Example #1
0
        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 }));
            }
        }
Example #2
0
 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"));
     }
 }
Example #3
0
        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. ");
            }
        }
Example #4
0
        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. ");
            }
        }