public ActionResult OptionEditPopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }

            var sao = _specificationAttributeService.GetSpecificationAttributeOptionById(model.Id);

            if (sao == null)
            {
                //No specification attribute option found with the specified id
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                sao = model.ToEntity(sao);
                _specificationAttributeService.UpdateSpecificationAttributeOption(sao);

                UpdateOptionLocales(sao, model);

                ViewBag.RefreshPage = true;
                ViewBag.btnId       = btnId;
                ViewBag.formId      = formId;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        public virtual IActionResult OptionEditPopup(SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }

            var sao = _specificationAttributeService.GetSpecificationAttributeOptionById(model.Id);

            if (sao == null)
            {
                //No specification attribute option found with the specified id
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                sao = model.ToEntity(sao);
                //clear "Color" values if it's disabled
                if (!model.EnableColorSquaresRgb)
                {
                    sao.ColorSquaresRgb = null;
                }

                _specificationAttributeService.UpdateSpecificationAttributeOption(sao);

                UpdateOptionLocales(sao, model);

                ViewBag.RefreshPage = true;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        public async Task <IActionResult> OptionEditPopup(SpecificationAttributeOptionModel model)
        {
            var specificationAttribute = await _specificationAttributeService.GetSpecificationAttributeByOptionId(model.Id);

            var sao = specificationAttribute.SpecificationAttributeOptions.Where(x => x.Id == model.Id).FirstOrDefault();

            if (sao == null)
            {
                //No specification attribute option found with the specified id
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                sao        = model.ToEntity(sao);
                sao.SeName = SeoExtensions.GetSeName(string.IsNullOrEmpty(sao.SeName) ? sao.Name : sao.SeName, _seoSettings);

                //clear "Color" values if it's disabled
                if (!model.EnableColorSquaresRgb)
                {
                    sao.ColorSquaresRgb = null;
                }

                await _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute);

                ViewBag.RefreshPage = true;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        public ActionResult OptionCreatePopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog))
            {
                return(AccessDeniedView());
            }

            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);

            if (specificationAttribute == null)
            {
                throw new ArgumentException("No specification attribute found with the specified id");
            }

            if (ModelState.IsValid)
            {
                var sao = model.ToEntity();

                _specificationAttributeService.InsertSpecificationAttributeOption(sao);
                UpdateOptionLocales(sao, model);

                ViewBag.RefreshPage = true;
                ViewBag.btnId       = btnId;
                ViewBag.formId      = formId;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        public ActionResult OptionEditPopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            var sao = _specificationAttributeService.GetSpecificationAttributeOptionById(model.Id);

            if (sao == null)
            {
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                sao = model.ToEntity(sao);

                try
                {
                    _specificationAttributeService.UpdateSpecificationAttributeOption(sao);

                    UpdateOptionLocales(sao, model);
                }
                catch (Exception ex)
                {
                    ModelState.AddModelError("", ex.Message);
                    return(View(model));
                }

                ViewBag.RefreshPage = true;
                ViewBag.btnId       = btnId;
                ViewBag.formId      = formId;
                return(View(model));
            }

            return(View(model));
        }
Exemple #6
0
        public async Task <IActionResult> OptionCreatePopup(SpecificationAttributeOptionModel model)
        {
            var specificationAttribute = await _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);

            if (specificationAttribute == null)
            {
                //No specification attribute found with the specified id
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                var sao = model.ToEntity();
                //clear "Color" values if it's disabled
                if (!model.EnableColorSquaresRgb)
                {
                    sao.ColorSquaresRgb = null;
                }

                specificationAttribute.SpecificationAttributeOptions.Add(sao);
                await _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute);

                ViewBag.RefreshPage = true;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        public IActionResult OptionEditPopup(SpecificationAttributeOptionModel model)
        {
            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);
            var sao = specificationAttribute.SpecificationAttributeOptions.Where(x => x.Id == model.Id).FirstOrDefault();

            if (sao == null)
            {
                //No specification attribute option found with the specified id
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                sao = model.ToEntity(sao);
                //clear "Color" values if it's disabled
                if (!model.EnableColorSquaresRgb)
                {
                    sao.ColorSquaresRgb = null;
                }

                _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute);

                ViewBag.RefreshPage = true;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        public ActionResult OptionCreatePopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }

            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);

            if (specificationAttribute == null)
            {
                //No specification attribute found with the specified id
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                var sao = model.ToEntity();
                sao.Id      = specificationAttribute.SpecificationAttributeOptions.Count > 0 ? specificationAttribute.SpecificationAttributeOptions.Max(x => x.Id) + 1 : 1;
                sao._id     = ObjectId.GenerateNewId().ToString();
                sao.Locales = UpdateOptionLocales(sao, model);
                specificationAttribute.SpecificationAttributeOptions.Add(sao);
                _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute);
                //_specificationAttributeService.InsertSpecificationAttributeOption(sao);

                ViewBag.RefreshPage = true;
                ViewBag.btnId       = btnId;
                ViewBag.formId      = formId;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
