public async Task <Result <EditHeiFeedingCommandResult> > Handle(EditHeiFeedingCommand request, CancellationToken cancellationToken)
        {
            using (_unitOfWork)
            {
                try
                {
                    var heiFeeding = await _unitOfWork.Repository <HeiFeeding>().FindByIdAsync(request.heiFeeding.Id);

                    if (heiFeeding == null)
                    {
                        return(Result <EditHeiFeedingCommandResult> .Invalid($"Could not find heifeeding for Id: {request.heiFeeding.Id}"));
                    }

                    heiFeeding.FeedingModeId = request.heiFeeding.FeedingModeId;
                    _unitOfWork.Repository <HeiFeeding>().Update(heiFeeding);
                    await _unitOfWork.SaveAsync();

                    return(Result <EditHeiFeedingCommandResult> .Valid(new EditHeiFeedingCommandResult()
                    {
                        Id = heiFeeding.Id
                    }));
                }
                catch (Exception e)
                {
                    Log.Error($"Error updating heifeeding for Id: {request.heiFeeding.Id}. {e.Message} {e.InnerException}");
                    return(Result <EditHeiFeedingCommandResult> .Invalid($"Error updating heifeeding for Id: {request.heiFeeding.Id}."));
                }
            }
        }
예제 #2
0
        public async Task <IActionResult> Put([FromBody] EditHeiFeedingCommand editHeiFeedingCommand)
        {
            var response = await _mediator.Send(editHeiFeedingCommand, Request.HttpContext.RequestAborted);

            if (response.IsValid)
            {
                return(Ok(response.Value));
            }
            return(BadRequest(response));
        }