Esempio n. 1
0
 public UsuarioBaseTeste()
 {
     _documentoVO = new DocumentoVO("181.091.714-00");
     _emailVO     = new EmailVO("*****@*****.**");
     _loginVO     = new LoginVO("jamil", "jaja123");
     _usuarioBase = new UsuarioBase(_loginVO, _emailVO, _documentoVO, EPerfilAcessoSistema.Usuario, @"C:\impr");
 }
        public async Task <int> AgregarObjeto(UsuarioBase pObjeto)
        {
            pObjeto.FechaCreacion   = DateTime.Now;
            pObjeto.EstadoEliminado = false;

            return(await _usuarioBaseDAL.AgregarObjeto(pObjeto));
        }
Esempio n. 3
0
 /// <summary>
 /// Cria nova agência garantindo seu estado válido
 /// </summary>
 /// <param name="usuarioCriacao">Usuário responsável pelo registro</param>
 /// <param name="banco">Banco da agência</param>
 /// <param name="numero">Número da agência</param>
 /// <param name="dv">DV da agência</param>
 /// <exception cref="ArgumentNullException">Lançado quando não for informado qualquer das propriedades:
 /// <paramref name="usuarioCriacao"/>
 /// <paramref name="banco"/>
 /// <paramref name="numero"/>
 /// </exception>
 public Agencia(UsuarioBase usuarioCriacao, Banco banco, string numero, string dv)
 {
     UsuarioCriacao = usuarioCriacao ?? throw new ArgumentNullException(nameof(usuarioCriacao), "Não informado usuário do registro");
     Banco          = banco ?? throw new ArgumentNullException(nameof(banco), "Não informado banco da agência");
     Numero         = numero ?? throw new ArgumentNullException(nameof(numero), "Não informado número da agência");
     DV             = dv;
 }
Esempio n. 4
0
        public ICommandResult Post([FromBody] AutenticarUsuarioBaseCommand command)
        {
            var login = new LoginVO(command.Usuario, command.Senha);

            if (login.Invalid)
            {
                return(new CommandResult(false, "Por favor, corrigir os campos abaixo", login.Notifications));
            }

            _usuarioBase = _repository.UsuarioBase(login.Usuario, login.Senha);
            if (_usuarioBase == null)
            {
                return(new CommandResult(false, "Falha ao autenticar. Usuário e/ou senha inválidos", new { }));
            }

            var senhaTemporaria = _repository.BuscarUsuarioSenhaTemporaria(_usuarioBase.Id);

            if (senhaTemporaria != null)
            {
                if (DateTime.Now.Subtract(senhaTemporaria.DataCadastro).Days >= 1)
                {
                    if (senhaTemporaria.Ativo == EBoolean.True)
                    {
                        return(new CommandResult(false, "Sua senha temporária expirou. Favor, Solicitar uma nova senha.", new { }));
                    }
                }
            }

            return(Autenticar);
        }
Esempio n. 5
0
        public async Task <int> AgregarObjeto(UsuarioBase pObjeto)
        {
            int result = 0;

            // INICIO DE TRANSACCION
            using var Transaccion = _dbGrupoGB.Database.BeginTransaction();

            try
            {
                //Insertamos unicamente la entidad y esperamos su Id GUID
                _dbGrupoGB.Entry(pObjeto).State = EntityState.Added;

                // SI TODO ES CORRECTO GUARDAMOS
                _dbGrupoGB.SaveChanges();

                await Transaccion.CommitAsync();

                //CONSULTAMOS SU INSERT EXITOSO Y RETORNAMOS SU ID
                if (_dbGrupoGB.UsuarioBase.AsNoTracking().Any(X => X.IdUsuario == pObjeto.IdUsuario && !X.EstadoEliminado))
                {
                    result = pObjeto.IdUsuario;
                }
            }
            catch (Exception ex)
            {
                await Transaccion.RollbackAsync();
            }
            return(result);
        }
        public async Task <UsuarioBase> ObtenerObjeto(int idUsuario)
        {
            var Objeto = new UsuarioBase();

            Objeto = await _usuarioBaseDAL.ObtenerObjeto(idUsuario);

            return(Objeto);
        }
