public ActionResult Detail(CustomerView customerView)
        {
            ModifyCustomerRequest request = new ModifyCustomerRequest();

            request.CustomerIdentityToken = _formsAuthentication.GetAuthorisationToken();
            request.Email = customerView.EmailAddress;
            request.FirstName = customerView.NameFirstName;
            request.SecondName = customerView.NameSecondName;

            ModifyCustomerResponse response = _customerService.ModifyCustomer(request);

            CustomerDetailView customerDetailView = new CustomerDetailView();

            customerDetailView.Customer = response.Customer;
            customerDetailView.BasketSummary = base.GetBasketSummaryView();

            return View(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.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;
        }