Exemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            _customerRepository = _customerRepository == null ? new CustomerRepository() : _customerRepository;

            AttachGridViewEvents();
            AttachDetailsViewEvents();

            // manage data display based on the postback
            if (!IsPostBack)
            {
                BindDataToSelectList();
                BindDataToGridView();
            }
            else
            {
                CustomerDetailView.DataSource = null;           // remove bound data in the details view
                CustomerDetailView.DataBind();
                CustomerByCountryGrid.SelectedIndex = -1;       // select nothing
                if (CountriesDDL.SelectedValue != "--- select a country ---")
                {
                    BindDataToGridViewByCountry();
                }
                else
                {
                    BindDataToGridView();
                }
            }
        }
        public void AddDeliveryAddress()
        {
            Task <string>      content            = this.Request.Content.ReadAsStringAsync();
            CustomerDetailView customerDetailView = JsonConvert.DeserializeObject <CustomerDetailView>(content.Result);

            this.customerController.AddDeliveryAddressForAPI(customerDetailView);
        }
Exemplo n.º 3
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.º 4
0
        private void CustomerDetailView_ItemCommand(object sender, DetailsViewCommandEventArgs e)
        {
            if (e.CommandName == "New")
            {
                // add mode
                CustomerDetailView.ChangeMode(DetailsViewMode.Insert);
                CustomerDetailView.HeaderText = "Add new customer";
            }
            else if (e.CommandName == "Edit")
            {
                // set to edit mode
                CustomerDetailView.ChangeMode(DetailsViewMode.Edit);

                // get selected customer Id
                string customerID = CustomerDetailView.HeaderText.Replace("Read only mode - Customer ID : ", "");
                // rebind data
                Customer customer = _customerRepository.GetCustomerByID(customerID);
                CustomerDetailView.HeaderText = "Edit mode - Customer ID : " + customer.CustomerID;
                CustomerDetailView.DataSource = new List <Customer> {
                    customer
                };
                CustomerDetailView.DataBind();
            }
            else if (e.CommandName == "Cancel")
            {
                // unbind any data on cancel button press
                CustomerDetailView.DataSource = null;
                CustomerDetailView.DataBind();
            }
            else if (e.CommandName == "Insert")
            {
                // insert data
            }
        }
        public void AddDeliveryAddressForAPI(CustomerDetailView customerDetailView)
        {
            DeliveryAddressAddRequest request = new DeliveryAddressAddRequest();

            request.Address = customerDetailView.Customer.DeliveryAddressBook.First();
            request.CustomerIdentityToken = customerDetailView.Customer.IdentityToken;
            _customerService.AddDeliveryAddress(request);
        }
Exemplo n.º 6
0
 public CustomerDetailViewModel(CustomerDto operation)
 {
     CustomerServiceAdapter = new ServiceAdapter <ICustomerService>();
     Model = new CustomerDetailModel {
         Customer = new CustomerDto()
     };
     if (operation != null)
     {
         Model.Customer = operation;
     }
     View = new CustomerDetailView {
         DataContext = this
     };
 }
Exemplo n.º 7
0
 public CustomerDetailViewModel(CustomerDto operation)
 {
     CustomerServiceInstance = ClientServiceLocator.Instance().ContractLocator.CustomerServices;
     Model = new CustomerDetailModel {
         Customer = new CustomerDto()
     };
     if (operation != null)
     {
         Model.Customer = operation;
     }
     View = new CustomerDetailView {
         DataContext = this
     };
 }
        public ActionResult DeliveryAddresses()
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest();

            customerRequest.CustomerIdentityToken = _formsAuthentication.GetAuthorisationToken();

            GetCustomerResponse response = _customerService.GetCustomer(customerRequest);

            CustomerDetailView customerDetailView = new CustomerDetailView();

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

            return(View("DeliveryAddresses", customerDetailView));
        }
        public CustomerDetailView DetailForAPI(string token)
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest();

            customerRequest.CustomerIdentityToken = token;

            GetCustomerResponse response = _customerService.GetCustomer(customerRequest);

            CustomerDetailView customerDetailView = new CustomerDetailView();

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

            return(customerDetailView);
        }