Esempio n. 7
0
        public void Inicia_UsuarioBaseVO_INVALIDO()
        {
            _documentoVO = new DocumentoVO("181.091.714-00");
            _emailVO     = new EmailVO("*****@*****.**");
            _loginVO     = new LoginVO("ja", "jaja"); // <- Usuário inválido
            _usuarioBase = new UsuarioBase(_loginVO, _emailVO, _documentoVO, EPerfilAcessoSistema.Usuario, @"C:\impr");

            Assert.AreEqual(true, _usuarioBase.Invalid);
        }
Esempio n. 8
0
 /// <summary>
 /// Cria nova conta corrente garantindo seu estado válido
 /// </summary>
 /// <param name="usuarioCriacao">Usuário responsável pelo registro</param>
 /// <param name="agencia">Agência da conta corrente</param>
 /// <param name="numero">Número da conta corrente</param>
 /// <param name="dv">DV da conta corrente</param>
 /// <param name="tipo">Tipo da conta corrente</param>
 /// <param name="saldo">Saldo da conta corrente</param>
 /// <param name="limite">Limite da conta corrente</param>
 /// <exception cref="ArgumentNullException">Lançado quando não for informado qualquer das propriedades:
 /// <paramref name="usuarioCriacao"/>
 /// <paramref name="agencia"/>
 /// <paramref name="numero"/>
 /// <paramref name="dv"/>
 /// <paramref name="tipo"/>
 /// <paramref name="saldo"/>
 /// <paramref name="limite"/>
 /// </exception>
 public ContaCorrente(UsuarioBase usuarioCriacao, Agencia agencia, string numero, string dv, TipoContaCorrente?tipo, decimal?saldo, decimal?limite)
 {
     UsuarioCriacao = usuarioCriacao ?? throw new ArgumentNullException(nameof(usuarioCriacao), "Não informado usuário do registro");
     Agencia        = agencia ?? throw new ArgumentNullException(nameof(agencia), "Não informada agência da conta corrente");
     Numero         = numero ?? throw new ArgumentNullException(nameof(numero), "Não informado número da conta corrente");
     DV             = dv ?? throw new ArgumentNullException(nameof(dv), "Não informado o DV da conta corrente");
     Tipo           = tipo ?? throw new ArgumentNullException(nameof(tipo), "Não informado o tipo da conta corrente");
     saldo          = saldo ?? throw new ArgumentNullException(nameof(saldo), "Não informado o saldo da conta corrente");
     limite         = limite ?? throw new ArgumentNullException(nameof(limite), "Não informado o limite da conta corrente");
 }
 /// <summary>
 /// Cria um lançamento garantindo seu estado válido
 /// </summary>
 /// <param name="usuarioCriacao"></param>
 /// <param name="nome"></param>
 /// <param name="classificacao"></param>
 public Lancamento(UsuarioBase usuarioCriacao, NomeLancamentoPadrao nome, Classificacao classificacao)
 {
     UsuarioCriacao = usuarioCriacao ?? throw new ArgumentNullException(nameof(usuarioCriacao), "Não informado usuário do registro");
     Nome           = nome ?? throw new ArgumentNullException(nameof(nome), "Não informado nome do lançamento");
     if (nome.Invalid)
     {
         throw new ArgumentException(nome.Notifications.ToString(), nameof(nome));
     }
     Classificacao = classificacao ?? throw new ArgumentNullException(nameof(nome), "Não informado nome do lançamento");
 }
Esempio n. 10
0
#pragma warning disable CS0618 // Type or member is obsolete
        public Classificacao ClassificacaoDoUsuarioPorID(UsuarioBase usuario, Guid id) => Builder <Classificacao>
        .CreateNew()
        .WithConstructor(() => new Classificacao(
                             usuario,
                             new NomeClassificacaoPadrao(Faker.Name.FullName()),
                             Categoria.Despesa
                             )
                         )
#pragma warning restore CS0618 // Type or member is obsolete
        .Build();
Esempio n. 11
0
#pragma warning disable CS0618 // Type or member is obsolete
        public IList <Classificacao> ListaClassificacaoDoUsuario(UsuarioBase usuario) => Builder <Classificacao>
        .CreateListOfSize(100)
        .All()
        .WithConstructor(() => new Classificacao(
                             usuario,
                             new NomeClassificacaoPadrao(Faker.Name.FullName()),
                             Categoria.Despesa
                             )
                         )
#pragma warning restore CS0618 // Type or member is obsolete
        .Build();
#pragma warning disable CS0618 // Type or member is obsolete
        public IList <Lancamento> ListaLancamentoDoUsuario(UsuarioBase usuario) => Builder <Lancamento>
        .CreateListOfSize(100)
        .All()
        .WithConstructor(() =>
                         new Lancamento(
                             usuario,
                             new NomeLancamentoPadrao(Faker.Name.FullName()),
                             classificacao
                             )
                         )
