예제 #1
0
        public async Task <BaseResponse <Diet> > Handle(UpdateDietCommand request, CancellationToken cancellationToken)
        {
            var response = new BaseResponse <Diet> ()
            {
                ReponseName = nameof(UpdateDietCommand), Content = new List <Diet> ()
                {
                }
            };
            var entity = await _dietRepository.GetOneAsync(p => p.Id == request.Id);

            if (entity == null)
            {
                response.Status  = ResponseType.Error;
                response.Message = $"{nameof(Diet)} not found.";
                response.Content = null;
            }
            else
            {
                _mapper.Map(request, entity, typeof(UpdateDietCommand), typeof(Diet));
                await _dietRepository.UpdateAsync(entity);

                response.Status  = ResponseType.Success;
                response.Message = $"{nameof(Diet)} updated successfully.";
                response.Content.Add(entity);
            }
            return(response);
        }
예제 #2
0
        public async Task <CommandResult> Handle(UpdateDietCommand request, CancellationToken cancellationToken)
        {
            Diet diet = await _dietRepository.GetByIdAsync(request.DietId);

            if (!FoundValidDiet(diet))
            {
                return(FailureDueToDietNotFound());
            }

            diet.Update(
                request.Name,
                request.Description
                );

            await _dietRepository.UpdateAsync(diet);

            return(await CommitAndPublishDefaultAsync());
        }
예제 #3
0
        private async Task RecalculateDietTotalMacrosAsync(Guid dietId)
        {
            Diet diet = await _dietRepository.GetByIdAsync(dietId);

            diet.RecalculateDietTotalMacros();

            await _dietRepository.UpdateAsync(diet);

            await CommitAsync();
        }
예제 #4
0
        public async Task <BaseResponse> Update(UpdateDietRequest request)
        {
            BaseResponse _Response = new BaseResponse();

            if (request.UID == Guid.Empty || !await __DietRepository.UpdateAsync(request.ToEntity()))
            {
                _Response.Success      = false;
                _Response.ErrorMessage = $"{GlobalConstants.ERROR_ACTION_PREFIX} retrieve {ENTITY_NAME}.";
            }

            return(_Response);
        }
예제 #5
0
        public async Task <DietResponse> UpdateAsync(int id, Diet diet)
        {
            var existingDiet = await _dietRepository.FindById(id);

            if (existingDiet == null)
            {
                return(new DietResponse("Diet not found"));
            }

            try
            {
                _dietRepository.UpdateAsync(existingDiet);
                await _unitOfWork.CompleteAsync();

                return(new DietResponse(existingDiet));
            }
            catch (Exception e)
            {
                return(new DietResponse($"An error ocurred while updating Diet: {e.Message}"));
            }
        }
예제 #6
0
 public async Task <DietDto> UpdateAsync(int id, DietDto entityDto)
 {
     return(await _dietRepository.UpdateAsync(id, entityDto));
 }