Exemple #1
0
        public virtual async Task <ActionResult> AddAttribute(AddAttributeViewModel viewModel)
        {
            var categryId = viewModel.CategoryId;

            if (ModelState.IsValid)
            {
                var status = _attributeService.Add(viewModel);
                if (!status)
                {
                    ModelState.AddModelError("Name", "این ویژگی قبلا برای این گروه ثبت شده است");
                    return(View(viewModel));
                }
                if (viewModel.CascadeAddForChildren)
                {
                    var category = _categoryService.GetCategoryWithChildrenById(viewModel.CategoryId);
                    AddAttributeToChildrenCascade(viewModel, category);
                }
                await _unitOfWork.SaveChangesAsync();

                return(RedirectToAction(MVC.Admin.Category.ActionNames.AddAttribute, MVC.Admin.Category.Name,
                                        new { categoryId = categryId }));
            }
            PopulateCategoriesDropDownListForAttribute(categryId);
            return(View(viewModel));
        }
        public ActionResult AddAttributePartial(int?id)
        {
            var model = new AddAttributeViewModel()
            {
            };

            ViewBag.count = id;
            return(PartialView("AddAttributePartial", model));
        }
        public AddAttributeWindow(AddAttributeViewModel viewModel)
        {
            InitializeComponent();
            if (viewModel == null)
            {
                throw new ArgumentNullException("viewModel");
            }

            this.viewModel = viewModel;
            DataContext = this.viewModel;
        }
Exemple #4
0
        public ActionResult AddAttributePartial(int?id)
        {
            if (id == null)
            {
                return(View("Error"));
            }
            var model = new AddAttributeViewModel()
            {
                Type = InformationType.Other, Default = ""
            };

            return(PartialView("AddAttributePartial", model));
        }
        public bool Add(AddAttributeViewModel viewModel)
        {
            if (ExisByName(viewModel.Name, viewModel.CategoryId))
            {
                return(false);
            }
            var attribute = new Attribute
            {
                Name       = viewModel.Name,
                CategoryId = viewModel.CategoryId,
                Type       = AttributeType.Text
            };

            _attributes.Add(attribute);
            return(true);
        }
Exemple #6
0
        private void AddAttributeToChildrenCascade(AddAttributeViewModel viewModel, Category category)
        {
            if (category == null)
            {
                return;
            }
            if (!category.Children.Any())
            {
                return;
            }
            var childern = _categoryService.GetByParenId(category.Id);

            foreach (var child in childern.Where(child => !_categoryService.HasAttributeByName(viewModel.Name, child.Id)))
            {
                viewModel.CategoryId = child.Id;
                _attributeService.Add(viewModel);
            }
        }