public bool CreateNewProduct(ProductValueObject productValueObject, ImageValueObject image)
        {
            try
            {
                var listProduct = GetAllProduct();
                if (listProduct.Any(x => x.IdType == productValueObject.IdType && x.Name.Trim() == productValueObject.Name.Trim()))
                {
                    return(false);
                }
                _productDataAccessLayer.CreateNewProduct(productValueObject.Name, productValueObject.IdType, productValueObject.Price,
                                                         productValueObject.Description, productValueObject.Inew);

                listProduct = GetAllProduct();
                var insertedProduct =
                    listProduct.First(x => x.IdType == productValueObject.IdType && x.Name == productValueObject.Name);
                image.idSp = insertedProduct.Id;

                imageDataAccessLayer.CreateImage(image.link, image.idSp);
                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        public bool UpdateProduct(ProductValueObject productValueObject, ImageValueObject image = null)
        {
            if (image == null)
            {
                return(_productDataAccessLayer.UpdateProduct(productValueObject.Id, productValueObject.Name,
                                                             productValueObject.IdType, productValueObject.Price, productValueObject.Description,
                                                             productValueObject.Inew));
            }

            var x = imageDataAccessLayer.UpdateImage(image.idSp, image.link);

            if (!x)
            {
                throw new Exception("Cannot update image.");
            }
            return(_productDataAccessLayer.UpdateProduct(productValueObject.Id, productValueObject.Name,
                                                         productValueObject.IdType, productValueObject.Price, productValueObject.Description,
                                                         productValueObject.Inew));
        }