Exemplo n.º 10
0
        public JsonResult GetDetail(System.String id)
        {
            CustomerDetailView vm      = new CustomerDetailView();
            GetCustomerRequest request = new GetCustomerRequest();

            request.CustomerID = id;
            GetCustomerResponse response = _customerService.GetCustomer(request);

            if (response.CustomerFound)
            {
                vm = response.Customer.ConvertToCustomerDetailView();
            }

            return(Json(vm, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 11
0
        public ActionResult <CustomerDetailView> Detail()
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest();

            customerRequest.CustomerIdentityToken =
                _formsAuthentication.GetAuthenticationToken(HttpContext.User);

            GetCustomerResponse response = _customerService.GetCustomer(customerRequest);

            CustomerDetailView customerDetailView = new CustomerDetailView();

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

            return(customerDetailView);
        }
Exemplo n.º 12
0
        public async Task <bool> CreateCustomerAsync(CustomerDetailView customerDetail)
        {
            if (customerDetail == null)
            {
                throw new RestException(HttpStatusCode.BadRequest, new { customer = "Wrong data posted" });
            }

            //Add Customer Info
            var customer = new SODtaModel.Customer()
            {
                Id          = 0,
                Name        = customerDetail.Name,
                Email       = customerDetail.Email,
                YearofBirth = customerDetail.YearofBirth,
            };
            await _unitOfWork.CustomerRepository.AddAsync(customer);

            // Add Customer Address List
            if (customerDetail.AddressLst != null && customerDetail.AddressLst.Count > 0)
            {
                foreach (var address in customerDetail.AddressLst)
                {
                    CustomerAddress a = new CustomerAddress()
                    {
                        Customer    = customer,
                        AddressType = CodeTranslation.ToAddressTypeCode(address.AddressType),
                        Address1    = address.Address1,
                        Address2    = address.Address2,
                        City        = address.City,
                        State       = address.State,
                        ZipCode     = address.ZipCode,
                        PhoneNumber = address.PhoneNumber,
                        ShopName    = address.ShopName,
                        Id          = 0
                    };

                    await _unitOfWork.CustomerAddressRepository.AddAsync(a);
                }
            }

            //Save
            var success = await _unitOfWork.SaveAsync() > 0;

            return(success);
        }
Exemplo n.º 13
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.º 15
0
 // on gird view selection
 private void CustomerByCountryGrid_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         string   selectedCustomerID = CustomerByCountryGrid.SelectedDataKey.Value.ToString();
         Customer customer           = _customerRepository.GetCustomerByID(selectedCustomerID);
         CustomerDetailView.ChangeMode(DetailsViewMode.ReadOnly);
         CustomerDetailView.HeaderText = "Read only mode - Customer ID : " + customer.CustomerID;                                    // Edit and delete purposes
         CustomerDetailView.DataSource = new List <Customer> {
             customer
         };
         CustomerDetailView.DataBind();
     }
     catch (Exception)
     {
         throw;
     }
 }
Exemplo n.º 16
0
        public JsonResult Create(CustomerDetailView vm)
        {
            CreateCustomerRequest request = new CreateCustomerRequest();

            request.CompanyName  = vm.CompanyName;
            request.ContactName  = vm.ContactName;
            request.ContactTitle = vm.ContactTitle;
            request.Address      = vm.Address;
            request.City         = vm.City;
            request.Region       = vm.Region;
            request.PostalCode   = vm.PostalCode;
            request.Country      = vm.Country;
            request.Phone        = vm.Phone;
            request.Fax          = vm.Fax;
            CreateCustomerResponse response = _customerService.CreateCustomer(request);

            return(Json(response));
        }
Exemplo n.º 17
0
        public async Task <CustomerDetailView> GetDetailAsync(int customerId)
        {
            CustomerDetailView result = new CustomerDetailView();
            var customerInfo          = await _unitOfWork.CustomerRepository.GetAsync(customerId);

            if (customerInfo == null)
            {
                throw new RestException(HttpStatusCode.NotFound, new { customer = "Not found" });
            }

            result.Id         = customerInfo.Id;
            result.Name       = customerInfo.Name;
            result.Email      = customerInfo.Name;
            result.AddressLst = new List <CustomerAddressView>();
            var addressLst = await _unitOfWork.CustomerAddressRepository.GetByCustomerAsync(customerInfo.Id);

            foreach (var address in addressLst)
            {
                if (address.AddressType != Address_Type.ClosedShop)
                {
                    CustomerAddressView a = new CustomerAddressView()
                    {
                        Id          = address.Id,
                        AddressType = CodeTranslation.ToAddressTypeDescription(address.AddressType),
                        Address1    = address.Address1,
                        Address2    = address.Address2,
                        ShopName    = address.ShopName,
                        CustomerId  = address.CustomerId,
                        City        = address.City,
                        State       = address.State,
                        ZipCode     = address.ZipCode,
                    };

                    result.AddressLst.Add(a);
                }
            }

            return(result);
        }
Exemplo n.º 18
0
        public async Task <IActionResult> DeliveryAddresses()
        {
            GetCustomerRequest customerRequest = new GetCustomerRequest();

            customerRequest.CustomerEmail = _cookieAuthentication.GetAuthenticationToken();
            GetCustomerResponse response = _customerService.GetCustomer(customerRequest);

            if (response.CustomerFound)
            {
                CustomerDetailView customerDetailView = new CustomerDetailView();
                customerDetailView.Customer      = response.Customer;
                customerDetailView.BasketSummary = GetBasketSummaryView();

                return(View("DeliveryAddresses", customerDetailView));
            }
            else
            {
                await _cookieAuthentication.SignOut();

                return(RedirectToAction("Register", "AccountRegister"));
            }
        }
Exemplo n.º 19
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));
        }