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)); }
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)); }
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)); }
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)); } }
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); }