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")); }