Exemplo n.º 1
0
        public ICommandResult Handle(AssinaturaBoletoCommand command)
        {
            //fail fast validations
            command.Validate();

            if (command.Invalid)
            {
                AddNotifications(command);
                return(new CommandResult(false, "Não foi possível realizar sua assinatura."));
            }

            //Verificar se documento ja esta cadastrado
            if (estudanteRepository.DocumentoExiste(command.Documento))
            {
                AddNotification("Documento", "Este CPF já está em uso");
            }

            //verificar se email ja esta cadastrado
            if (estudanteRepository.EmailExiste(command.Documento))
            {
                AddNotification("Email", "Este E-mail já está em uso");
            }

            //gerar os vos
            var nome      = new Nome(command.PrimeiroNome, command.UltimoNome);
            var documento = new Documento(command.Documento, EDocumentoTipo.CPF);
            var email     = new Email(command.Email);
            var endereco  = new Endereco(command.Rua, command.Numero, command.Bairro, command.Cidade, command.Estado, command.Pais, command.CEP);

            //gerar as entidades
            var estudante  = new Estudante(nome, documento, email);
            var assinatura = new Assinatura(DateTime.Now.AddMonths(1));
            var pagamento  = new Boleto(
                command.CodigoBarras,
                command.NumeroBoleto,
                command.DataPagamento,
                command.DataExpiracao,
                command.Total,
                command.TotalPago,
                command.Pagador,
                new Documento(command.PagadorDocumento, command.PagadorDocumentoTipo),
                endereco,
                email);

            //relacionamentos
            assinatura.AdicionarPagamento(pagamento);
            estudante.AdicionarAssinatura(assinatura);

            //agrupar as validações
            AddNotifications(nome, documento, email, endereco, estudante, assinatura, pagamento);

            //salvar as informações
            estudanteRepository.CriarAssinatura(estudante);

            //enviar email de boas vindas
            emailService.Send(estudante.Nome.ToString(), estudante.Email.EnderecoEmail, "Bem vindo ao serviço de assinatura", "Sua assinatura foi criada com sucesso.");

            //retornar as informações
            return(new CommandResult(true, "Assinatura realizada com sucesso."));
        }
Exemplo n.º 2
0
        public async Task <ActionResult> CadastrarSocioPlano(SocioWizard socioWizard)
        {
            var Socio = new Socio
            {
                Cidade = socioWizard.Cidade,
                CPF    = socioWizard.CPF,
                Email  = socioWizard.Email,
                Nome   = socioWizard.Nome,
                Pais   = socioWizard.Pais,
                Rua    = socioWizard.Rua
            };

            var socioId = _context.Socios.Add(Socio);

            await _context.SaveChangesAsync();

            var Assinatura = new Assinatura {
                IDSOCIO_FK = socioId.Entity.ID, IDPLANO_FK = Int32.Parse(socioWizard.PlanoId),
                DataInicio = DateTime.Now, DataFim = DateTime.Now.AddYears(1), FLG_ATIVA = false
            };

            _context.Assinaturas.Add(Assinatura);

            await _context.SaveChangesAsync();

            return(null);
        }
 public Assinatura trazerAssinaturaCliente(int id)
 {
     try
     {
         Assinatura assinatura = new Assinatura();
         using (cmd = new MySqlCommand("SP_trazerAssinaturaCliente", Conexao.conexao))
         {
             conexao.abrirConexao();
             cmd.CommandType = CommandType.StoredProcedure;
             cmd.Parameters.AddWithValue("@ID", id);
             dr = cmd.ExecuteReader();
             while (dr.Read())
             {
                 assinatura.Id           = Convert.ToInt32(dr["idAssinatura"]);
                 assinatura.Nome         = dr["nomeAssinatura"].ToString();
                 assinatura.Tipo         = dr["tipo"].ToString();
                 assinatura.IdCliente    = id;
                 assinatura.Cliente.Cpf  = dr["cpf"].ToString();
                 assinatura.Cliente.Nome = dr["nome"].ToString();
                 assinatura.Cliente.Id   = Convert.ToInt32(dr["id"]);
                 assinatura.Valor        = Convert.ToDecimal(dr["valor"]);
             }
         }
         return(assinatura);
     }
     catch (Exception e)
     {
         throw new Exception(e.Message);
     }
     finally
     {
         dr.Close();
     }
 }