Exemple #9
0
        public async Task <IActionResult> OptionCreatePopup(SpecificationAttributeOptionModel model)
        {
            var specificationAttribute = await _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);

            if (specificationAttribute == null)
            {
                //No specification attribute found with the specified id
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                var sao = model.ToEntity();
                sao.SeName = SeoExtensions.GetSeName(string.IsNullOrEmpty(sao.SeName) ? sao.Name : sao.SeName, _seoSettings.ConvertNonWesternChars, _seoSettings.AllowUnicodeCharsInUrls, _seoSettings.SeoCharConversion);
                //clear "Color" values if it's disabled
                if (!model.EnableColorSquaresRgb)
                {
                    sao.ColorSquaresRgb = null;
                }

                specificationAttribute.SpecificationAttributeOptions.Add(sao);
                await _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute);

                ViewBag.RefreshPage = true;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
Exemple #10
0
        public ActionResult OptionCreatePopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog))
            {
                return(AccessDeniedView());
            }

            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);

            if (specificationAttribute == null)
            {
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                if (model.Multiple)
                {
                    if (!AddMultipleOptionNames(model))
                    {
                        return(View(model));
                    }
                }
                else
                {
                    var sao = model.ToEntity();

                    try
                    {
                        _specificationAttributeService.InsertSpecificationAttributeOption(sao);
                    }
                    catch (Exception exception)
                    {
                        ModelState.AddModelError("", exception.Message);
                        return(View(model));
                    }

                    try
                    {
                        UpdateOptionLocales(sao, model);
                    }
                    catch (Exception)
                    {
                        // TODO: what?
                    }
                }

                ViewBag.RefreshPage = true;
                ViewBag.btnId       = btnId;
                ViewBag.formId      = formId;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
Exemple #11
0
        public virtual IActionResult OptionEditPopup(SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }

            //try to get a specification attribute option with the specified id
            var specificationAttributeOption = _specificationAttributeService.GetSpecificationAttributeOptionById(model.Id);

            if (specificationAttributeOption == null)
            {
                return(RedirectToAction("List"));
            }

            //try to get a specification attribute with the specified id
            var specificationAttribute = _specificationAttributeService
                                         .GetSpecificationAttributeById(specificationAttributeOption.SpecificationAttributeId);

            if (specificationAttribute == null)
            {
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                specificationAttributeOption = model.ToEntity(specificationAttributeOption);

                //clear "Color" values if it's disabled
                if (!model.EnableColorSquaresRgb)
                {
                    specificationAttributeOption.ColorSquaresRgb = null;
                }

                _specificationAttributeService.UpdateSpecificationAttributeOption(specificationAttributeOption);

                UpdateOptionLocales(specificationAttributeOption, model);

                ViewBag.RefreshPage = true;

                return(View(model));
            }

            //prepare model
            model = _specificationAttributeModelFactory
                    .PrepareSpecificationAttributeOptionModel(model, specificationAttribute, specificationAttributeOption, true);

            //if we got this far, something failed, redisplay form
            return(View(model));
        }
        public ActionResult OptionCreatePopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);

            if (specificationAttribute == null)
            {
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                if (model.Multiple)
                {
                    if (!AddMultipleOptionNames(model))
                    {
                        return(View(model));
                    }
                }
                else
                {
                    var sao = model.ToEntity();

                    MediaHelper.UpdatePictureTransientStateFor(sao, m => m.PictureId);

                    try
                    {
                        _specificationAttributeService.InsertSpecificationAttributeOption(sao);
                    }
                    catch (Exception ex)
                    {
                        ModelState.AddModelError("", ex.Message);
                        return(View(model));
                    }

                    try
                    {
                        UpdateOptionLocales(sao, model);
                    }
                    catch { }
                }

                ViewBag.RefreshPage = true;
                ViewBag.btnId       = btnId;
                ViewBag.formId      = formId;
                return(View(model));
            }

            return(View(model));
        }
