public async Task <Unit> Handle(UpdateCategoriaCommand request, CancellationToken cancellationToken)
        {
            //var categoria = categoriaDomainService.GetId(int.Parse(request.Id));
            //Categoria.Descricao = request.Descricao;
            //Categoria.Tipo = (TipoCategoria)Enum.Parse(typeof(TipoCategoria), request.Tipo);
            //Categoria.Status = bool.Parse(request.Status);

            var categoria = mapper.Map <Categoria>(request);

            var validation = new CategoriaValidation().Validate(categoria);

            if (!validation.IsValid)
            {
                throw new ValidationException(validation.Errors);
            }

            //base relacional..
            categoriaDomainService.Update(categoria);

            //base não relacional..
            await mediator.Publish(new CategoriaNotification
            {
                Categoria = categoria,
                Action    = ActionNotification.Atualizar
            });

            return(Unit.Value);
        }
        public async Task <ValidationResult> Handle(UpdateCategoriaCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                return(message.ValidationResult);
            }

            var categoria         = new Categoria(message.Id, message.Descricao);
            var existingCategoria = await _categoriaRepository.GetByName(categoria.Descricao);

            if (existingCategoria != null && existingCategoria.Id != categoria.Id)
            {
                if (!existingCategoria.Equals(categoria))
                {
                    AddError("A Categoria já foi atualizada");
                    return(ValidationResult);
                }
            }

            categoria.AddDomainEvent(new CategoriaUpdatedEvent(categoria.Id, categoria.Descricao));

            _categoriaRepository.Update(categoria);

            return(await Commit(_categoriaRepository.UnitOfWork));
        }
Example #3
0
        public Task <bool> Handle(UpdateCategoriaCommand message, CancellationToken cancellationToken)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return(Task.FromResult(false));
            }

            var categoria       = new Categoria(message.Id, message.Nome, message.Descricao);
            var categoriaExiste = _categoriaRepository.GetByDescricao(categoria.Descricao);

            if (categoriaExiste != null && categoriaExiste.Id != categoria.Id)
            {
                if (!categoriaExiste.Equals(categoria))
                {
                    Bus.RaiseEvent(new DomainNotification(message.MessageType, "A Categria  cliente já foi recebido."));
                    return(Task.FromResult(false));
                }
            }

            _categoriaRepository.Update(categoria);

            if (Commit())
            {
                Bus.RaiseEvent(new CategoriaUpdatedEvent(categoria.Id, categoria.Nome, categoria.Descricao));
            }

            return(Task.FromResult(true));
        }
Example #4
0
        public async Task <IActionResult> Cadastrar([FromRoute] Guid id, [FromBody] UpdateCategoriaCommand command)
        {
            var(success, result) = await _service.Update(command.AtribuirId(id));

            if (!success)
            {
                return(BadRequest(new FailViewModel(result as string)));
            }

            return(Ok(result as CategoriaViewModel));
        }
Example #5
0
        public async Task <(bool result, object res)> Update(UpdateCategoriaCommand command)
        {
            var categoria = await ObterPorId(command.Id);

            if (categoria == null)
            {
                return(false, "Categoria não existe");
            }

            categoria.Nome  = command.Nome;
            categoria.Ordem = command.Ordem;

            _context.Categorias.Atualizar(categoria);

            return(true, await ObterPorIdView(command.Id));
        }
        public async Task <IActionResult> Put(UpdateCategoriaCommand command)
        {
            try
            {
                await categoriaApplicationService.Update(command);

                return(Ok(new { Message = "Categoria Atualizada com sucesso." }));
            }
            catch (ValidationException e)
            {
                return(BadRequest(ValidationAdapter.Parse(e.Errors)));
            }
            catch (Exception e)
            {
                return(StatusCode(500, e.Message));
            }
        }
Example #7
0
        public async Task <Unit> Handle(UpdateCategoriaCommand request, CancellationToken cancellationToken)
        {
            var categoria = mapper.Map <Categoria>(request);

            var validation = new CategoriaValidation().Validate(categoria);

            if (!validation.IsValid)
            {
                throw new ValidationException(validation.Errors);
            }

            categoriaDomainService.Update(categoria);

            await mediator.Publish(new CategoriaNotification
            {
                Categoria = categoria,
                Action    = ActionNotification.Atualizar
            });

            return(Unit.Value);
        }
 public async Task Update(UpdateCategoriaCommand command)
 {
     await mediator.Send(command);
 }