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; }
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); }
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); } }