示例#1
0
        public ResultadoValidacao Add(Usuario usuario, string password)
        {
            _resultadoValidacao = new ResultadoValidacao();
            byte[] passwordHash, passwordSalt;

            // validation
            if (string.IsNullOrWhiteSpace(password))
            {
                return(_resultadoValidacao.Adiciona("Senha é requerida"));
            }

            if (_repositoryUsuario.ExisteUsername(usuario.UserName))
            {
                return(_resultadoValidacao.Adiciona("Username \"" + usuario.UserName + "\" já existe"));
            }

            CreatePasswordHash(password, out passwordHash, out passwordSalt);

            usuario.PasswordHash = passwordHash;
            usuario.PasswordSalt = passwordSalt;

            _repositoryUsuario.Add(usuario);
            _resultadoValidacao = _serviceContaCorrente.AbrirContaCorrente(usuario.Id);

            return(_resultadoValidacao);
        }
        public ResultadoValidacao Pagar(int contaCorrenteId, decimal valor)
        {
            var contaCorrente = _repositoryContaCorrente.GetById(contaCorrenteId);

            if (contaCorrente == null)
            {
                return(ResultadoValidacao.Adiciona("Conta Corrente não encontrada"));
            }

            if (contaCorrente.Saldo < valor)
            {
                return(ResultadoValidacao.Adiciona("Saldo insuficiente"));
            }

            if (valor <= 0)
            {
                return(ResultadoValidacao.Adiciona("Valor deve ser maior que zero."));
            }

            contaCorrente.Saldo -= valor;

            _repositoryContaCorrente.Update(contaCorrente);

            ResultadoValidacao = _serviceHistoricoMovimento.Add(new HistoricoMovimento
            {
                TipoMovimento   = TpOperacaoFinanceira.Pagamento,
                ValorMovimento  = valor,
                ContaCorrenteId = contaCorrenteId
            });

            return(ResultadoValidacao);
        }
示例#3
0
 public void Dispose()
 {
     _repositorioUsuario.Dispose();
     _repositorioUsuario = null;
     _validadorUsuario   = null;
     _resultadoValidacao = null;
 }
 public ServiceContaCorrente(
     IRepositoryContaCorrente RepositoryContaCorrente,
     IServiceHistoricoMovimento ServiceHistoricoMovimento)
     : base(RepositoryContaCorrente)
 {
     _repositoryContaCorrente   = RepositoryContaCorrente;
     _serviceHistoricoMovimento = ServiceHistoricoMovimento;
     ResultadoValidacao         = new ResultadoValidacao();
 }
        public ResultadoValidacao Valide(UsuarioObj usuario)
        {
            if (_instancia == null)
            {
                _instancia = new ValidadorUsuario();
            }

            _resultadoValidacao = new ResultadoValidacao();

            return(_instancia.ApliqueRegrasValidacao(usuario));
        }
