Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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));
        }