예제 #1
0
        public Task <int> Handle(UpdateAssuntoCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(Task.FromResult(0));
            }

            var assunto         = new Assunto(request.Id, request.Descricao);
            var existingAssunto = _assuntoRepository.GetAsNoTracking(x => assunto.Descricao.Contains(x.Descricao));

            if (!existingAssunto.Equals(assunto))
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Assunto já está sendo usado."));
                return(Task.FromResult(0));
            }

            _assuntoRepository.Update(assunto);

            if (Commit())
            {
                //TO DO
            }

            return(Task.FromResult(assunto.Id));
        }