コード例 #1
0
        public async Task ShouldUpdateJogo()
        {
            var userId = await RunAsDefaultUserAsync();

            var jogoId = await SendAsync(new CreateJogoCommand
            {
                Nome = "Jogo Novo"
            });

            var command = new UpdateJogoCommand
            {
                Id   = jogoId,
                Nome = "Jogo Novo Atualizado"
            };

            await SendAsync(command);

            var jogo = await FindAsync <Jogo>(jogoId);

            jogo.Nome.Should().Be(command.Nome);
            jogo.LastModifiedBy.Should().NotBeNull();
            jogo.LastModifiedBy.Should().Be(userId);
            jogo.LastModified.Should().NotBeNull();
            jogo.LastModified.Should().BeCloseTo(DateTime.Now, 1000);
        }
コード例 #2
0
        public async Task <ActionResult> Update(int id, UpdateJogoCommand command)
        {
            if (id != command.Id)
            {
                return(BadRequest());
            }

            await Mediator.Send(command);

            return(NoContent());
        }
コード例 #3
0
        public void ShouldRequireValidJogoId()
        {
            var command = new UpdateJogoCommand
            {
                Id   = 99,
                Nome = "Jogo Teste"
            };

            FluentActions.Invoking(() =>
                                   SendAsync(command)).Should().Throw <NotFoundException>();
        }
コード例 #4
0
        public Task Handle(UpdateJogoCommand message, CancellationToken cancellation)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(Unit.Task);
            }

            //var jogo = new Jogo(message.Id, message.Nome, message.Descricao);
            var jogo = _jogoRepository.GetById(message.Id);

            if (jogo == null)
            {
                jogo = new Jogo(message.Id, message.Nome, message.Descricao);
            }

            //if (existingjogo != null && existingjogo.Id != jogo.Id)
            //{
            //    if (!existingjogo.Equals(jogo))
            //    {
            //        Bus.RaiseEvent(new DomainNotification(message.MessageType, "Erro ao realizar o update da entidade"));
            //        return Unit.Task;
            //    }
            //}

            if (message.AmigoId != null)
            {
                jogo.Amigo = _amigoRepository.GetById(message.AmigoId);
            }

            jogo.Descricao = message.Descricao;
            jogo.Nome      = message.Nome;

            _jogoRepository.Update(jogo);

            if (Commit())
            {
                Bus.RaiseEvent(new AmigoUpdatedEvent(jogo.Id, jogo.Nome, jogo.Descricao));
            }

            return(Unit.Task);
        }