コード例 #1
0
        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));
        }
コード例 #2
0
        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());
        }