public async Task <IActionResult> Detail(CustomerView customerView) { ModifyCustomerRequest request = new ModifyCustomerRequest(); request.NewEmail = customerView.Email; request.FirstName = customerView.FirstName; request.SecondName = customerView.SecondName; request.CurrentEmail = _cookieAuthentication.GetAuthenticationToken(); CustomerDetailView customerDetailView = new CustomerDetailView(); customerDetailView.BasketSummary = GetBasketSummaryView(); try { ModifyCustomerResponse response = _customerService.ModifyCustomer(request); customerDetailView.Customer = response.Customer; await _cookieAuthentication.SetAuthenticationToken(customerDetailView.Customer.Email, new List <string> { "Customer" }); } catch (EntityBaseIsInvalidException ex) { ViewData["IssueMessage"] = ex.Message; customerDetailView.Customer = customerView; } return(View(customerDetailView)); }
public ModifyCustomerResponse ModifyCustomer(ModifyCustomerRequest request) { ModifyCustomerResponse response = new ModifyCustomerResponse(); Customer customer = _customerRepository.FindBy(request.CurrentEmail); customer.FirstName = request.FirstName; customer.SecondName = request.SecondName; customer.Email = request.NewEmail; customer.ThrowExceptionIfInvalid(); _customerRepository.Save(customer); _customerRepository.SaveEmail(customer.UserId, customer.Email); _uow.Commit(); response.Customer = _mapper.Map <Customer, CustomerView>(customer); return(response); }
public ActionResult Detail(CustomerView customerView) { ModifyCustomerRequest request = new ModifyCustomerRequest(); request.CustomerIdentityToken = _formsAuthentication.GetAuthenticationToken(); request.Email = customerView.Email; request.FirstName = customerView.FirstName; request.SecondName = customerView.SecondName; ModifyCustomerResponse response = _customerService.ModifyCustomer(request); CustomerDetailView customerDetailView = new CustomerDetailView(); customerDetailView.Customer = response.Customer; customerDetailView.BasketSummary = base.GetBasketSummaryView(); return(View(customerDetailView)); }
public CustomerDetailView SaveDetailsForAPI(CustomerView customerView) { ModifyCustomerRequest request = new ModifyCustomerRequest(); request.CustomerIdentityToken = customerView.IdentityToken; request.Email = customerView.Email; request.FirstName = customerView.FirstName; request.SecondName = customerView.SecondName; ModifyCustomerResponse response = _customerService.ModifyCustomer(request); CustomerDetailView customerDetailView = new CustomerDetailView(); customerDetailView.Customer = response.Customer; customerDetailView.BasketSummary = base.GetBasketSummaryView(); return(customerDetailView); }
public ModifyCustomerResponse ModifyCustomer(ModifyCustomerRequest request) { ModifyCustomerResponse response = new ModifyCustomerResponse(); Customer customer = _customerRepository.FindBy(request.CustomerIdentityToken); customer.FirstName = request.FirstName; customer.SecondName = request.SecondName; customer.Email = request.Email; ThrowExceptionIfCustomerIsInvalid(customer); _customerRepository.Save(customer); _uow.Commit(); response.Customer = customer.ConvertToCustomerDetailView(); return(response); }
public ModifyCustomerResponse ModifyCustomer(ModifyCustomerRequest request) { ModifyCustomerResponse response = new ModifyCustomerResponse(); Customer customer = _customerRepository .FindBy(request.CustomerID); customer.Id = request.CustomerID; customer.CompanyName = request.CompanyName; customer.ContactName = request.ContactName; customer.ContactTitle = request.ContactTitle; customer.Address = request.Address; customer.City = request.City; customer.Region = request.Region; customer.PostalCode = request.PostalCode; customer.Country = request.Country; customer.Phone = request.Phone; customer.Fax = request.Fax; customer.CustomerDemographics = request.CustomerDemographics.ConvertToCustomerDemographics(); customer.Orders = request.Orders.ConvertToOrders(); if (customer.GetBrokenRules().Count() > 0) { response.Errors = customer.GetBrokenRules().ToList(); } else { try { _customerRepository.Save(customer); _uow.Commit(); response.Errors = new List <BusinessRule>(); } catch (Exception ex) { response.Errors = new List <BusinessRule>(); response.Errors.Add(new BusinessRule("DAL", "DAL_ERROR: " + ex.Message)); } } return(response); }
public ModifyCustomerResponse ModifyCustomer(ModifyCustomerRequest request) { ModifyCustomerResponse response = new ModifyCustomerResponse(); Customer customer = _customerRepository.FindBy(request.CustomerIdentityToken); var email = new EmailAddress(request.Email); var name = new Name(request.FirstName, request.SecondName); customer.ChangeEmailTo(email); customer.ChangeNameTo(name); ThrowExceptionIfCustomerIsInvalid(customer); _customerRepository.Save(customer); _uow.Commit(); response.Customer = customer.ConvertToCustomerDetailView(); return(response); }
public JsonResult Update(CustomerDetailView vm) { GetCustomerRequest request = new GetCustomerRequest(); request.CustomerID = vm.CustomerID; ModifyCustomerRequest updateRequest = _customerService.GetCustomer(request).Customer.ConvertToModifyCustomerRequest(); updateRequest.CustomerID = vm.CustomerID; updateRequest.CompanyName = vm.CompanyName; updateRequest.ContactName = vm.ContactName; updateRequest.ContactTitle = vm.ContactTitle; updateRequest.Address = vm.Address; updateRequest.City = vm.City; updateRequest.Region = vm.Region; updateRequest.PostalCode = vm.PostalCode; updateRequest.Country = vm.Country; updateRequest.Phone = vm.Phone; updateRequest.Fax = vm.Fax; ModifyCustomerResponse response = _customerService.ModifyCustomer(updateRequest); return(Json(response)); }