Exemplo n.º 4
0
        public async Task IncluiAssinaturaAsync(Assinatura assinatura)
        {
            if (assinatura == null)
            {
                throw new ArgumentNullException(nameof(assinatura));
            }

            var cliente = await clienteReadOnlyRepository.RetornaClienteSemAssinaturaAsync(assinatura.ClienteId);

            if (cliente == null)
            {
                throw new ClienteCoreException(ClienteCoreError.ClienteNaoEncontrado);
            }

            var temAssinaturaAtiva = cliente.Assinaturas.Any(c => c.Ativa);

            if (temAssinaturaAtiva)
            {
                throw new AssinaturaCoreException().AddError(AssinaturaCoreError.AssinaturaAtiva);
            }

            await assinaturaWriteOnlyRepository.IncluiAssinaturaAsync(assinatura);

            //await notificacaoAdapter.EnviaAsync(cliente.Telefone, "Assinatura incluída com sucesso");
        }
Exemplo n.º 5
0
        public void RetornarErroQuandoAssinaturaSemPagamento()
        {
            var assinatura = new Assinatura(null);

            _aluno.AdicionarAssinatura(assinatura);
            Assert.IsTrue(_aluno.Invalid);
        }
Exemplo n.º 6
0
 public LoginService(IUsuarioRepositorio repositorio, Assinatura assinatura, TokenConfiguracao token, IConfiguration configuration)
 {
     _repositorio   = repositorio;
     _assinatura    = assinatura;
     _token         = token;
     _configuration = configuration;
 }
Exemplo n.º 7
0
 public EstudanteTests()
 {
     _nome       = new Nome("Maria", "Bonita");
     _documento  = new Documento("30030030030", ETipoDocumento.CPF);
     _endereco   = new Endereco("Rua A", "1", "Calangos", "Aracaju", "SE", "Brasil", "4900000");
     _email      = new Email("*****@*****.**");
     _estudante  = new Estudante(_nome, _documento, _email);
     _assinatura = new Assinatura(null);
 }
        public void Salvar(Assinatura assinatura)
        {
            var uow        = container.Resolve <IUnitOfWork>();
            var repository = container.Resolve <IAssinaturaRepository>();

            uow.BeginTransaction();
            repository.Save(assinatura);
            uow.Commit();
        }
Exemplo n.º 9
0
 public AlunoTeste()
 {
     _nome       = new Nome("Victor", "Santos");
     _documento  = new Documento("42463930888", ETipoDocumentos.CPF);
     _email      = new Email("*****@*****.**");
     _endereco   = new Endereco("Rua 1", "123", "aaa", "jaragua", "são paulo", "sp", "02995100");
     _aluno      = new Aluno(_nome, _documento, _email);
     _assinatura = new Assinatura(null);
 }
Exemplo n.º 10
0
        public async Task Update(Assinatura assinatura)
        {
            if (!ExecutarValidacao(new AssinaturaValidator(), assinatura))
            {
                return;
            }

            await _assinaturaRepository.Put(assinatura);
        }
Exemplo n.º 11
0
        public void DeveRetornarSucessoQuandoAdicionarAssinatura()
        {
            var subscription = new Assinatura(null);
            var payment      = new PagamentoPaypal(_email, "12345678", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, "Wayne Industries ACME", _document, _address);

            subscription.AdicionarPagamento(payment);
            _student.AdicionaAssinatura(subscription);
            Assert.IsTrue(_student.Valid);
        }
