Beispiel #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);
            }
        }
Beispiel #2
0
        public async Task <Guid> Handle(CriarUsuarioCommand request, CancellationToken cancellationToken)
        {
            var entidade = new Dominio.Entidades.Usuario(request.Login, request.Senha, request.ValorMinimo, request.ValorMaxino, (PapelAprovacao)request.Papel);

            _context.Usuarios.Add(entidade);

            await _context.SaveChangesAsync(cancellationToken);

            return(entidade.Id);
        }
        public async Task <Guid> Handle(UpdateUsuarioCommand request, CancellationToken cancellationToken)
        {
            var entidade =
                new Usuario(request.Id, request.Login, request.Senha, request.ValorMinimo, request.ValorMaxino, (PapelAprovacao)request.Papel);

            _context.Usuarios.Update(entidade);

            await _context.SaveChangesAsync(cancellationToken);

            return(((Usuario)entidade).Id);
        }
        public async Task <Unit> Handle(DeleteUsuarioCommand request, CancellationToken cancellationToken)
        {
            var entidade = await _context.Usuarios
                           .Where(l => l.Id == request.Id)
                           .SingleOrDefaultAsync(cancellationToken);

            if (entidade == null)
            {
                throw new Exception($"{nameof(Usuario)}, {request.Id}");
            }
            _context.Usuarios.Remove(entidade);

            await _context.SaveChangesAsync(cancellationToken);

            return(Unit.Value);
        }