示例#6
0
        private ResultadoValidacao Processar(IEnumerable <TurmaAluno> turmaAlunosModel, IEnumerable <TurmaAluno> turmaAlunosBancoDados, string turmaId)
        {
            if (string.IsNullOrEmpty(turmaId))
            {
                throw new ArgumentNullException("O parâmetro turmaId não pode ser nulo ou vazio");
            }

            var validacao = new ResultadoValidacao();

            if (turmaAlunosModel != null)
            {
                if (turmaAlunosBancoDados != null)
                {
                    // Verifica os registros removidos pelo usuario e remove da base de dados
                    var registrosParaRemover = turmaAlunosBancoDados.Where(bd => !turmaAlunosModel.Select(m => m.Id).Contains(bd.Id));
                    registrosParaRemover.ToList().ForEach(x => repository.Remover(x));
                }

                // Verifica a acao a ser tomada
                foreach (var TurmaAlunoModel in turmaAlunosModel)
                {
                    // Se o model nao tiver id e um novo registro
                    if (string.IsNullOrEmpty(TurmaAlunoModel.Id))
                    {
                        validacao.AdicionarMensagens(this.Inserir(TurmaAlunoModel, turmaId));
                    }
                    else
                    {
                        // Carrega o registro da base de dados com o mesmo id do enviado pelo model
                        var TurmaAlunoBancoDados = turmaAlunosBancoDados?.SingleOrDefault(x => x.Id == TurmaAlunoModel.Id);
                        // Se tem id e nao em correspondente na base de dados insere um novo registro pois pode ser um segundo usuario inserindo
                        if (turmaAlunosBancoDados == null)
                        {
                            validacao.AdicionarMensagens(this.Inserir(TurmaAlunoModel, turmaId));
                        }
                        else
                        {
                            // Se acho correspondente na base de dados atualiza as informacoes e grava
                            validacao.AdicionarMensagens(this.Atualizar(TurmaAlunoModel, TurmaAlunoBancoDados));
                        }
                    }
                }
            }
            else
            {
                turmaAlunosBancoDados?.ToList().ForEach(x => repository.Remover(x));
            }

            return(validacao);
        }
        private ResultadoValidacao ApliqueRegrasValidacao(UsuarioObj usuario)
        {
            _resultadoValidacao = new ResultadoValidacao();

            if (usuario.Login == null)
            {
                _resultadoValidacao.AdicionaMensagemErro(ConstruaMensagem(MENSAGEM_CAMPO_OBRIGATORIO, "Login"));
            }

            if (usuario.Nome == null)
            {
                _resultadoValidacao.AdicionaMensagemErro(ConstruaMensagem(MENSAGEM_CAMPO_OBRIGATORIO, "Nome"));
            }

            if (usuario.Senha == null)
            {
                _resultadoValidacao.AdicionaMensagemErro(ConstruaMensagem(MENSAGEM_CAMPO_OBRIGATORIO, "Senha"));
            }

            if (usuario.Email == null)
            {
                _resultadoValidacao.AdicionaMensagemErro(ConstruaMensagem(MENSAGEM_CAMPO_OBRIGATORIO, "Email"));
            }

            //if (usuario.MesAtual == null)
            //{
            //    _resultadoValidacao.AdicionaMensagemErro(ConstruaMensagem(MENSAGEM_CAMPO_OBRIGATORIO, "MesAtual"));
            //}

            if (usuario.Login.Length < 6 || usuario.Login.Length > 30)
            {
                _resultadoValidacao.AdicionaMensagemErro(ConstruaMensagem(MENSAGEM_QUANTIDADE_CARACTERES, "Login.", 6, 30));
            }

            if (usuario.Nome.Length < 3 || usuario.Nome.Length > 50)
            {
                _resultadoValidacao.AdicionaMensagemErro(ConstruaMensagem(MENSAGEM_QUANTIDADE_CARACTERES, "Nome", 3, 50));
            }

            if (usuario.Senha.Length < 8 || usuario.Senha.Length > 30)
            {
                _resultadoValidacao.AdicionaMensagemErro(ConstruaMensagem(MENSAGEM_QUANTIDADE_CARACTERES, "Senha", 8, 30));
            }

            return(_resultadoValidacao);
        }
        public ResultadoValidacao DepositarRentabilizacao(int contaCorrenteId, decimal valor)
        {
            var contaCorrente = _repositoryContaCorrente.GetById(contaCorrenteId);

            contaCorrente.Saldo += valor;

            _repositoryContaCorrente.Update(contaCorrente);

            ResultadoValidacao = _serviceHistoricoMovimento.Add(new HistoricoMovimento
            {
                TipoMovimento   = TpOperacaoFinanceira.Rentabilizacao,
                ValorMovimento  = valor,
                ContaCorrenteId = contaCorrenteId
            });

            return(ResultadoValidacao);
        }
        public override ResultadoValidacao InserirRetornaModel(DML_BA_ESCOLA model)
        {
            var resultado = new ResultadoValidacao();

            PreencherDados(model);

            resultado = base.InserirRetornaModel(model);

            var res = new ResultadoValidacao(model.ID_ESCOLA);

            if (resultado.CodigoRetorno == res.CodigoRetorno)
            {
                resultado = res;
            }

            return(resultado);
        }
