示例#1
0
        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));
        }
示例#2
0
 public void RemoverArtigo(Artigo artigo)
 {
     _repository.Remove(artigo);
 }