Example #1
0
        public async Task <bool> Handle(AutorizacaoNotasCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var usuario = _context.Usuarios.SingleOrDefault(x => x.Id == request.IdUsuario);
                var nota    = _context.NotadeCompras.SingleOrDefault(x => x.Id == request.IdNota);


                _context.AutorizacaoHistoricos.Add(new AutorizacaoHistorico(DateTime.Now, usuario, nota, usuario.Papel));


                if (ValidacoeseVerificacoes.VerificarConfiguracaoAutorizacao(_context, nota, usuario.Papel))
                {
                    nota.AprovarNota();
                    _context.NotadeCompras.Update(nota);
                }

                await _context.SaveChangesAsync(cancellationToken);

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }