public Task <int> Handle(RemoveArtigoCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { NotifyValidationErrors(request); return(Task.FromResult(0)); } if (_procedimentoRepository.Any(x => x.ArtigoId == request.Id)) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "Existem procedimentos associados a este Artigo.")); return(Task.FromResult(0)); } var artigo = _artigoRepository.GetById(request.Id); if (artigo == null) { Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Artigo não foi encontrado.")); return(Task.FromResult(0)); } _artigoRepository.Remove(artigo.Id); if (Commit()) { // TO DO } return(Task.FromResult(request.Id)); }
public void RemoverArtigo(Artigo artigo) { _repository.Remove(artigo); }