예제 #1
0
        public void PagamentoComValorMenorOuIgualAoTotal(double valorTotal, double ValorPago)
        {
            var endereco = new Endereco
                           (
                new CEP("94100-300"),
                "Teste",
                ELogradouro.avenida,
                "289A",
                "Centro"
                           );


            var pagamento = new PagamentoBoleto(
                "4654asd",
                "654684164884684",
                DateTime.Now,
                DateTime.Now.AddDays(5),
                Convert.ToDecimal(valorTotal),
                Convert.ToDecimal(ValorPago),
                new Documento("896.350.050-08", EDocumento.CPF),
                "Cristiano Cunha",
                endereco,
                new Email("*****@*****.**"));

            Assert.IsTrue(pagamento.Valid);
        }
예제 #2
0
        static void Main(string[] args)
        {
            Pagamento pb = new PagamentoBoleto(1, "Muito Bom!");

            Pagamento pc = new PagamentoCartao()
            {
                Id        = 1,
                Descricao = "Top",
                Valor     = 2000
            };

            PagamentoPix pix = new PagamentoPix()
            {
                Id        = 1,
                Descricao = "Uia",
                Valor     = 5000,
                Chave     = new Chave()
                {
                    Id    = 1,
                    Tipo  = "cpf",
                    Valor = 1000
                }
            };

            Console.WriteLine("Validação: " + pix.ValidaValor());

            //Console.WriteLine("Teste Protect: " + pix.ELegal());

            if (pix.IncluirPagamento())
            {
                Console.WriteLine(pix);
            }

            Console.ReadKey();
        }
        public IResultadoComando Manipula(ComandoCriarAssinaturaBoleto comando)
        {
            // Fail fast Validations
            comando.Validar();
            if (comando.Invalid)
            {
                AddNotifications(comando);
                return(new ResultadoComando(false, "Não foi possivel realizar sua assinatura"));
            }

            // Verificar se o Documento já está cadastrado
            if (_repositorio.DocumentoExiste(comando.NumeroDoDocumento))
            {
                AddNotification("Documento", "Este CPF já está em uso");
            }

            // Verificar se E-mail já está cadastrado
            if (_repositorio.EmailExiste(comando.Email))
            {
                AddNotification("Email", "Este E-mail já está em uso");
            }

            // Gerar os VOs
            var name     = new Nome(comando.PrimeiroNome, comando.Sobrenome);
            var document = new Documento(comando.NumeroDoDocumento, ETipoDocumento.CPF);
            var email    = new Email(comando.Email);
            var address  = new Endereco(comando.Rua, comando.Numero, null, null, comando.Bairro, comando.Cidade, comando.Estado);

            // Gerar as Entidades
            var student      = new Estudante(name, document, email);
            var subscription = new Assinatura(null);
            var pagamento    = new PagamentoBoleto(comando.CodigoDeBarras, comando.NossoNumero, new Email(comando.Email), comando.DataDePagamento, comando.DataDeExpiracao, comando.Total, comando.TotalPago, comando.Pagante, new Documento(comando.NumeroDoDocumento, ETipoDocumento.CPF), null);

            // Relacionamentos
            subscription.AdicionarPagamento(pagamento);
            student.AdicionaAssinatura(subscription);

            //Agrupar as Validações
            AddNotifications(name, document, email, address, student, subscription, pagamento);

            // Checar as notificações
            if (Invalid)
            {
                return(new ResultadoComando(false, "Não foi possível realizar sua assinatura"));
            }

            // Salvar as Informações
            _repositorio.CriarAssinatura(student);

            // Enviar E-mail de boas vindas
            _servicoDeEmail.Enviar(student.Nome.ToString(), student.Email.Endereco, "Bem vindo à Simasoft Holdings", "Seja bem vindo! Sua assinatura foi criada");

            //Retornar informações
            return(new ResultadoComando(true, "Cadastro efetuado com sucesso!"));
        }
        public PagamentoBoleto InserirPagamentoBoleto(PagamentoBoleto pagamento)
        {
            MySqlCommand command = Connection.Instance.CreateCommand();

            command.CommandText = "INSERT INTO `ProjetoBanking`.`Pagamento_Boleto` (`Pagamento_Pagamento_Boleto_id`, `Pagamento_Boleto_codigo`, `Pagamento_Boleto_vencimento`) " +
                                  "VALUES (@id, @boleto_cod,@vencimento);";
            command.Parameters.AddWithValue("@id", pagamento.Id);
            command.Parameters.AddWithValue("@boleto_cod", pagamento.Codigo);
            command.Parameters.AddWithValue("@vencimento", pagamento.Vencimento);
            command.ExecuteNonQuery();
            return(pagamento);
        }