Exemplo n.º 12
0
 public EstudandeTestes()
 {
     _name       = new Name("Glauber", "Castro");
     _documento  = new Documento("10742473619", EDocumentType.CPF);
     _email      = new Email("*****@*****.**");
     _estudante  = new Estudante(_name, _documento, _email);
     _assinatura = new Assinatura(null);
     _endereco   = new Endereco("Rua 1", "1234", "Praca Raul", "Barro preto", "Belo Horizonte", "Brasil", "30170110");
 }
Exemplo n.º 13
0
 public EstudanteTest()
 {
     nome       = new Nome("Bruce", "Wayne");
     documento  = new Documento("12456412121", EDocumentoTipo.CPF);
     email      = new Email("*****@*****.**");
     endereco   = new Endereco("Rua 1", "123", "Rocha Miranda", "Rio de Janeiro", "RJ", "Brasil", "22510456");
     estudante  = new Estudante(nome, documento, email);
     assinatura = new Assinatura(null);
 }
Exemplo n.º 14
0
 public TesteEstudante()
 {
     _nome       = new Name("Edvilson", "Almeida");
     _documento  = new Document("02088866051", EDocumentType.CPF);
     _email      = new Email("*****@*****.**");
     _endereco   = new Endereco("Av Prefeito Ary", "145", "142", "Pelotas", "RS", "Brasil", "1452");
     _estudante  = new Estudante(_nome, _documento, _email);
     _assinatura = new Assinatura(null);
 }
Exemplo n.º 15
0
        public ICommandResult Handle(CriarAssinaturaPayPalCommand command)
        {
            // Fail Fast Validations
            command.Validate();
            if (command.Invalid)
            {
                AddNotifications(command);
                return(new CommandResult(false, "Não foi possível realizar sua assinatura"));
            }

            // Verificar se documento já está cadastrado
            if (_repository.DocumentoExiste(command.Documento))
            {
                AddNotification("Documemnto", "Este CPF já está em uso");
            }

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

            // Gerar os VOs
            var nome      = new Nome(command.PrimeiroNome, command.Sobrenome);
            var documento = new Documento(command.Documento, ETipoDocumento.CPF);
            var endereco  = new Endereco(command.Logradouro, command.NumeroEndereco, command.Bairro, command.Cidade, command.Estado, command.Pais, command.CEP);
            var email     = new Email(command.Email);

            // Gerar as entidades
            var estudante  = new Estudante(nome, documento, email);
            var assinatura = new Assinatura(DateTime.Now.AddMonths(1));
            var pagamento  = new PaypalPagamento(command.CodigoTransacao, command.DataPagamento, command.DataVencimento, command.ValorGerado, command.ValorPago,
                                                 endereco, command.Pagador, new Documento(command.PagadorDocumento, command.PagadorDocumentoTipo), email);

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

            // Aplicar as validacoes
            AddNotifications(nome, documento, email, endereco, estudante, assinatura, pagamento);

            // Checar as notificacoes
            if (Invalid)
            {
                return(new CommandResult(false, "Não foi possível realizar sua assinatura"));
            }

            // Salvar as informacoes
            _repository.CriarAssinatura(estudante);

            // Enviar e-mail de boas vindas
            // Chamar servico de e-mail

            // Retornar informacoes
            return(new CommandResult(true, "Assinatura realizada com sucesso"));
        }
