public IHttpActionResult GetRemoveCharacteristicFromProduct([FromBody] ProductCharacteristicEditModel model)
        {
            var product = db.Products
                          .Include(iterator => iterator.ProductCharacteristics)
                          .FirstOrDefault(it => it.ProductId == model.ProductId);

            if (product == null)
            {
                return(Ok("No such product exisits"));
            }

            var productCharacteristic = product.ProductCharacteristics
                                        .FirstOrDefault(it => it.CharacteristicId == model.CharacteristicId &&
                                                        it.ProductId == model.ProductId);

            if (productCharacteristic == null)
            {
                return(Ok("No such ProductCharacteristic"));
            }

            db.ProductCharacteristics.Remove(productCharacteristic);
            db.SaveChanges();

            return(Ok(new { product = product.ConvertToDTO() }));
        }
        public IHttpActionResult PostAddCharacteristicToProduct([FromBody] ProductCharacteristicEditModel model)
        {
            var product = db.Products.Include("ProductCategory.Characteristics")
                          .FirstOrDefault(it => it.ProductId == model.ProductId);

            if (product == null)
            {
                return(Ok("No such product exisits"));
            }

            var characteristic = product.ProductCategory.Characteristics
                                 .FirstOrDefault(it => it.CharacteristicId == model.CharacteristicId);

            if (characteristic == null)
            {
                return(Ok("No such characteristic exisits"));
            }

            var productCharacteristic = new BB.Core.Model.ProductCharacteristic();

            productCharacteristic.Product        = product;
            productCharacteristic.Characteristic = characteristic;
            productCharacteristic.Value          = model.Value;
            db.ProductCharacteristics.Add(productCharacteristic);
            db.SaveChanges();

            return(Ok(new { characteristic = productCharacteristic.ConvertToDTO() }));
        }
        public IHttpActionResult PostEditCharacteristicInProduct([FromBody] ProductCharacteristicEditModel model)
        {
            var productCharacteristic = db.ProductCharacteristics
                                        .FirstOrDefault(it => it.CharacteristicId == model.CharacteristicId &&
                                                        it.ProductId == model.ProductId);

            if (productCharacteristic == null)
            {
                return(Ok("No such ProductCharacteristic"));
            }

            productCharacteristic.Value = model.Value;
            db.SaveChanges();

            return(Ok(new { characteristic = productCharacteristic.ConvertToDTO() }));
        }