public ActionResult EditItemCharacteristics(IList <ItemCharacteristicVM> itemCharacteristicVMs)
        {
            // TO DO
            if (itemCharacteristicVMs == null || !itemCharacteristicVMs.Any())
            {
                return(RedirectToAction("Index"));
            }

            foreach (var i in itemCharacteristicVMs)
            {
                var itemCharacteristicDTO = new ItemCharacteristicDTO();
                itemCharacteristicDTO.Id                 = i.Id;
                itemCharacteristicDTO.ItemID             = i.ItemID;
                itemCharacteristicDTO.CharacteristicID   = i.CharacteristicID;
                itemCharacteristicDTO.CharacteristicName = i.CharacteristicName;
                itemCharacteristicDTO.CharValueID        = i.CharValueID;

                if (itemCharacteristicDTO.Id != null)
                {
                    _catalog.UpdateItemCharacteristic(itemCharacteristicDTO);
                }
                else
                {
                    _catalog.CreateItemCharacteristic(itemCharacteristicDTO);
                }
            }

            return(RedirectToAction("EditItem", new { itemId = itemCharacteristicVMs.FirstOrDefault().ItemID }));
        }
        public void CreateItemCharacteristic(ItemCharacteristicDTO itemCharacteristicDTO)
        {
            var itemCharacteristic = new ItemCharacteristic();

            itemCharacteristic.Id               = Guid.NewGuid();
            itemCharacteristic.ItemID           = itemCharacteristicDTO.ItemID;
            itemCharacteristic.CharacteristicID = itemCharacteristicDTO.CharacteristicID;
            itemCharacteristic.CharValueID      = itemCharacteristicDTO.CharValueID;
            _itemCharacteristicRepository.Create(itemCharacteristic);
        }
        public void UpdateItemCharacteristic(ItemCharacteristicDTO itemCharacteristicDTO)
        {
            var itemCharacteristic = new ItemCharacteristic();

            itemCharacteristic.Id               = (Guid)itemCharacteristicDTO.Id;
            itemCharacteristic.ItemID           = itemCharacteristicDTO.ItemID;
            itemCharacteristic.CharacteristicID = itemCharacteristicDTO.CharacteristicID;
            itemCharacteristic.CharValueID      = itemCharacteristicDTO.CharValueID;
            _itemCharacteristicRepository.Update(itemCharacteristic);
        }
        public IEnumerable <ItemCharacteristicDTO> GetItemCharacteristicsByItemId(Guid itemId)
        {
            var itemCharacteristics       = _itemCharacteristicRepository.GetWithInclude(x => x.ItemID == itemId, y => y.Characteristic);
            var itemCharacteristicDTOList = new List <ItemCharacteristicDTO>();

            foreach (var i in itemCharacteristics)
            {
                var itemCharacteristicDTO = new ItemCharacteristicDTO();
                itemCharacteristicDTO.Id                 = i.Id;
                itemCharacteristicDTO.ItemID             = (Guid)i.ItemID;
                itemCharacteristicDTO.CharacteristicID   = (Guid)i.CharacteristicID;
                itemCharacteristicDTO.CharacteristicName = i.Characteristic.Name;
                itemCharacteristicDTO.CharValueID        = i.CharValueID;
                itemCharacteristicDTOList.Add(itemCharacteristicDTO);
            }
            return(itemCharacteristicDTOList);
        }
        public void DeleteItemCharacteristic(ItemCharacteristicDTO itemCharacteristicDTO)
        {
            var itemCharacteristic = _itemCharacteristicRepository.FindById((Guid)itemCharacteristicDTO.Id); //costyle

            _itemCharacteristicRepository.Remove(itemCharacteristic);
        }