public async Task EditarCerveja(EditarCervejaDTO.Envio dto)
        {
            var cerveja = UnitOfWork.CervejaRepository.GetById(dto.Id);
            var editada = _mapper.Map <Cerveja>(dto);

            var command = EditarCervejaCommand.Factory(cerveja, editada);
            await Bus.SendCommand(command);
        }
Beispiel #2
0
        public async Task EditarCervejaHandle_CervejaNaoInformada_RaiseEvent()
        {
            var unitOfWork   = Substitute.For <IUnitOfWork>();
            var eventHandler = Substitute.For <NotificationHandler>();
            var mediator     = Substitute.For <IMediatorHandler>();
            var handler      = new CervejaCommandHandler(unitOfWork, mediator, eventHandler);
            var cerveja      = new Cerveja("Cerveja Teste", "Descrição", "Harmonização",
                                           "Coloração", "Categoria", "Ingredientes", 5, 0, 4, "Imagem.png");
            var command = EditarCervejaCommand.Factory(cerveja, null);

            await handler.Handle(command, CancellationToken.None);

            await mediator.ReceivedWithAnyArgs(1).RaiseEvent((Notification)null);
        }
Beispiel #3
0
        public async Task EditarCervejaHandle_ObjetoNulo_SaveChangesAsync()
        {
            var unitOfWork   = Substitute.For <IUnitOfWork>();
            var eventHandler = Substitute.For <NotificationHandler>();
            var mediator     = Substitute.For <IMediatorHandler>();
            var handler      = new CervejaCommandHandler(unitOfWork, mediator, eventHandler);
            var cerveja      = new Cerveja("Cerveja Teste", "Descrição", "Harmonização",
                                           "Coloração", "Categoria", "Ingredientes", 5, 0, 4, "Imagem.png");
            var editada = new Cerveja("Cerveja Editada", "Descrição", "Harmonização",
                                      "Coloração", "Categoria", "Ingredientes", 5, 0, 4, "Imagem.png");
            var command = EditarCervejaCommand.Factory(cerveja, editada);

            await handler.Handle(command, CancellationToken.None);

            await unitOfWork.ReceivedWithAnyArgs(1).SaveChangesAsync();
        }
Beispiel #4
0
        public async Task <bool> Handle(EditarCervejaCommand command, CancellationToken cancellationToken)
        {
            if (!command.IsValid())
            {
                await NotifyValidationErrors(command);

                return(false);
            }

            var cerveja = command.Cerveja;
            var editada = command.CervejaEditada;

            cerveja.Editar(editada.Nome, editada.Descricao, editada.Harmonizacao,
                           editada.Cor, editada.Categoria, editada.Ingredientes,
                           editada.TeorAlcoolico, editada.TemperaturaInicial, editada.TemperaturaFinal);

            await Task.Run(() => _unitOfwork.CervejaRepository.Update(cerveja));

            await Commit();

            return(true);
        }