public async Task <IActionResult> PutFoodItemDepletedReport(int id,
                                                                    PublicApi.v1.DTO.FoodItemDepletedReport foodItemDepletedReport)
        {
            if (id != foodItemDepletedReport.Id)
            {
                return(BadRequest());
            }

            // check, that the object being used is really belongs to logged in user
            if (!await _bll.FoodItemDepletedReports.BelongsToUserAsync(foodItemDepletedReport.AppUserId, User.GetUserId()))
            {
                return(NotFound());
            }

            _bll.FoodItemDepletedReports.Update(FoodItemDepletedReportMapper.MapFromExternal(foodItemDepletedReport));
            await _bll.SaveChangesAsync();

            return(NoContent());
        }
        public async Task <ActionResult <PublicApi.v1.DTO.FoodItemDepletedReport> > PostFoodItemDepletedReport(
            PublicApi.v1.DTO.FoodItemDepletedReport foodItemDepletedReport)
        {
            // check that the person sending the report is the logged in user
            if (foodItemDepletedReport.AppUserId != User.GetUserId())
            {
                return(StatusCode(403));
            }

            // get the enitity back with attached state id - (- maxint)
            foodItemDepletedReport = PublicApi.v1.Mappers.FoodItemDepletedReportMapper.MapFromBLL(
                _bll.FoodItemDepletedReports.Add(PublicApi.v1.Mappers.FoodItemDepletedReportMapper.MapFromExternal(foodItemDepletedReport)));
            // ef will update its internally tracked entities
            await _bll.SaveChangesAsync();

            // get the updated entity, now with ID from database
            foodItemDepletedReport = PublicApi.v1.Mappers.FoodItemDepletedReportMapper.MapFromBLL(
                _bll.FoodItemDepletedReports.GetUpdatesAfterUOWSaveChanges(
                    PublicApi.v1.Mappers.FoodItemDepletedReportMapper.MapFromExternal(foodItemDepletedReport)));


            return(CreatedAtAction("GetFoodItemDepletedReport", new { id = foodItemDepletedReport.Id, version = HttpContext.GetRequestedApiVersion().ToString() }, foodItemDepletedReport));
        }