Exemple #13
0
        public virtual ActionResult OptionEditPopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }

            var sao = _specificationAttributeService.GetSpecificationAttributeOptionById(model.Id);

            if (sao == null)
            {
                //No specification attribute option found with the specified id
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                sao = model.ToEntity(sao);
                ////clear "Color" values if it's disabled 原来处理颜色值的代码
                //if (!model.EnableColorSquaresRgb)
                //    sao.ColorSquaresRgb = null;

                //ColorSquaresRgb字段即可以保存颜色值也可以保存上传的图片Id
                if (model.EnableUploadImage)
                {
                    model.EnableColorSquaresRgb = false;
                    sao.ColorSquaresRgb         = model.PictureId.ToString();
                }
                else
                {
                    if (!model.EnableColorSquaresRgb)
                    {
                        sao.ColorSquaresRgb = null;
                    }
                }
                _specificationAttributeService.UpdateSpecificationAttributeOption(sao);

                UpdateOptionLocales(sao, model);

                ViewBag.RefreshPage = true;
                ViewBag.btnId       = btnId;
                ViewBag.formId      = formId;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
Exemple #14
0
        public virtual async Task <IActionResult> OptionCreatePopup(SpecificationAttributeOptionModel model)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }

            //try to get a specification attribute with the specified id
            var specificationAttribute = await _specificationAttributeService.GetSpecificationAttributeByIdAsync(model.SpecificationAttributeId);

            if (specificationAttribute == null)
            {
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                var sao = model.ToEntity <SpecificationAttributeOption>();

                //clear "Color" values if it's disabled
                if (!model.EnableColorSquaresRgb)
                {
                    sao.ColorSquaresRgb = null;
                }

                await _specificationAttributeService.InsertSpecificationAttributeOptionAsync(sao);

                await UpdateOptionLocalesAsync(sao, model);

                ViewBag.RefreshPage = true;

                return(View(model));
            }

            //prepare model
            model = await _specificationAttributeModelFactory.PrepareSpecificationAttributeOptionModelAsync(model, specificationAttribute, null, true);

            //if we got this far, something failed, redisplay form
            return(View(model));
        }
