public Task <int> Handle(RemoveSituacaoProcedimentoCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(Task.FromResult(0)); } var situacaoProcedimento = _situacaoProcedimentoRepository.GetById(request.Id); if (situacaoProcedimento == null) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "A situação atual não foi encontrada.")); return(Task.FromResult(0)); } if (_situacaoProcedimentoRepository.Any(x => x.SituacaoId == situacaoProcedimento.SituacaoId || x.SituacaoTipoId == request.SituacaoTipoId)) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "Existem procedimentos associados a este Tipo de Situação.")); return(Task.FromResult(0)); } _situacaoProcedimentoRepository.Remove(situacaoProcedimento.Id); if (Commit()) { // TO DO } return(Task.FromResult(request.Id)); }
public Task <int> Handle(RemoveSituacaoTipoCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(Task.FromResult(0)); } var existingTipoSituacao = _situacaoTipoRepository.GetById(request.Id); if (existingTipoSituacao == null) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Tipo de Situação não foi encontrado.")); return(Task.FromResult(0)); } if (_situacaoProcedimentoRepository.Any(x => x.SituacaoTipoId == existingTipoSituacao.Id)) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "Existem procedimentos associados a este tipo. Por favor verifique-os antes de remover este tipo.")); return(Task.FromResult(0)); } _situacaoTipoRepository.Remove(existingTipoSituacao.Id); if (Commit()) { // TO DO } return(Task.FromResult(request.Id)); }