Beispiel #1
0
        public ActionResult SaveCompanyCustomer(CompanyCustomerViewModel model, ActionType actionType)
        {
            Logger.Debug("SaveCompanyCustomer|Action type: " + actionType);

            if (actionType == ActionType.Save)
            {
                try
                {
                    if (CustomerBO.CheckIfIdCombinationExists(
                            Int32.Parse(model.IdType), model.IdNumber, model.IdIssuedCountry, model.Id))
                    {
                        TempData["MessageType"]        = MessageType.Error;
                        TempData["MessageDescription"] = CommonResources.MessageIdAlreadyExists;

                        TempData["CustomerDetailModel"] = model;
                        return(RedirectToAction("ViewCustomerDetails"));
                    }

                    ICompanyCustomerVO customer = (CompanyCustomerVO)
                                                  CustomerMapper.Map(model, typeof(CompanyCustomerViewModel), typeof(CompanyCustomerVO));
                    customer.LastUpdateBy = User.Identity.Name;

                    if (customer.Id == 0)
                    {
                        customer = CustomerBO.CreateCompanyCustomer(customer);
                    }
                    else
                    {
                        ICompanyCustomerVO sessionCustomer = (ICompanyCustomerVO)Session["SessionCustomer"];
                        customer = CustomerBO.UpdateCompanyCustomer(sessionCustomer, customer);
                    }

                    model = (CompanyCustomerViewModel)
                            CustomerMapper.Map(customer, typeof(ICompanyCustomerVO), typeof(CompanyCustomerViewModel));

                    Session["SessionCustomer"]     = customer;
                    TempData["MessageType"]        = MessageType.Success;
                    TempData["MessageDescription"] = CommonResources.MessageSaveSuccess;
                }
                catch (Exception exception)
                {
                    Logger.Debug("Exception encountered: " + exception.StackTrace);

                    TempData["MessageType"]        = MessageType.Error;
                    TempData["MessageDescription"] = CommonResources.MessageSaveError + exception.Message;
                }

                TempData["CustomerDetailModel"] = model;
                return(RedirectToAction("ViewCompanyDetails"));
            }

            return(RedirectToAction("Welcome", "Home"));
        }