#pragma warning restore CS0618 // Type or member is obsolete
        .Build();
Esempio n. 13
0
        private async Task <AuthToken> GerarToken(UsuarioBase usuario, DateTime dataExpiracao)
        {
            var identityClaims = new ClaimsIdentity();

            identityClaims.AddClaim(new Claim(JwtRegisteredClaimNames.Sub, usuario.Id.ToString()));
            identityClaims.AddClaim(new Claim(JwtRegisteredClaimNames.UniqueName, usuario.Email));
            identityClaims.AddClaim(new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()));
            identityClaims.AddClaim(new Claim(JwtRegisteredClaimNames.Iat, ToUnixEpochDate(DateTime.UtcNow).ToString(), ClaimValueTypes.Integer64));

            switch (usuario)
            {
            case UsuarioCliente _:
                identityClaims.AddClaims(AuthorizationUsers.RetornarClaimsUsuario());
                break;
            }

            var tokenHandler    = new JwtSecurityTokenHandler();
            var signingConf     = new SigningCredentialsConfiguration();
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Issuer             = _tokenDescriptor.Issuer,
                Audience           = _tokenDescriptor.Audience,
                SigningCredentials = signingConf.SigningCredentials,
                Subject            = identityClaims,
                NotBefore          = DateTime.UtcNow,
                Expires            = dataExpiracao
            };

            var token      = tokenHandler.CreateToken(tokenDescriptor);
            var encodedJwt = tokenHandler.WriteToken(token);

            var refreshToken = await GerarRefreshTokenAsync(usuario.Id);

            return(new AuthToken
            {
                result = new AuthResult
                {
                    access_token = encodedJwt,
                    expires_in = dataExpiracao,
                    refresh_token = refreshToken,
                    user = new AuthUser
                    {
                        id = usuario.Id,
                        nomeCompleto = usuario.NomeCompleto,
                        email = usuario.Email,
                        claims = identityClaims.Claims.Select(c => new AuthClaim {
                            type = c.Type, value = c.Value
                        })
                    }
                }
            });
        }
Esempio n. 14
0
        public ICommandResult Handle(CriarUsuarioBaseCommand command)
        {
            if (!command.IsValidCommand())
            {
                return(new CommandResult(false, "Por favor, corrigir os campos abaixo", command.Notifications));
            }

            if (_repository.UsuarioExistente(command.Usuario))
            {
                AddNotification("Usuario", $"Nome de usuário já cadastrado na base de dados. Nome informado: { command.Usuario }");
            }

            if (_repository.DocumentoExistente(command.Documento))
            {
                AddNotification("CPF/CNPJ", $"CPF/CNPJ já cadastrado na base de dados. Doc. informado: { command.Documento }");
            }

            if (_repository.EmailExistente(command.Email))
            {
                AddNotification("E-mail", $"E-mail já cadastrado na base de dados. E-mail informado: { command.Email }");
            }

            var login     = new LoginVO(command.Usuario, command.Senha);
            var email     = new EmailVO(command.Email);
            var documento = new DocumentoVO(command.Documento);
            var usuario   = new UsuarioBase(
                login,
                email,
                documento,
                command.PerfilAcesso,
                command.ImpressoraZebra);

            AddNotifications(usuario, login, email, documento);

            if (Invalid)
            {
                return(new CommandResult(false, "Por favor, corrigir os campos abaixo", Notifications));
            }

            _repository.Salvar(usuario);

            return(new CommandResult(true, "Usuário cadastrado com sucesso", new
            {
                Usuario = usuario.Login.Usuario,
                Documento = usuario.Documento.Documento
            }));
        }
        public async Task <IActionResult> Update(int IdUsuario)
        {
            UsuarioBase result = new UsuarioBase();

            result = await _usuarioBaseBL.ObtenerObjeto(IdUsuario);

            if (result != null)
            {
                _toastNotification.AddInfoToastMessage("Usuario obtenido con exito");
                return(View(result));
            }
            else
            {
                _toastNotification.AddErrorToastMessage("Hubo un error al obtener el usuario");
                return(View("Index"));
            }
        }
