Пример #1
0
        public void CreateGrocery([FromBody] GroceryDTO groceryDTO)
        {
            var category = _categoryService.GetCategoryById(groceryDTO.CategoryId);
            var grocery  = new Grocery {
                GroceryName = groceryDTO.GroceryName, Category = category
            };

            _groceryService.Create(grocery);
        }
Пример #2
0
        public IHttpActionResult PostGrocery(int clusterId, GroceryDTO grocery)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Cluster cluster = UnitOfWork.ClusterRepository.GetByID(clusterId);

            if (cluster == null)
            {
                return(NotFound());
            }
            else if (cluster.ApplicationUsers.FirstOrDefault(x => x.Id == UserRecord.Id) == null)
            {
                return(Unauthorized());
            }

            Category category = null;

            if (grocery.Category != null)
            {
                category = UnitOfWork.CategoryRepository.Get(x => x.Name == grocery.Category).FirstOrDefault();
                if (category == null)
                {
                    return(BadRequest("Category name is unknown"));
                }
            }

            Grocery entity = new Grocery()
            {
                Name        = grocery.Name,
                Description = grocery.Description,
                Category    = category,
                Picture     = grocery.Picture,
            };

            var clusterGrocery = new ClusterGrocery()
            {
                Cluster    = cluster,
                Grocery    = entity,
                Quantity   = grocery.Quantity,
                Name       = entity.Name,
                UpdateTime = DateTime.Now
            };

            UnitOfWork.ClusterGroceriesRepository.Insert(clusterGrocery);
            UnitOfWork.Save();

            return(CreatedAtRoute("GetGrocery", new { clusterId = clusterId, id = entity.Id }, Mapper.Map <GetGroceryDTO>(clusterGrocery)));
        }