Пример #1
0
        public ApiProduct Put([FromBody] ProductApiPutRequest productData)
        {
            if (string.IsNullOrWhiteSpace(productData.Name))
            {
                throw new ForagerApiException(ForagerApiExceptionCode.InvalidNameProvided);
            }

            var currentUserEmail = userInformation.GetUserEmail();
            var currentUser      = context.GetUserByEmail(currentUserEmail);
            var dataProduct      = new Product()
            {
                Name        = productData.Name.Trim(),
                Description = productData.Description?.Trim(),
                Units       = productData.Units?.Trim(),
                CreatedBy   = currentUser,
                CreatedOn   = DateTime.Now
            };

            dataProduct.FamilyProducts = currentUser.Families.Select(f => new FamilyProducts {
                Family = f, Product = dataProduct
            }).ToArray();

            context.Products.Add(dataProduct);
            context.SaveChanges();

            var product = ApiProduct.FromProduct(dataProduct);

            return(product);
        }
Пример #2
0
        public ApiProduct Post(int id, [FromBody] ProductApiPutRequest productData)
        {
            if (string.IsNullOrWhiteSpace(productData.Name))
            {
                throw new ForagerApiException(ForagerApiExceptionCode.InvalidNameProvided);
            }

            var existingProduct = context.Products.Include(p => p.Variants).SingleOrDefault(f => f.Id == id);

            if (existingProduct == null)
            {
                throw new ForagerApiException(ForagerApiExceptionCode.ProductNotFound);
            }

            existingProduct.Name        = productData.Name.Trim();
            existingProduct.Description = productData.Description?.Trim();
            existingProduct.Units       = productData.Units?.Trim();
            context.SaveChanges();

            var product = ApiProduct.FromProduct(existingProduct);

            return(product);
        }