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)); }