public async Task <FoodGroupResponseObject> FindOneByNameAsync(string name)
        {
            var item = await _foodGroupRepository.FindOneByNameAsync(name);

            if (item == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound, $"FoodGroup with name {name} was not found");
            }

            return(FoodGroupResponseObject.FromEntity(item));
        }
        public async Task <FoodGroupResponseObject> FindOneByIdAsync(int id)
        {
            var item = await _foodGroupRepository.FindOneByIdAsync(id);

            if (item == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound, "FoodGroup not found");
            }

            return(FoodGroupResponseObject.FromEntity(item));
        }
        public async Task <FoodGroupResponseObject> DeleteOneByIdAsync(int id)
        {
            var found = await _foodGroupRepository.FindOneByIdAsync(id);

            if (found == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound, "FoodGroup not found");
            }

            await _foodGroupRepository.DeleteOneAsync(found);

            return(FoodGroupResponseObject.FromEntity(found));
        }
        public async Task <FoodGroupResponseObject> CreateOneAsync(FoodGroup t)
        {
            var item = await _foodGroupRepository.FindOneByNameAsync(t.Name);

            if (item != null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound,
                                                $"FoodGroup with name {t.Name} already exists");
            }

            await _foodGroupRepository.CreateOneAsync(t);

            return(FoodGroupResponseObject.FromEntity(t));
        }