Esempio n. 16
0
 /// <summary>
 /// Cria uma classificação garantindo seu estado válido
 /// </summary>
 /// <param name="usuarioCriacao">Usuário responsável pelo registro</param>
 /// <param name="nome">Determina o nome da classificação</param>
 /// <param name="categoria">Determina a categoria da classificação</param>
 /// <param name="limiteEstipulado">Estipula um vaor de limite para o total do lançamento</param>
 /// <param name="frequencia">Estipula a frequencia para considerar o período</param>
 /// <exception cref="ArgumentNullException">Lançado quando não for informado <paramref name="usuarioCriacao"/></exception>
 /// <exception cref="ArgumentNullException">Lançado quando não for informado <paramref name="nome"/></exception>
 /// <exception cref="ArgumentException">Lançado quando o <paramref name="nome"/> informado náo é válido</exception>
 public Classificacao(UsuarioBase usuarioCriacao, NomeClassificacaoPadrao nome, Categoria categoria, decimal?limiteEstipulado, Frequencia?frequencia)
 {
     UsuarioCriacao = usuarioCriacao ?? throw new ArgumentNullException(nameof(usuarioCriacao), "Não informado usuário do registro");
     Nome           = nome ?? throw new ArgumentNullException(nameof(nome), "Não informado descrição da classificação");
     if (nome.Invalid)
     {
         throw new ArgumentException(nome.Notifications.ToString(), nameof(nome));
     }
     Categoria        = categoria;
     LimiteEstipulado = limiteEstipulado;
     if ((limiteEstipulado.HasValue) && (limiteEstipulado.Value < 1))
     {
         throw new ArgumentException("Valor mínimo para o limite quando informado é 1.", nameof(limiteEstipulado));
     }
     Frequencia = frequencia;
     if ((limiteEstipulado.HasValue) && (!frequencia.HasValue))
     {
         throw new ArgumentException("Frequencia não informada.", nameof(limiteEstipulado));
     }
 }
Esempio n. 17
0
        public async Task <int> ModificarObjeto(UsuarioBase pObjeto)
        {
            // VARIABLE CREADA PARA RETORNAR EL RESULTADO DE LA MODIFICACION
            int result = 0;

            // INICIO DE TRANSACCION
            using var Transaccion = _dbGrupoGB.Database.BeginTransaction();

            try
            {
                // CONSULTAMOS USUARIO CON LA CONDICION DE NO DAR SEGUIMIENTO AL OBJETO (ASNOTRAKING())
                var Objeto = await _dbGrupoGB.UsuarioBase
                             .AsNoTracking()
                             .FirstOrDefaultAsync(x => x.IdUsuario == pObjeto.IdUsuario && !x.EstadoEliminado);

                //SETEAMOS NUEVA DATA


                Objeto.Nombres           = pObjeto.Nombres;
                Objeto.Apellidos         = pObjeto.Apellidos;
                Objeto.FechaNacimiento   = pObjeto.FechaNacimiento;
                Objeto.Dui               = pObjeto.Dui;
                Objeto.Nit               = pObjeto.Nit;
                Objeto.Isss              = pObjeto.Isss;
                Objeto.Telefono          = pObjeto.Telefono;
                Objeto.FechaModificacion = DateTime.Now;

                //ACTUALIZAMOS
                _dbGrupoGB.UsuarioBase.Update(Objeto);

                // SI TODO ES CORRECTO GUARDAMOS
                result = _dbGrupoGB.SaveChanges();
                // CERRAMOS TRANSACCION Y SINO SE HACE ROLLBACK() POR EL USING
                await Transaccion.CommitAsync();
            }
            catch (Exception ex)
            {
                await Transaccion.RollbackAsync();
            }
            return(result);
        }
        public async Task <IActionResult> Update(UsuarioBase dataUsuario)
        {
            int result = 0;

            if (ModelState.IsValid)
            {
                result = await _usuarioBaseBL.ModificarObjeto(dataUsuario);

                if (result > 0)
                {
                    _toastNotification.AddSuccessToastMessage("Usuario modificado exitosamente");
                }
                else
                {
                    _toastNotification.AddErrorToastMessage("Hubo un error no se pudo modificar el nuevo usuario");
                }
            }
            else
            {
                _toastNotification.AddInfoToastMessage("Por favor revise que todos sus datos esten llenos.");
            }

            return(View("index"));
        }
 public bool Read()
 {
     try
     {
         StringBuilder sb      = new StringBuilder();
         string        query   = "select * from usuarios where usuario = @usuario;";
         Conexion      con     = new Conexion();
         UsuarioBase   usuario = con.ObtenerUsuario(query, _usuario);
         this._id           = usuario.Id;
         this._apellido     = usuario.Apellido;
         this._cargo        = usuario.Cargo;
         this._nombre       = usuario.Nombre;
         this._password     = usuario.Password;
         this._usuario      = usuario.Usuario;
         this._tipo_usuario = usuario.Tipo_usuario;
         this._estado       = usuario.Estado;
         return(true);
     }
     catch (Exception ex)
     {
         ex.Message.ToString();
         return(false);
     }
 }
