public async Task <ActionResult <DietEntryDto> > CreateDietEntryForMember(string memberId, [FromBody] DietEntryCreationDto dietEntry) { if (dietEntry == null) { return(BadRequest()); } var user = await _memberManager.FindByIdAsync(memberId); if (user == null) { return(NotFound()); } var dietEntryToAdd = _mapper.Map <DietTrackerModel>(dietEntry); dietEntryToAdd.MemberId = memberId; var Id = await _dietTrackerRepository.AddReturnAsync(dietEntryToAdd); if (Id == 0) { throw new Exception("Creation of diet tracker failed"); } var dietEntryoReturn = _mapper.Map <DietEntryDto>(dietEntryToAdd); return(CreatedAtRoute("GetDietEntryForMember", new { memberId = memberId, Id = Id }, dietEntryoReturn)); }
public async Task <ActionResult <DietEntryDto> > UpdateDietEntryForMember(string memberId, int id, [FromBody] DietEntryCreationDto dietEntry) { if (dietEntry == null) { return(BadRequest()); } var user = await _memberManager.FindByIdAsync(memberId); if (user == null) { return(NotFound()); } var dietForMember = await _dietTrackerRepository.GetFirstAsync(r => r.MemberId == user.Id && r.Id == id); if (dietForMember == null) { return(NotFound()); } _mapper.Map(dietEntry, dietForMember); try { await _dietTrackerRepository.UpdateAsync(dietForMember); } catch (Exception) { throw new Exception("update of diet tracker failed"); } return(NoContent()); }