Exemplo n.º 1
0
        public async Task <ActionResult <BackpackModel> > UpdateBackpackAsync([FromRoute] Guid backpackId, [FromBody] BackpackModelRequest backpack)
        {
            var sub = User.Claims.FirstOrDefault(c => c.Type == "sub")?.Value;

            var command = new UpdateBackpack(sub, backpackId, backpack);
            var result  = await _mediator.Send(command);

            if (result.IsFailure)
            {
                return(BadRequest());
            }

            return(Ok(result.Value));
        }
Exemplo n.º 2
0
        public async Task <Result <BackpackModel> > Handle(UpdateBackpack request, CancellationToken cancellationToken)
        {
            var isValid = await _validator.IsValidAsync(request);

            if (!isValid)
            {
                return(Result.Failure <BackpackModel>("Validation failed"));
            }
            var backpack = await _context.Backpacks.FirstAsync(b => b.Id == request.BackpackId, cancellationToken);

            backpack.Name = request.Backpack.Name;

            await _context.SaveChangesAsync(cancellationToken);

            return(new BackpackModel
            {
                Id = backpack.Id,
                Name = backpack.Name
            });
        }