Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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"));
        }
Exemplo n.º 3
0
        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"));
        }
Exemplo n.º 4
0
        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"));
        }
Exemplo n.º 5
0
        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"));
        }
Exemplo n.º 6
0
        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"));
        }