Exemplo n.º 16
0
        public ActionResult Checkguid(CertidaoViewModel model, string c)
        {
            Imovel_bll imovelRepository       = new Imovel_bll(_connection);
            Itbi_isencao_main_Struct   _itbi  = imovelRepository.Retorna_Itbi_Isencao_Main(c);
            List <Itbi_isencao_imovel> _Lista = imovelRepository.Retorna_Itbi_Isencao_Imovel(c);

            ReportDocument rd = new ReportDocument();

            rd.Load(System.Web.HttpContext.Current.Server.MapPath("~/Reports/Certidao_Isencao_Itbi_Valida.rpt"));
            TableLogOnInfos            crtableLogoninfos = new TableLogOnInfos();
            TableLogOnInfo             crtableLogoninfo  = new TableLogOnInfo();
            ConnectionInfo             crConnectionInfo  = new ConnectionInfo();
            Tables                     CrTables;
            string                     myConn    = ConfigurationManager.ConnectionStrings[_connection].ToString();
            SqlConnectionStringBuilder builder   = new SqlConnectionStringBuilder(myConn);
            string                     IPAddress = builder.DataSource;
            string                     _userId   = builder.UserID;
            string                     _pwd      = builder.Password;

            crConnectionInfo.ServerName   = IPAddress;
            crConnectionInfo.DatabaseName = "Tributacao";
            crConnectionInfo.UserID       = _userId;
            crConnectionInfo.Password     = _pwd;
            CrTables = rd.Database.Tables;
            foreach (Table CrTable in CrTables)
            {
                crtableLogoninfo = CrTable.LogOnInfo;
                crtableLogoninfo.ConnectionInfo = crConnectionInfo;
                CrTable.ApplyLogOnInfo(crtableLogoninfo);
            }

            Sistema_bll   sistemaRepository = new Sistema_bll(_connection);
            Assinatura    assinatura        = sistemaRepository.Retorna_Usuario_Assinatura(_itbi.Fiscal_id);
            usuarioStruct usuario           = sistemaRepository.Retorna_Usuario(_itbi.Fiscal_id);

            rd.SetParameterValue("ANONUMERO", _itbi.Isencao_numero.ToString("00000") + "/" + _itbi.Isencao_ano.ToString("0000"));
            rd.SetParameterValue("NATUREZA", _itbi.Natureza_Nome);
            rd.SetParameterValue("NOMEFISCAL", usuario.Nome_completo);
            rd.SetParameterValue("CARGO", assinatura.Cargo);

            string imovel = "";

            foreach (Itbi_isencao_imovel item in _Lista)
            {
                imovel += item.Descricao + ", ";
            }
            imovel = imovel.Substring(0, imovel.Length - 2);
            rd.SetParameterValue("IMOVEL", imovel);
            try {
                rd.RecordSelectionFormula = "{itbi_isencao_main.guid}='" + c + "'";
                Stream stream = rd.ExportToStream(ExportFormatType.PortableDocFormat);
                return(File(stream, "application/pdf", "Certidao_Isencao_Itbi_Valida.pdf"));
            } catch {
                throw;
            }
        }
Exemplo n.º 17
0
        public void RetornaSucessoQuandoAddAssinatura()

        {
            var subscription = new Assinatura(null);
            var pagamento    = new PagamentoPayPal("123456", DateTime.Now, DateTime.Now.AddDays(5), 10, "Glauber", 10, _endereco, _email, _documento);

            subscription.AdcionarPagamento(pagamento);
            _estudante.AdcionarAssinatura(subscription);
            Assert.IsTrue(_estudante.Valid);
        }
Exemplo n.º 18
0
        public void DeveRetornarErroQuandoAssinaturaNaoTiverPagamento()
        {
            var subscription = new Assinatura(null);

            _student.AdicionaAssinatura(subscription);
            //Green(2)
            Assert.IsTrue(_student.Invalid);
            //Red (1)
            //Assert.Fail();
        }
        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!"));
        }
