public async Task UpdateIndividual_OK() { //Arrange var mockLogger = new Mock <ILogger <CustomerService> >(); var mockCustomerApi = new Mock <customerApi.ICustomerApiClient>(); var mockReferenceDataApi = new Mock <referenceDataApi.IReferenceDataApiClient>(); var mockSalesPersonApi = new Mock <salesPersonApi.ISalesPersonApiClient>(); var svc = new CustomerService( mockLogger.Object, Mapper.CreateMapper(), mockCustomerApi.Object, mockReferenceDataApi.Object, mockSalesPersonApi.Object ); //Act var viewModel = new IndividualCustomerViewModel { AccountNumber = "AW00000001" }; await svc.UpdateIndividual(viewModel); //Assert mockCustomerApi.Verify(x => x.UpdateCustomerAsync( It.IsAny <string>(), It.IsAny <customerApi.Models.UpdateCustomer.Customer>()) ); }
public ActionResult SaveIndividualCustomer(IndividualCustomerViewModel model, ActionType actionType) { Logger.Debug("SaveIndividualCustomer|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")); } IIndividualCustomerVO customer = (IndividualCustomerVO) CustomerMapper.Map(model, typeof(IndividualCustomerViewModel), typeof(IndividualCustomerVO)); customer.LastUpdateBy = User.Identity.Name; if (customer.Id == 0) { customer = CustomerBO.CreateIndividualCustomer(customer); } else { IIndividualCustomerVO sessionCustomer = (IIndividualCustomerVO)Session["SessionCustomer"]; customer = CustomerBO.UpdateIndividualCustomer(sessionCustomer, customer); } model = (IndividualCustomerViewModel) CustomerMapper.Map(customer, typeof(IIndividualCustomerVO), typeof(IndividualCustomerViewModel)); 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("ViewIndividualDetails")); } return(RedirectToAction("Welcome", "Home")); }
public async Task UpdateIndividual(IndividualCustomerViewModel viewModel) { logger.LogInformation("UpdateIndividual called with view model {@ViewModel}", viewModel); Guard.Against.Null(viewModel, nameof(viewModel)); var individualCustomer = mapper.Map <ApiClients.CustomerApi.Models.UpdateCustomer.IndividualCustomer>(viewModel); logger.LogInformation("Calling Customer API to update customer"); await customerApiClient.UpdateCustomerAsync(viewModel.AccountNumber, individualCustomer); logger.LogInformation("Customer successfully updated"); }