예제 #1
0
        public IActionResult DeliveryAddressAdd(EditDeliveryAddressViewModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            ValidateDeliveryAddressModel(model);

            if (ModelState.IsValid)
            {
                if (_accountProvider.AddDeliveryAddress(UserId(), new DeliveryAddress(model.AddressId,
                                                                                      model.Name, model.AddressLine1, model.AddressLine2, model.AddressLine3, model.City,
                                                                                      model.County, model.Postcode, model.Country, model.PostageCost)))
                {
                    GrowlAdd(Languages.LanguageStrings.DeliveryAddressCreated);

                    if (!String.IsNullOrEmpty(model.ReturnUrl))
                    {
                        return(new RedirectResult(model.ReturnUrl, false));
                    }

                    return(new RedirectResult("/Account/DeliveryAddress", false));
                }

                ModelState.AddModelError(String.Empty, Languages.LanguageStrings.FailedToUpdateDeliveryAddress);
            }

            PrepareDeliveryAddressModel(ref model, null);

            return(View(model));
        }
예제 #2
0
        public IActionResult DeliveryAddressEdit(EditDeliveryAddressViewModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            if (_accountProvider.GetDeliveryAddress(UserId(), model.AddressId) == null)
            {
                return(new RedirectResult("/Account/DeliveryAddress"));
            }

            ValidateDeliveryAddressModel(model);

            if (ModelState.IsValid)
            {
                if (_accountProvider.SetDeliveryAddress(UserId(), new DeliveryAddress(model.AddressId,
                                                                                      model.Name, model.AddressLine1, model.AddressLine2, model.AddressLine3, model.City,
                                                                                      model.County, model.Postcode, model.Country, model.PostageCost)))
                {
                    GrowlAdd(Languages.LanguageStrings.DeliveryAddressUpdated);
                    return(new RedirectResult("/Account/DeliveryAddress", false));
                }

                ModelState.AddModelError(String.Empty, Languages.LanguageStrings.FailedToUpdateDeliveryAddress);
            }

            model.Breadcrumbs = GetBreadcrumbs();
            model.CartSummary = GetCartSummary();

            return(View(model));
        }
예제 #3
0
        public IActionResult DeliveryAddressAdd(EditDeliveryAddressViewModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            ValidateDeliveryAddressModel(model);

            if (ModelState.IsValid)
            {
                if (_accountProvider.AddDeliveryAddress(UserId(), new DeliveryAddress(model.AddressId,
                                                                                      model.Name, model.AddressLine1, model.AddressLine2, model.AddressLine3, model.City,
                                                                                      model.County, model.Postcode, model.Country, model.PostageCost)))
                {
                    GrowlAdd("Delivery address successfully created");
                    return(new RedirectResult("/Account/DeliveryAddress", false));
                }

                ModelState.AddModelError(String.Empty, "Failed to update delivery address");
            }

            PrepareDeliveryAddressModel(ref model, null);

            return(View(model));
        }
예제 #4
0
        public IActionResult DeliveryAddressAdd(string returnUrl)
        {
            EditDeliveryAddressViewModel model = new EditDeliveryAddressViewModel(returnUrl);

            PrepareDeliveryAddressModel(ref model, null);

            return(View(model));
        }
예제 #5
0
        public IActionResult DeliveryAddressEdit(int id)
        {
            DeliveryAddress address = _accountProvider.GetDeliveryAddress(UserId(), id);

            if (address == null)
            {
                return(new RedirectResult("/Account/DeliveryAddress", false));
            }

            EditDeliveryAddressViewModel model = new EditDeliveryAddressViewModel(GetModelData());

            PrepareDeliveryAddressModel(ref model, address);

            return(View(model));
        }