Exemplo n.º 20
0
        public List <IRLib.Assinaturas.Models.AssinaturasDesmembradas> BuscarRelatorio(int AssinaturaTipoID, int Temporadas, int Assinaturas)
        {
            try
            {
                Assinatura oAssinatura = new Assinatura();
                var        filtro      = "";

                if (Assinaturas > 0)
                {
                    filtro = " AND a.ID = " + Assinaturas;
                }

                string sql = @"SELECT ad.Motivo,l.Codigo as Lugar, s.Nome as Setor,a.Nome as Assinatura,
                        aa.Ano as Temporada,u.Nome as Usuario, c.Nome as ClienteAtual, cd.Nome as ClienteAntigo,
                        ac.Desmembrada,ad.TimeStamp,ad.Motivo 
                        FROM tAssinaturaCliente ac (NOLOCK) 
                        INNER JOIN tLugar l (NOLOCK) ON l.ID = ac.LugarID
                        INNER JOIN tSetor s (NOLOCK) ON s.ID = ac.SetorID
                        INNER JOIN tAssinatura a (NOLOCK) ON a.ID = ac.AssinaturaID
                        INNER JOIN tAssinaturaAno aa (NOLOCK) ON aa.ID = ac.AssinaturaAnoID
                        INNER JOIN tCliente c (NOLOCK) ON c.ID = ac.ClienteID
                        LEFT JOIN tAssinaturaDesmembramento ad (NOLOCK) ON ac.ID = ad.AssinaturaClienteID
                        LEFT JOIN tUsuario u (NOLOCK) ON u.ID = ad.UsuarioID
                        LEFT JOIN tCliente cd (NOLOCK) ON cd.ID = ad.AntigoClienteID
                        Where ac.Desmembrada = 'T' AND aa.Ano =  '" + Temporadas + "' AND a.AssinaturaTipoID = " + AssinaturaTipoID + filtro + "  Order by c.Nome ";

                bd.Consulta(sql);

                var lstRetorno = new List <Models.AssinaturasDesmembradas>();

                Models.AssinaturasDesmembradas eABaux = new Models.AssinaturasDesmembradas();

                while (bd.Consulta().Read())
                {
                    eABaux = new Models.AssinaturasDesmembradas()
                    {
                        Antigo  = bd.LerString("ClienteAntigo"),
                        Atual   = bd.LerString("ClienteAtual"),
                        Data    = bd.LerDateTime("TimeStamp"),
                        Assento = bd.LerString("Lugar"),
                        Motivo  = bd.LerString("Motivo"),
                    };
                    lstRetorno.Add(eABaux);
                }

                return(lstRetorno);
            }
            finally
            {
                bd.Fechar();
            }
        }
Exemplo n.º 21
0
        public void TestMethod1()
        {
            //Obs Lembrando que class abstract nao pode ser "Estanciada" direto
            //No nosso caro a Entiti "Pagamento" esta declarada como "Abstract" essa declaração foi feita para corrigir um falha de negocio,
            // dessa forma vc fecha ela, forçando a pessoa a usar a regra ne negocio, os metodos que estao declarados na Entidade "Pagamento"
            // que sao as 3 formas de pagamento .. Boleto, Cartao e Paypal com seus respectivos juntamente com seus parametros
            //Exemplo       ->    var paypa = new Boleto("Parametros","..",..);
            var estudante = new Estudante("Alex", "Marafon", "123456", "*****@*****.**");

            var assinatura = new Assinatura(null);

            estudante.AddAssinatura(assinatura);
        }
Exemplo n.º 22
0
        public ClienteVINDI SalvarCliente(Cliente cliente, Assinatura assinatura, CartaoCredito cartao)
        {
            var phones = new List <Phone>();

            phones.Add(new Phone
            {
                phone_type = "mobile",
                number     = "55" + cliente.Telefone,
                extension  = ""
            });

            var customer = new ClienteVINDI()
            {
                name          = cliente.Nome,
                email         = cliente.Email,
                registry_code = cliente.CPF,
                address       = new Address
                {
                    street             = cliente.Logradouro,
                    number             = cliente.Numero,
                    additional_details = cliente.Complemento,
                    zipcode            = cliente.CEP,
                    state        = cliente.Estado,
                    city         = cliente.Cidade,
                    country      = "BR",
                    neighborhood = cliente.Bairro
                },
                phones = phones
            };


            var url = $"https://app.vindi.com.br:443/api/v1/customers";

            var json   = JsonConvert.SerializeObject(customer);
            var result = servicoApi.PostDataAuth <ClienteVINDIResponse>(url, json);

            if (result.Errors.Any())
            {
                var errors = "";
                foreach (var item in result.Errors)
                {
                    errors = errors + item.id + " - " + item.message + " - " + item.parameter;
                    AdicionarNotificacao(errors);
                }

                return(null);
            }

            clienteRepositorio.SalvarCliente(cliente, assinatura, cartao);
            return(result.Customer);
        }