예제 #5
0
        private void buttonBoleto_Click(object sender, EventArgs e)
        {
            Ingresso ingresso = GerarIngresso();

            PagamentoBoleto pagamentoBoleto = new PagamentoBoleto();

            pagamentoBoleto.Valorapagar = ingresso.Valorinteiro ? evento.Valoringresso : evento.Valoringresso / 2;

            ingresso.Pagamentoboletos.Add(pagamentoBoleto);

            ingressoController.Save(ingresso);
            Helper.ShowSucesso($"Boleto enviado para {cliente.Email}!");
            Close();
        }
        public PagamentoBoleto BuscarPagamentoBoletoPorId(int id)
        {
            MySqlCommand command = Connection.Instance.CreateCommand();

            command.CommandText = "SELECT * FROM projetobanking.pagamento_boleto" +
                                  " WHERE Pagamento_Pagamento_Boleto_id = @id;";
            command.Parameters.AddWithValue("@id", id);
            var             reader = command.ExecuteReader();
            PagamentoBoleto boleto = null;

            while (reader.Read())
            {
                boleto = new PagamentoBoleto()
                {
                    Codigo     = Convert.ToInt32(reader["Pagamento_Boleto_codigo"]),
                    Vencimento = Convert.ToDateTime(reader["Pagamento_Boleto_vencimento"]),
                };
            }
            reader.Close();
            return(boleto);
        }