Exemple #15
0
        public ActionResult OptionCreatePopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog))
            {
                return(AccessDeniedView());
            }

            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);

            if (specificationAttribute == null)
            {
                //No specification attribute found with the specified id
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                // codehint: sm-edit
                if (model.Multiple)
                {
                    AddMultipleOptionNames(model);
                }
                else
                {
                    var sao = model.ToEntity();

                    _specificationAttributeService.InsertSpecificationAttributeOption(sao);
                    UpdateOptionLocales(sao, model);
                }

                ViewBag.RefreshPage = true;
                ViewBag.btnId       = btnId;
                ViewBag.formId      = formId;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        public ActionResult OptionEditPopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
            {
                return(AccessDeniedView());
            }

            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);
            var sao = specificationAttribute.SpecificationAttributeOptions.Where(x => x.Id == model.Id).FirstOrDefault();

            if (sao == null)
            {
                //No specification attribute option found with the specified id
                return(RedirectToAction("List"));
            }

            if (ModelState.IsValid)
            {
                sao         = model.ToEntity(sao);
                sao.Locales = UpdateOptionLocales(sao, model);
                //clear "Color" values if it's disabled
                if (!model.EnableColorSquaresRgb)
                {
                    sao.ColorSquaresRgb = null;
                }

                _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute);

                ViewBag.RefreshPage = true;
                ViewBag.btnId       = btnId;
                ViewBag.formId      = formId;
                return(View(model));
            }

            //If we got this far, something failed, redisplay form
            return(View(model));
        }
        public ActionResult OptionCreatePopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog))
                return AccessDeniedView();

            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);
            if (specificationAttribute == null)
                throw new ArgumentException("No specification attribute found with the specified id");

            if (ModelState.IsValid)
            {
                var sao = model.ToEntity();

                _specificationAttributeService.InsertSpecificationAttributeOption(sao);
                UpdateOptionLocales(sao, model);

                ViewBag.RefreshPage = true;
                ViewBag.btnId = btnId;
                ViewBag.formId = formId;
                return View(model);
            }

            //If we got this far, something failed, redisplay form
            return View(model);
        }
        public ActionResult OptionEditPopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog))
                return AccessDeniedView();

            var sao = _specificationAttributeService.GetSpecificationAttributeOptionById(model.Id);
            if (sao == null)
                //No specification attribute option found with the specified id
                return RedirectToAction("List");

            if (ModelState.IsValid)
            {
                sao = model.ToEntity(sao);
                _specificationAttributeService.UpdateSpecificationAttributeOption(sao);

                UpdateOptionLocales(sao, model);

                ViewBag.RefreshPage = true;
                ViewBag.btnId = btnId;
                ViewBag.formId = formId;
                return View(model);
            }

            //If we got this far, something failed, redisplay form
            return View(model);
        }
        public ActionResult OptionCreatePopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
                return AccessDeniedView();

            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);
            if (specificationAttribute == null)
                //No specification attribute found with the specified id
                return RedirectToAction("List");

            if (ModelState.IsValid)
            {
                var sao = model.ToEntity();
                sao.Id = specificationAttribute.SpecificationAttributeOptions.Count > 0 ? specificationAttribute.SpecificationAttributeOptions.Max(x => x.Id) + 1 : 1;
                sao._id = ObjectId.GenerateNewId().ToString();
                sao.Locales = UpdateOptionLocales(sao, model);
                specificationAttribute.SpecificationAttributeOptions.Add(sao);
                _specificationAttributeService.UpdateSpecificationAttribute(specificationAttribute);
                //_specificationAttributeService.InsertSpecificationAttributeOption(sao);

                ViewBag.RefreshPage = true;
                ViewBag.btnId = btnId;
                ViewBag.formId = formId;
                return View(model);
            }

            //If we got this far, something failed, redisplay form
            return View(model);
        }
        public ActionResult OptionCreatePopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageAttributes))
                return AccessDeniedView();

            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);
            if (specificationAttribute == null)
                //No specification attribute found with the specified id
                return RedirectToAction("List");

            if (ModelState.IsValid)
            {
                var sao = model.ToEntity();
                //clear "Color" values if it's disabled
                if (!model.EnableColorSquaresRgb)
                    sao.ColorSquaresRgb = null;

                _specificationAttributeService.InsertSpecificationAttributeOption(sao);
                UpdateOptionLocales(sao, model);

                ViewBag.RefreshPage = true;
                ViewBag.btnId = btnId;
                ViewBag.formId = formId;
                return View(model);
            }

            //If we got this far, something failed, redisplay form
            return View(model);
        }
        public ActionResult OptionCreatePopup(string btnId, string formId, SpecificationAttributeOptionModel model)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageCatalog))
                return AccessDeniedView();

            var specificationAttribute = _specificationAttributeService.GetSpecificationAttributeById(model.SpecificationAttributeId);
            if (specificationAttribute == null)
                return RedirectToAction("List");

            if (ModelState.IsValid)
            {
                if (model.Multiple)
                {
                    AddMultipleOptionNames(model);
                }
                else
                {
                    var sao = model.ToEntity();

                    _specificationAttributeService.InsertSpecificationAttributeOption(sao);
                    UpdateOptionLocales(sao, model);
                }

                ViewBag.RefreshPage = true;
                ViewBag.btnId = btnId;
                ViewBag.formId = formId;
                return View(model);
            }

            //If we got this far, something failed, redisplay form
            return View(model);
        }