Exemplo n.º 23
0
        public void DeveRetornarErroQuandoTiverAssinaturaAtiva()
        {
            var subscription = new Assinatura(null);
            var payment      = new PagamentoPaypal(_email, "12345678", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, "Wayne Industries ACME", _document, _address);

            subscription.AdicionarPagamento(payment);
            _student.AdicionaAssinatura(subscription);
            _student.AdicionaAssinatura(subscription);

            //Green(2)
            Assert.IsTrue(_student.Invalid);
            //Red (1)
            //Assert.Fail();
        }
Exemplo n.º 24
0
        public async Task Throw_Exception_When_Try_Add_Two_ActiveSubscription()
        {
            var subscriptionService = serviceProvider.GetService <IAssinaturaService>();

            var subscription = new Assinatura
            {
                ClienteId     = Guid.Parse("EFFE408A-5312-4094-B8CA-6B005A307FAF"),
                Ativa         = true,
                DataCriacao   = DateTime.Now,
                DataExpiracao = DateTime.Now.AddDays(10),
            };

            await Assert.ThrowsAsync <AssinaturaCoreException>(async() => await subscriptionService.IncluiAssinaturaAsync(subscription));
        }
Exemplo n.º 25
0
        public async Task Add_Client_Subscription()
        {
            var subscriptionService = serviceProvider.GetService <IAssinaturaService>();

            var subscription = new Assinatura
            {
                ClienteId             = Guid.Parse("4781C571-C246-470B-9CD5-13D3D169E799"),
                Ativa                 = true,
                DataCriacao           = DateTime.Now,
                DataExpiracao         = DateTime.Now.AddDays(10),
                DataUltimaAtualizacao = null
            };

            await subscriptionService.IncluiAssinaturaAsync(subscription);

            Assert.True(subscription.Id != Guid.Empty);
        }
Exemplo n.º 26
0
        public ClienteVINDI SalvarEmpresa(EmpresaSQL empresa, Assinatura assinatura, CartaoCredito cartao, List <Socio> socios, Competencia competencia)
        {
            var phones = new List <Phone>();

            phones.Add(new Phone
            {
                phone_type = "landline",
                number     = "55" + empresa.Telefone
            });

            phones.Add(new Phone
            {
                phone_type = "mobile",
                number     = "55" + empresa.Telefone2,
            });

            var customer = new ClienteVINDI()
            {
                name          = empresa.RazaoSocial,
                email         = empresa.Email,
                registry_code = empresa.CNPJ,
                phones        = phones
            };


            var url = $"https://app.vindi.com.br:443/api/v1/customers";

            var json   = JsonConvert.SerializeObject(customer);
            var result = servicoApi.PostDataAuth <ClienteVINDIResponse>(url, json);

            if (result.Errors.Any())
            {
                var errors = "";
                foreach (var item in result.Errors)
                {
                    errors = errors + item.id + " - " + item.message + " - " + item.parameter;
                    AdicionarNotificacao(errors);
                }

                return(null);
            }

            clienteRepositorio.SalvarEmpresa(empresa, assinatura, cartao, socios, competencia);
            return(result.Customer);
        }