示例#10
0
        public ResultadoValidacao GetToken(string user, string password)
        {
            var usuario = _repositoryGeneric
                          .ReadOnlyQuery <Usuario>()
                          .FirstOrDefault(x => x.UserName.Equals(user) && x.Password.Equals(password));

            if (usuario == default(Usuario))
            {
                return(ResultadoValidacao.CriarErro("Usuário ou senha inválidos!"));
            }

            var claims = new[]
            {
                new Claim(USUARIO, usuario.UserName)
            };

            return(ResultadoValidacao.CriarSucesso(_autenticacao.GenerateToken(claims)));
        }
示例#11
0
        public ResultadoValidacao Cadastrar(UsuarioObj usuario)
        {
            try
            {
                _resultadoValidacao.LimpaErros();

                _resultadoValidacao = _validadorUsuario.Valide(usuario);

                if (_resultadoValidacao.Sucesso)
                {
                    _repositorioUsuario.InsiraUsuario(usuario);
                }

                return(_resultadoValidacao);
            } catch (Exception e)
            {
                throw e;
            }
        }
示例#12
0
        public bool LogueUsuario()
        {
            try
            {
                _tela.CarregueDadosTela();
                _resultadoServico = _servicoUsuario.ConfirmarLogin(_tela.Usuario, _tela.Senha);

                if (_resultadoServico.Sucesso)
                {
                    return(true);
                }
                else
                {
                    new frmValidacoes(_resultadoServico).MostreInconsistencias();
                }
            } catch (MyException e)
            {
                new frmExcecao(e).TrateExcecao();
            }
            return(false);
        }
示例#13
0
        public ResultadoValidacao ExcluirConta(UsuarioObj usuario)
        {
            _resultadoValidacao.LimpaErros();

            var validacoesUsuario = new ValidacoesUsuario(_resultadoValidacao);

            try
            {
                _resultadoValidacao = validacoesUsuario.ValidaExclusaoContaLogada(usuario);

                if (!_resultadoValidacao.Sucesso)
                {
                    _repositorioUsuario.RemovaUsuario(usuario.Id);
                }

                return(_resultadoValidacao);
            } catch (Exception e)
            {
                throw e;
            }
        }
示例#14
0
 public frmValidacoes(ResultadoValidacao resultadoValidacao)
 {
     InitializeComponent();
     _resultadoValidacao = resultadoValidacao;
 }
示例#15
0
 public ServiceBase(IRepositoryBase <TEntity> Repository)
 {
     _repository        = Repository;
     ResultadoValidacao = new ResultadoValidacao();
 }
        public IResultadoApplication AdicionarMensagem(ResultadoValidacao resultadoValidacao)
        {
            var erros = resultadoValidacao.Errors.Select(x => x.ErrorMessage).ToArray();

            return(this.AdicionarMensagem(erros));
        }
示例#17
0
 public ServicoDeUsuario(IValidadorUsuario validador, IRepositorioUsuario repositorio)
 {
     _validadorUsuario   = validador;
     _repositorioUsuario = repositorio;
     _resultadoValidacao = new ResultadoValidacao();
 }
 public ValidacoesLogin(ResultadoValidacao resultadoValidacao)
 {
     _resultadoValidacao = resultadoValidacao;
 }
示例#19
0
 public ValidacoesUsuario(ResultadoValidacao resultadoValidacao)
 {
     _resultadoValidacao = resultadoValidacao;
 }
 public ServiceHistoricoMovimento(IRepositoryHistoricoMovimento RepositoryHistoricoMovimento)
 {
     _repositoryHistoricoMovimento = RepositoryHistoricoMovimento;
     ResultadoValidacao            = new ResultadoValidacao();
 }