public async Task <IActionResult> CreateWeekEntry([FromBody] SaveWeekEntryResource entryResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var category = await categoryRepo.GetCategoryById(entryResource.CategoryId); var week = await weekRepo.GetWeekById(entryResource.WeekId); if (category == null) { ModelState.AddModelError("Category", "Invalid category."); return(BadRequest(ModelState)); } if (week == null) { ModelState.AddModelError("Week", "Invalid week."); return(BadRequest(ModelState)); } var entry = mapper.Map <SaveWeekEntryResource, WeekEntry>(entryResource); entry.LastUpdated = DateTime.Now; entryRepo.AddEntry(entry); await uw.CompleteAsync(); var result = mapper.Map <WeekEntry, WeekEntryResource>(entry); return(Ok(result)); }
public async Task <IActionResult> UpdateWeekEntry(int id, [FromBody] SaveWeekEntryResource entryResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var entry = await entryRepo.GetEntryById(id); if (entry == null) { return(NotFound()); } mapper.Map <SaveWeekEntryResource, WeekEntry>(entryResource, entry); entry.LastUpdated = DateTime.Now; entry.Category = await categoryRepo.GetCategoryById(entry.CategoryId); entry.Week = await weekRepo.GetWeekById(entry.WeekId); await uw.CompleteAsync(); entry = await entryRepo.GetEntryById(entry.Id); var result = mapper.Map <WeekEntry, WeekEntryResource>(entry); return(Ok(result)); }