Exemplo n.º 27
0
        public ActionResult CriarAssinatura(LinkViewModel model)
        {
            int Id;

            if (int.TryParse(Util.Decrypt(model.Hash), out Id))
            {
                var grupo = db.Grupo.Find(Id);
                var user  = db.Users.Find(User.Identity.GetUserId <int>());

                Assinatura a = new Assinatura()
                {
                    Email = ConfigurationManager.AppSettings["PagSeguroEmail"],
                    Token = ConfigurationManager.AppSettings["PagSeguroToken"],
                    PreApprovalDetails = "Assinatura de R$ 40,00 cobrada mensalmente pelos serviços extras prestados pela plataforma TaskQuest",
                    PreApprovalName    = Util.CreateRandomString(),
                    ReceiverEmail      = ConfigurationManager.AppSettings["PagSeguroEmail"],
                    Reference          = Util.CreateRandomString(),
                    SenderEmail        = user.Email,
                    SenderName         = user.Nome + " " + user.Sobrenome,

                    RedirectURL = "google.com",
                    //RedirectURL = Request.Url.AbsoluteUri + Url.Action("PremiumAguardandoPagamento").Remove(0,1),

                    ReviewURL = "google.com"
                                //ReviewURL = Request.Url.AbsoluteUri + Url.Action("ReceberNotificacao").Remove(0,1),
                };
                var data = a.CriarAssinatura();
                if (data != null)
                {
                    Pagamento pag = new Pagamento()
                    {
                        Code   = data["code"],
                        Grupo  = grupo,
                        Status = Status.Pendente
                    };
                    db.Pagamento.Add(pag);
                    db.SaveChanges();

                    return(View(new Tuple <string>(string.Format("https://pagseguro.uol.com.br/v2/pre-approvals/request.html?code={0}", data["code"]))));
                }
            }
            TempData["Alerta"] = "Algo deu errado";
            TempData["Classe"] = "yellow-alert";
            return(RedirectToAction("Inicio", "Home"));
        }
Exemplo n.º 28
0
        public void RetornarSucessoQuandoAdicionarAssinatura()
        {
            var assinatura = new Assinatura(null);
            var pagamento  = new PagamentoPayPal(
                "123456",
                DateTime.Now,
                DateTime.Now.AddDays(5),
                100,
                100,
                "Lucian AF",
                _documento,
                _endereco,
                _email);

            assinatura.AdicionarPagamento(pagamento);
            _aluno.AdicionarAssinatura(assinatura);
            Assert.IsTrue(_aluno.Valid);
        }
Exemplo n.º 29
0
        public void DeveRetornarErroQuandoTiverUmaAssinaturaValida()
        {
            var nome     = new Nome("Thiago", "Chagas");
            var email    = new Email("*****@*****.**");
            var doc      = new Documento("05492256769", Dominio.Enums.ETipoDocumento.CPF);
            var endereco = new Endereco("A", "21", "Niteroi", "23130110", "Fonseca", "Rio De Janeiro");

            var estudante = new Estudante(nome, doc, email);

            var assinatura = new Assinatura(null);

            var pagamento = new PayPalPagamento("12345678", DateTime.Now, DateTime.Now.AddDays(5), 10, 10, "Thiago", doc, endereco, email);

            assinatura.InserirPagamento(pagamento);
            estudante.InserirAssinatura(assinatura);
            estudante.InserirAssinatura(assinatura);

            Assert.IsTrue(estudante.Invalid);
        }
Exemplo n.º 30
0
        public async Task IncluiAssinaturaAsync(Assinatura assinatura)
        {
            if (assinatura == null)
            {
                throw new ArgumentNullException(nameof(assinatura));
            }

            var assinaturaParams = new DynamicParameters();

            assinaturaParams.Add("ClienteId", assinatura.ClienteId, DbType.Guid);
            assinaturaParams.Add("Id", assinatura.Id, DbType.Guid);
            assinaturaParams.Add("Nome", assinatura.Nome, DbType.AnsiString);
            assinaturaParams.Add("DataCriacao", assinatura.DataCriacao, DbType.DateTime);
            assinaturaParams.Add("DataUltimaAtualizacao", assinatura.DataUltimaAtualizacao, DbType.DateTime);
            assinaturaParams.Add("DataExpiracao", assinatura.DataExpiracao, DbType.DateTime);
            assinaturaParams.Add("Ativa", assinatura.Ativa, DbType.Byte);

            var queryAssinatura = @"INSERT INTO Assinatura (Id, ClienteId, Nome, DataCriacao, DataUltimaAtualizacao, DataExpiracao, Ativa) VALUES (@Id, @ClienteId, @Nome, @DataCriacao, @DataUltimaAtualizacao, @DataExpiracao, @Ativa)";

            await dbConnection.ExecuteAsync(queryAssinatura, assinaturaParams);
        }