예제 #1
0
        public async Task DeleteIndividualCustomerPhoneNumber(DeleteIndividualCustomerPhoneNumberViewModel viewModel)
        {
            logger.LogInformation("DeleteIndividualCustomerPhoneNumber called");

            logger.LogInformation("Getting customer for {AccountNumber}", viewModel.AccountNumber);
            var customer = await customerApiClient.GetCustomerAsync <Infrastructure.ApiClients.CustomerApi.Models.GetCustomer.StoreCustomer>(
                viewModel.AccountNumber
                );

            logger.LogInformation("Retrieved customer {@Customer}", customer);
            Guard.Against.Null(customer, nameof(customer));

            var customerToUpdate = mapper.Map <Infrastructure.ApiClients.CustomerApi.Models.UpdateCustomer.IndividualCustomer>(customer);

            Guard.Against.Null(customerToUpdate, nameof(customerToUpdate));

            var personPhone = customerToUpdate.Person.PhoneNumbers.FirstOrDefault(p =>
                                                                                  p.PhoneNumberType == viewModel.PhoneNumberType && p.PhoneNumber == viewModel.PhoneNumber
                                                                                  );

            Guard.Against.Null(personPhone, nameof(personPhone));

            customerToUpdate.Person.PhoneNumbers.Remove(personPhone);

            logger.LogInformation("Updating customer {@Customer}", customer);
            await customerApiClient.UpdateCustomerAsync(viewModel.AccountNumber, customerToUpdate);

            logger.LogInformation("Customer updated successfully");
        }
예제 #2
0
        public DeleteIndividualCustomerPhoneNumberViewModel DeleteIndividualCustomerPhoneNumber(string accountNumber, string customerName, string phoneNumberType, string phoneNumber)
        {
            logger.LogInformation("DeleteIndividualCustomerPhoneNumber called");

            var vm = new DeleteIndividualCustomerPhoneNumberViewModel
            {
                AccountNumber   = accountNumber,
                CustomerName    = customerName,
                PhoneNumberType = phoneNumberType,
                PhoneNumber     = phoneNumber
            };

            return(vm);
        }