예제 #7
0
        public void SucessoAoAtivarAssinatura()
        {
            var endereco = new Endereco
                           (
                new CEP("94100-300"),
                "Teste",
                ELogradouro.avenida,
                "289A",
                "Centro"
                           );

            var pagamento = new PagamentoBoleto(
                "4654asd",
                "654684164884684",
                DateTime.Now,
                DateTime.Now.AddDays(5),
                150, 0,
                new Documento("896.350.050-08", EDocumento.CPF),
                "Cristiano Cunha",
                endereco,
                new Email("*****@*****.**"));

            var assinatura = new Assinatura(DateTime.Now.AddDays(30));


            var aluno = new Aluno(
                new Nome("Cristiano", "Cunha"),
                new Email("*****@*****.**"),
                new Documento("896.350.050-08", EDocumento.CPF));

            assinatura.AddicionarPagamento(pagamento);

            aluno.AdicionarAssinatura(assinatura);

            Assert.IsTrue(aluno.Valid);
        }
        public IResultadoComando Cabecalho(ComandoCriarAssinaturaBoleto comando)
        {
            #region Verifica falhas nas validações
            comando.Validate();
            if (comando.Invalid)
            {
                AddNotifications(comando);
                return(new ResultadoComando(false, "Não foi possivel realizar seu cadastro"));
            }
            #endregion

            #region Verifica se o documento já esta cadastrado
            if (_repositorio.ExisteDocumento(comando.Documento))
            {
                AddNotification("Documento", "Este CPF já existe em uso");
            }
            #endregion

            #region Verificar se o Email ja esta cadastrado
            if (_repositorio.ExisteEmail(comando.Email))
            {
                AddNotification("Email", "Este Email já existe em uso");
            }
            #endregion

            #region Gerar os VOs
            var nome      = new Nome(comando.PrimeiroNome, comando.UltimoNome);
            var documento = new Documento(comando.Documento, ETipoDocumentos.CPF);
            var email     = new Email(comando.Email);
            var endereco  = new Endereco(comando.Rua, comando.Numero, comando.Complemento, comando.Bairro, comando.Cidade, comando.Estado, comando.CEP);
            #endregion

            #region Gerar as Entidades
            var aluno      = new Aluno(nome, documento, email);
            var assinatura = new Assinatura(DateTime.Now.AddMonths(1));
            var pagamento  = new PagamentoBoleto(
                comando.CodigoDeBarras,
                comando.NumeroBoleto,
                comando.DataPagamento,
                comando.DataExpiracao,
                comando.Total,
                comando.TotalPagamento,
                endereco,
                documento,
                comando.ProprietarioDocumento,
                email);
            #endregion

            #region Relacionamento
            assinatura.AdicionarPagamento(pagamento);
            aluno.AdicionarAssinatura(assinatura);
            #endregion

            #region Agrupar as validações
            AddNotifications(nome, email, documento, endereco, aluno, assinatura, pagamento);
            #endregion

            #region Checar validações
            if (Invalid)
            {
                return(new ResultadoComando(false, "Não foi possivel realizar sua assinatura"));
            }
            #endregion

            #region Salvar as informações
            _repositorio.CriarAssinatura(aluno);
            #endregion

            #region Enviar o email de boas vindas
            _emailRepositorio.Enviar(
                aluno.Nome.ToString(),
                aluno.Email.Emdereco,
                "Bem vindo a nosso site!",
                "Sua assinatura foi criada com successo");
            #endregion

            #region Retornar informações
            return(new ResultadoComando(true, "Assinatura realizada com sucesso"));

            #endregion
        }
 public void PagarPagamentoBoleto(PagamentoBoleto pagamento)
 {
     new ContaDAO().Transferir(null, new ContaDAO().PesquisarContaPorNumero(2),
                               (float)pagamento.Valor, "Pagamento Parcela Empréstimo Boleto");
 }
        public IComandoResultado Manipulador(ComandoCriarAssinaturaBoleto comando)
        {
            // Fail Fast Validate
            comando.Validar();
            if (comando.Invalid)
            {
                AddNotifications(comando);
                return(new ComandoResultado(false, "Não foi possível realizar sua assinatura", comando));
            }

            // Verificar se Documento já esta Cadastrado
            if (_alunoRepositorio.DocumentoExiste(comando.Documento))
            {
                AddNotification("Documento", "Este documento já está em uso!");
            }

            // Verificar se Email ja esta cadastrado
            if (_alunoRepositorio.EmailExiste(comando.Documento))
            {
                AddNotification("Email", "Este e-mail já está em uso!");
            }

            //  Gerar os VOs (Valor Objeto)
            var documento = new Documento(comando.Documento, eTipoDocumento.CPF);
            var email     = new Email(comando.Email);
            var nome      = new Nome(comando.PrimeiroNome, comando.Sobrenome);
            var endereco  = new Endereco(comando.Descricao, comando.Numero, comando.Bairro, comando.Cidade, comando.Estado, comando.Pais, comando.Cep);

            // Gerar Entidades
            var aluno      = new Aluno(nome, documento, email);
            var assinatura = new Assinatura(DateTime.Now.AddMonths(1));
            var pagamento  = new PagamentoBoleto(
                comando.CodigoBarras,
                comando.NossoNumero,
                comando.DataPagamento,
                comando.DataExpiracao,
                comando.ValorTotal,
                comando.ValorPago,
                comando.Pagador,
                new Documento(comando.PagadorDocumento, comando.PagadorTipoDocumento),
                endereco, // Endereco correto é do pagador (comando. Informacoes do pagador)
                email);

            // Relacionamentos
            assinatura.AdicionarPagamento(pagamento);
            aluno.AdicionarAssinatura(assinatura);

            // Aplicar Validações
            AddNotifications(nome, documento, email, endereco, aluno, assinatura, pagamento);

            // Checar Notificacoes
            if (Invalid)
            {
                return(new ComandoResultado(false, "Não foi possível realizar sua assinatura!", aluno));
            }

            // Salvar Informacoes
            _alunoRepositorio.CriarAssinatura(aluno);

            // Enviar Email de boas-vindas
            _emailServico.Enviar(aluno.Nome.ToString(), aluno.Email.Endereco, "Bem Vindo!", "Sua assinatura foi criada!");

            // Retornar informacoes
            return(new ComandoResultado(true, "Assinatura realizada com sucesso!", aluno));
        }