public Task <int> Handle(RegisterNewObjetoApreendidoCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(Task.FromResult(0)); } var procedimento = _procedimentoRepository.GetById(request.ProcedimentoId); if (procedimento == null) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Procedimento não foi encontrado.")); return(Task.FromResult(0)); } var objetoApreendido = new ObjetoApreendido(request.Descricao, request.Local, procedimento); if (_objetoApreendidoRepository.Exists(objetoApreendido.Descricao, request.ProcedimentoId)) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Objeto já está sendo usado.")); return(Task.FromResult(0)); } _objetoApreendidoRepository.Add(objetoApreendido); if (Commit()) { //TO DO } return(Task.FromResult(objetoApreendido.Id)); }
public Task <int> Handle(UpdateObjetoApreendidoCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(Task.FromResult(0)); } var procedimento = _procedimentoRepository.GetById(request.ProcedimentoId); if (procedimento == null) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Procedimento não foi encontrado.")); return(Task.FromResult(0)); } var existingObjetoApreendido = _objetoApreendidoRepository.GetById(request.Id); if (existingObjetoApreendido == null) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Objeto não foi encontrado.")); return(Task.FromResult(0)); } var objetoApreendido = new ObjetoApreendido(request.Id, request.Descricao, request.Local, procedimento, request.DataApreensao); existingObjetoApreendido.Descricao = objetoApreendido.Descricao; existingObjetoApreendido.Local = objetoApreendido.Local; existingObjetoApreendido.DataApreensao = objetoApreendido.DataApreensao; _objetoApreendidoRepository.Update(existingObjetoApreendido); if (Commit()) { //TO DO } return(Task.FromResult(existingObjetoApreendido.Id)); }