Esempio n. 20
0
 public async Task SalvarUsuario(UsuarioBase usuario)
 {
     await base.Salvar(_mapper.Map <UsuarioDbModel>(usuario));
 }
 public void Inicializar()
 {
     usuario       = new ServicoUsuario().BuscarPorId(Guid.NewGuid());
     classificacao = new ServicoClassificacao().ClassificacaoDoUsuarioPorID(usuario, Guid.NewGuid());
 }
 public void Encerrar()
 {
     usuario = null;
 }
 public async Task <int> ModificarObjeto(UsuarioBase pObjeto)
 {
     pObjeto.FechaModificacion = DateTime.Now;
     return(await _usuarioBaseDAL.ModificarObjeto(pObjeto));
 }
Esempio n. 24
0
 /// <summary>
 /// Cria um usuário candidato garantindo seu estado válido
 /// </summary>
 /// <param name="usuarioCriacao">Usuário responsável pelo registro</param>
 /// <param name="email"></param>
 /// <param name="nome"></param>
 /// <exception cref="ArgumentNullException">Lançado quando não for informado <paramref name="email"/></exception>
 /// <exception cref="ArgumentException">Lançado quando o <paramref name="email"/> informado náo é válido</exception>
 /// <exception cref="ArgumentNullException">Lançado quando não for informado <paramref name="nome"/></exception>
 /// <exception cref="ArgumentException">Lançado quando o <paramref name="nome"/> informado náo é válido</exception>
 public UsuarioMaster(UsuarioBase usuarioCriacao, Email email, NomePessoa nome) : base(usuarioCriacao, email, nome)
 {
 }
Esempio n. 25
0
 public void Inicializar()
 {
     usuario = new ServicoUsuario().BuscarPorId(Guid.NewGuid());
 }
Esempio n. 26
0
 /// <summary>
 /// Cria uma classificação garantindo seu estado válido
 /// </summary>
 /// <param name="usuarioCriacao">Usuário responsável pelo registro</param>
 /// <param name="nome">Determina o nome da classificação</param>
 /// <param name="categoria">Determina a categoria da classificação</param>
 /// <exception cref="ArgumentNullException">Lançado quando não for informado <paramref name="nome"/></exception>
 /// <exception cref="ArgumentException">Lançado quando o <paramref name="nome"/> informado náo é válido</exception>
 public Classificacao(UsuarioBase usuarioCriacao, NomeClassificacaoPadrao nome, Categoria categoria) : this(usuarioCriacao, nome, categoria, null, null)
 {
 }
Esempio n. 27
0
 public ServicoClassificacao()
 {
     usuario = new ServicoUsuario().BuscarPorId(Guid.NewGuid());
 }
 public ServicoLancamento()
 {
     usuario       = new ServicoUsuario().BuscarPorId(Guid.NewGuid());
     classificacao = new ServicoClassificacao().ClassificacaoDoUsuarioPorID(usuario, Guid.NewGuid());
 }
 /// <summary>
 /// Cria novo banco garantindo seu estado válido
 /// </summary>
 /// <param name="usuarioCriacao">Usuário responsável pelo registro</param>
 /// <param name="numero">Número do banco</param>
 /// <param name="nome">Nome do banco</param>
 /// <exception cref="ArgumentNullException">Lançado quando não for informado qualquer das propriedades:
 /// <paramref name="usuarioCriacao"/>
 /// <paramref name="numero"/>
 /// <paramref name="nome"/>
 /// </exception>
 public Banco(UsuarioBase usuarioCriacao, string numero, string nome)
 {
     UsuarioCriacao = usuarioCriacao ?? throw new ArgumentNullException(nameof(usuarioCriacao), "Não informado usuário do registro");
     Numero         = numero ?? throw new ArgumentNullException(nameof(numero), "Não informado número do banco");
     Nome           = nome ?? throw new ArgumentNullException(nameof(nome), "Não informado nome do banco");
 }