public ActionResult EditOption(int id)
        {
            if (!Services.Authorizer.Authorize(Permissions.OShopPermissions.ManageShopSettings, T("Not allowed to manage shipping options")))
            {
                return(new HttpUnauthorizedResult());
            }

            var option   = _shippingService.GetOption(id);
            var provider = _contentManager.Get <ShippingProviderPart>(option.ShippingProviderId);

            var model = new ShippingOptionEditViewModel()
            {
                OptionId           = option.Id,
                ShippingProviderId = provider.Id,
                Name           = option.Name,
                Enabled        = option.Enabled,
                ShippingZoneId = (option.ShippingZoneRecord != null ? option.ShippingZoneRecord.Id : 0),
                Priority       = option.Priority,
                Price          = option.Price,
                Contraints     = option.Contraints,
            };

            InitEditViewModel(ref model, provider);

            return(View(model));
        }
        public ActionResult EditOption(ShippingOptionEditViewModel model)
        {
            if (!Services.Authorizer.Authorize(Permissions.OShopPermissions.ManageShopSettings, T("Not allowed to manage shipping options")))
            {
                return(new HttpUnauthorizedResult());
            }

            var provider = _contentManager.Get <ShippingProviderPart>(model.ShippingProviderId);

            if (ModelState.IsValid)
            {
                var option = _shippingService.GetOption(model.OptionId);

                option.Name               = model.Name;
                option.Enabled            = model.Enabled;
                option.ShippingZoneRecord = (model.ShippingZoneId > 0 ? _shippingService.GetZone(model.ShippingZoneId) : null);
                option.Priority           = model.Priority;
                option.Price              = model.Price;
                option.Contraints         = model.Contraints;

                _shippingService.UpdateOption(option);

                Services.Notifier.Information(T("Shipping option {0} successfully updated.", model.Name));

                return(Redirect(Url.ItemAdminUrl(provider)));
            }

            InitEditViewModel(ref model, provider);

            return(View(model));
        }
        public ActionResult AddContraint(ShippingOptionEditViewModel model)
        {
            if (!Services.Authorizer.Authorize(Permissions.OShopPermissions.ManageShopSettings, T("Not allowed to manage shipping options")))
                return new HttpUnauthorizedResult();

            var provider = _contentManager.Get<ShippingProviderPart>(model.ShippingProviderId);

            model.Contraints.Add(model.NewContraint);
            model.NewContraint = new ShippingContraint();

            InitEditViewModel(ref model, provider);

            return View(model);
        }
        public ActionResult AddContraint(ShippingOptionEditViewModel model)
        {
            if (!Services.Authorizer.Authorize(Permissions.OShopPermissions.ManageShopSettings, T("Not allowed to manage shipping options")))
            {
                return(new HttpUnauthorizedResult());
            }

            var provider = _contentManager.Get <ShippingProviderPart>(model.ShippingProviderId);

            model.Contraints.Add(model.NewContraint);
            model.NewContraint = new ShippingContraint();

            InitEditViewModel(ref model, provider);

            return(View(model));
        }
        public ActionResult DeleteContraint(ShippingOptionEditViewModel model)
        {
            if (!Services.Authorizer.Authorize(Permissions.OShopPermissions.ManageShopSettings, T("Not allowed to manage shipping options")))
            {
                return(new HttpUnauthorizedResult());
            }

            var provider = _contentManager.Get <ShippingProviderPart>(model.ShippingProviderId);

            int index;

            if (Int32.TryParse(Services.WorkContext.HttpContext.Request.Form["submit.Delete"], out index))
            {
                model.Contraints.RemoveAt(index);
            }

            InitEditViewModel(ref model, provider);

            return(View(model));
        }
 private void InitEditViewModel(ref ShippingOptionEditViewModel model, ShippingProviderPart provider)
 {
     model.ShippingProviderName = provider.As <ITitleAspect>().Title;
     model.ReturnUrl            = Url.ItemAdminUrl(provider);
     model.ShippingZones        = _shippingService.GetZones();
 }
 private void InitEditViewModel(ref ShippingOptionEditViewModel model, ShippingProviderPart provider)
 {
     model.ShippingProviderName = provider.As<ITitleAspect>().Title;
     model.ReturnUrl = Url.ItemAdminUrl(provider);
     model.ShippingZones = _shippingService.GetZones();
 }
        public ActionResult EditOption(ShippingOptionEditViewModel model)
        {
            if (!Services.Authorizer.Authorize(Permissions.OShopPermissions.ManageShopSettings, T("Not allowed to manage shipping options")))
                return new HttpUnauthorizedResult();

            var provider = _contentManager.Get<ShippingProviderPart>(model.ShippingProviderId);

            if (ModelState.IsValid) {
                var option = _shippingService.GetOption(model.OptionId);

                option.Name = model.Name;
                option.Enabled = model.Enabled;
                option.ShippingZoneRecord = (model.ShippingZoneId > 0 ? _shippingService.GetZone(model.ShippingZoneId) : null);
                option.Priority = model.Priority;
                option.Price = model.Price;
                option.Contraints = model.Contraints;

                _shippingService.UpdateOption(option);

                Services.Notifier.Information(T("Shipping option {0} successfully updated.", model.Name));

                return Redirect(Url.ItemAdminUrl(provider));
            }

            InitEditViewModel(ref model, provider);

            return View(model);
        }
        public ActionResult EditOption(int id)
        {
            if (!Services.Authorizer.Authorize(Permissions.OShopPermissions.ManageShopSettings, T("Not allowed to manage shipping options")))
                return new HttpUnauthorizedResult();

            var option = _shippingService.GetOption(id);
            var provider = _contentManager.Get<ShippingProviderPart>(option.ShippingProviderId);

            var model = new ShippingOptionEditViewModel() {
                OptionId = option.Id,
                ShippingProviderId = provider.Id,
                Name = option.Name,
                Enabled = option.Enabled,
                ShippingZoneId = (option.ShippingZoneRecord != null ? option.ShippingZoneRecord.Id : 0),
                Priority = option.Priority,
                Price = option.Price,
                Contraints = option.Contraints,
            };

            InitEditViewModel(ref model, provider);

            return View(model);
        }
        public ActionResult DeleteContraint(ShippingOptionEditViewModel model)
        {
            if (!Services.Authorizer.Authorize(Permissions.OShopPermissions.ManageShopSettings, T("Not allowed to manage shipping options")))
                return new HttpUnauthorizedResult();

            var provider = _contentManager.Get<ShippingProviderPart>(model.ShippingProviderId);

            int index;
            if (Int32.TryParse(Services.WorkContext.HttpContext.Request.Form["submit.Delete"], out index)) {
                model.Contraints.RemoveAt(index);
            }

            InitEditViewModel(ref model, provider);

            return View(model);
        }