public async Task <IActionResult> Index() { ViewBag.AttributeCategories = _attributeService.GetAllAttributes(); ManageAttributesViewModel mavm = new ManageAttributesViewModel() { AttributeSelectList = new SelectList(_attributeService.GetAllAttributes(), "Id", "Name"), AttributeyMultiSelectList = new MultiSelectList(_attributeService.GetAllAttributes(), "Id", "Name"), AttributeValuesMultiSelectList = new MultiSelectList((from av in _attributeService.GetAllAttributeValues() select new { av.Id, AttributeInCategory = _attributeService.FindAttributeById(av.AttributeId).Name + "/" + av.Name }), "Id", "AttributeInCategory" ), ProductMultiSelectList = new MultiSelectList(await _productService.GetAllProducts(), "Id", "Name"), LinksMultiList = new MultiSelectList((from pav in _attributeService.GetAllProductAttributeValues() select new { pav.Id, Association = _attributeService.FindAttributeValueById(pav.AttributeValueId).Name + " -> " + _productService.FindProductById(pav.ProductId).Name }), "Id", "Association" ) }; return(View(mavm)); }
public async Task <IActionResult> CreateAttributeValue(string name, ManageAttributesViewModel model) { AttributeValue attrVal = new AttributeValue() { Name = name, AttributeId = model.SelectedAttributeId }; await _attributeService.AddAttributeValue(attrVal); return(RedirectToAction("Index")); }
public async Task <IActionResult> UnlinkAttributeValues(ManageAttributesViewModel model) { ICollection <ProductAttributeValue> pavsToRemove = new List <ProductAttributeValue>(); foreach (var productAttributeValueId in model.IdsOfSelectedLinks) { ProductAttributeValue pav = _attributeService.FindProductAttributeValueById(productAttributeValueId); pavsToRemove.Add(pav); } await _attributeService.RemoveProductAttributeValueRange(pavsToRemove); return(RedirectToAction("Index")); }
public async Task <IActionResult> DeleteAttributeValues(ManageAttributesViewModel model) { ICollection <AttributeValue> attributeValuesToRemove = new List <AttributeValue>(); foreach (var id in model.IdsOfSelectedAttributeValues) { AttributeValue attrVal = _attributeService.FindAttributeValueById(id); attributeValuesToRemove.Add(attrVal); } await _attributeService.RemoveAttributeValueRange(attributeValuesToRemove); return(RedirectToAction("Index")); }
public async Task <IActionResult> DeleteAttributes(ManageAttributesViewModel model) { ICollection <Models.Attribute> attributesToRemove = new List <Models.Attribute>(); foreach (var id in model.IdsOfSelectedAttributesToRemove) { Models.Attribute attribute = _attributeService.FindAttributeById(id); if (attribute.IconUrl != null) { await _appEnvironment.DeleteImageAsync(attribute.IconUrl, "attribute-icons"); } attributesToRemove.Add(attribute); } await _attributeService.RemoveAttributeRange(attributesToRemove); return(RedirectToAction("Index")); }
public async Task <IActionResult> LinkAttributeValuesToProducts(ManageAttributesViewModel model) { ICollection <ProductAttributeValue> pavs = new List <ProductAttributeValue>(); foreach (var attrValId in model.IdsOfSelectedAttributeValues) { foreach (var productId in model.IdsOfSelectedProducts) { ProductAttributeValue pav = new ProductAttributeValue() { AttributeValueId = attrValId, ProductId = productId }; pavs.Add(pav); } } await _attributeService.AddProductAttributeValueRange(pavs); return(RedirectToAction("Index")); }