Exemplo n.º 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 Depositar(int contaCorrenteId, decimal valor)
        {
            var contaCorrente = _repositoryContaCorrente.GetById(contaCorrenteId);

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

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

            contaCorrente.Saldo += valor;

            _repositoryContaCorrente.Update(contaCorrente);

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

            return(ResultadoValidacao);
        }