Exemple #1
0
 public void Excluir(PdvPlanoPagamento objeto)
 {
     using (ISession Session = NHibernateHelper.GetSessionFactory().OpenSession())
     {
         NHibernateDAL <PdvPlanoPagamento> DAL = new NHibernateDAL <PdvPlanoPagamento>(Session);
         DAL.Delete(objeto);
         Session.Flush();
     }
 }
Exemple #2
0
        public PdvPlanoPagamento ConsultarObjeto(int id)
        {
            PdvPlanoPagamento Resultado = null;

            using (ISession Session = NHibernateHelper.GetSessionFactory().OpenSession())
            {
                NHibernateDAL <PdvPlanoPagamento> DAL = new NHibernateDAL <PdvPlanoPagamento>(Session);
                Resultado = DAL.SelectId <PdvPlanoPagamento>(id);
            }
            return(Resultado);
        }
Exemple #3
0
        public PdvPlanoPagamento ConsultarObjetoFiltro(string filtro)
        {
            PdvPlanoPagamento Resultado = null;

            using (ISession Session = NHibernateHelper.GetSessionFactory().OpenSession())
            {
                var consultaSql = "from PdvPlanoPagamento where " + filtro;
                NHibernateDAL <PdvPlanoPagamento> DAL = new NHibernateDAL <PdvPlanoPagamento>(Session);
                Resultado = DAL.SelectObjetoSql <PdvPlanoPagamento>(consultaSql);
            }
            return(Resultado);
        }
Exemple #4
0
        public IActionResult InserirPdvPlanoPagamento([FromBody] ObjetoPagSeguro objJson)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(StatusCode(400, new RetornoJsonErro(400, "Objeto inválido [Inserir PdvPlanoPagamento]", null)));
                }
                PdvPlanoPagamento retorno = _service.Atualizar(objJson);

                return(CreatedAtRoute("ConsultarObjetoPdvPlanoPagamento", new { id = retorno.Id }, objJson));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new RetornoJsonErro(500, "Erro no Servidor [Inserir PdvPlanoPagamento]", ex)));
            }
        }
Exemple #5
0
        public int ConfirmarTransacao(string codigoTransacao, string cnpj)
        {
            // remove qualquer hifen que tenha sido colocado pelo usuário
            codigoTransacao = codigoTransacao.Replace("-", "");

            // primeiro verifica se existe o código da transação
            string            filtro            = "CODIGO_TRANSACAO = '" + codigoTransacao + "'";
            PdvPlanoPagamento pdvPlanoPagamento = ConsultarObjetoFiltro(filtro);

            if (pdvPlanoPagamento != null)
            {
                if (pdvPlanoPagamento.Empresa != null)
                {
                    // achou o código da transação, mas o código já foi utilizado
                    return(418);
                }
                else
                {
                    // achou o código da transação e não está vinculado a nenhuma empresa
                    // vamos vincular o id da empresa e o e-mail de pagamento
                    // retorna 200
                    EmpresaService empresaService = new EmpresaService();
                    filtro = "CNPJ = '" + cnpj + "'";
                    Empresa empresa = empresaService.ConsultarObjetoFiltro(filtro);
                    empresa.EmailPagamento = pdvPlanoPagamento.EmailPagamento;
                    empresaService.Alterar(empresa);

                    pdvPlanoPagamento.Empresa = empresa;
                    Alterar(pdvPlanoPagamento);

                    return(200);
                }
            }
            else
            {
                // não achou o código da transação, retorna 404
                return(404);
            }
        }
Exemple #6
0
        public PdvPlanoPagamento Atualizar(ObjetoPagSeguro objetoPagSeguroEnviado)
        {
            using (ISession Session = NHibernateHelper.GetSessionFactory().OpenSession())
            {
                // primeiro verifica se já existe um registro armazenado para a transação, pois neste caso iremos apenas atualizar o registro
                string filtro = "";
                filtro = "CodigoTransacao = '" + objetoPagSeguroEnviado.CodigoTransacao + "'";
                PdvPlanoPagamento pdvPlanoPagamentoDB = ConsultarObjetoFiltro(filtro);
                if (pdvPlanoPagamentoDB != null)
                {
                    // atualiza o status
                    pdvPlanoPagamentoDB.StatusPagamento = objetoPagSeguroEnviado.CodigoStatusTransacao;

                    // se o status for pago, então atualiza a data de pagamento e de expiração do plano
                    if (pdvPlanoPagamentoDB.StatusPagamento == "3")
                    {
                        pdvPlanoPagamentoDB.DataPagamento = DateTime.Now;
                        switch (pdvPlanoPagamentoDB.Plano)
                        {
                        case "M":
                            pdvPlanoPagamentoDB.DataPlanoExpira = DateTime.Now.AddMonths(1);
                            break;

                        case "S":
                            pdvPlanoPagamentoDB.DataPlanoExpira = DateTime.Now.AddMonths(6);
                            break;

                        case "A":
                            pdvPlanoPagamentoDB.DataPlanoExpira = DateTime.Now.AddMonths(12);
                            break;

                        default:
                            break;
                        }
                    }

                    Inserir(pdvPlanoPagamentoDB);
                    Session.Flush();
                    return(pdvPlanoPagamentoDB);
                }
                else
                {
                    // a falta de registro no banco indica que devemos criar um novo registro no banco de dados
                    // que só será inserido se tiver vindo um tipo de plano válido na requisição
                    String planoContratado = Biblioteca.PegarPlanoPdv(objetoPagSeguroEnviado.DescricaoProduto);
                    String moduloFiscal    = Biblioteca.PegarModuloFiscalPdv(objetoPagSeguroEnviado.DescricaoProduto);
                    filtro = "Plano = '" + planoContratado + "' AND ModuloFiscal = '" + moduloFiscal + "'";
                    PdvTipoPlano tipoPlano = new PdvTipoPlanoService().ConsultarObjetoFiltro(filtro);
                    if (tipoPlano != null)
                    {
                        PdvPlanoPagamento pdvPlanoPagamento = new PdvPlanoPagamento();
                        pdvPlanoPagamento.PdvTipoPlano        = tipoPlano;
                        pdvPlanoPagamento.CodigoTransacao     = objetoPagSeguroEnviado.CodigoTransacao;
                        pdvPlanoPagamento.StatusPagamento     = objetoPagSeguroEnviado.CodigoStatusTransacao;
                        pdvPlanoPagamento.MetodoPagamento     = objetoPagSeguroEnviado.MetodoPagamento;
                        pdvPlanoPagamento.CodigoTipoPagamento = objetoPagSeguroEnviado.CodigoTipoPagamento;
                        pdvPlanoPagamento.Valor           = objetoPagSeguroEnviado.ValorUnitario;
                        pdvPlanoPagamento.EmailPagamento  = objetoPagSeguroEnviado.EmailCliente;
                        pdvPlanoPagamento.DataSolicitacao = DateTime.Now;
                        pdvPlanoPagamento.Plano           = planoContratado;

                        // tenta encontrar a empresa pelo e-mail - se não encontrar, o usuário terá
                        // que informar o código da transação na App para reconhecer o seu pagamento
                        filtro = "Email = '" + objetoPagSeguroEnviado.EmailCliente + "'";
                        Empresa empresa = new EmpresaService().ConsultarObjetoFiltro(filtro);
                        if (empresa != null)
                        {
                            pdvPlanoPagamento.Empresa = empresa;
                        }

                        Alterar(pdvPlanoPagamento);
                        Session.Flush();
                        return(pdvPlanoPagamento);
                    }
                    else
                    {
                        return(null);
                    }
                }
            }
        }