示例#1
0
 public static string SNumDigito(string transID)
 {
     SqlParamsList ps = new SqlParamsList();
     ps.Add(new Fields("@transID", transID));
     BD BD = new BD();
     return BD.ExecuteScalar("select top 1 digito from autor_transacoes where trans_id = @transID", ps).ToString();
 }
示例#2
0
        //Alterado para SqlServer
        public static DataTable GetAutorizacoes(int conv_id, DateTime periodo, bool baixados)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("conv_id", conv_id));

             string sql = " select CONTACORRENTE.DATA, CONTACORRENTE.AUTORIZACAO_ID, CONTACORRENTE.DIGITO, " +
                      " CARTOES.CODIGO as COD, CARTOES.DIGITO as DIG, " +
                      " CREDENCIADOS.FANTASIA AS CREDENCIADO," +
                      " COALESCE(SUM(CONTACORRENTE.DEBITO - CONTACORRENTE.CREDITO),0) as VALOR, " +
                      " CONTACORRENTE.HISTORICO " +
                      " from CONTACORRENTE JOIN CREDENCIADOS ON CREDENCIADOS.CRED_ID = CONTACORRENTE.CRED_ID " +
                      " JOIN CARTOES ON CARTOES.CARTAO_ID = CONTACORRENTE.CARTAO_ID " +
                      " where (CONTACORRENTE.CARTAO_ID = CARTOES.CARTAO_ID)  " +
                      " and CONTACORRENTE.CONV_ID = @conv_id" +
                      " and (CONTACORRENTE.DATA_FECHA_EMP = '" +
                      periodo.ToString("dd/MM/yyyy") + "')";

             if (!baixados)
            sql += " and (COALESCE(CONTACORRENTE.BAIXA_CONVENIADO,'N') <> 'S') ";

             sql += "GROUP BY CARTOES.CODIGO, CARTOES.DIGITO, CONTACORRENTE.DATA, CONTACORRENTE.AUTORIZACAO_ID," +
                " CONTACORRENTE.DIGITO, CREDENCIADOS.FANTASIA, CONTACORRENTE.HISTORICO";

             BD BD = new BD();
             return BD.GetDataTable(sql, ps);
        }
示例#3
0
 public Autorizacoes GetCCbyId(string autor_id)
 {
     try
       {
     string sql = "SELECT cred_id, credito, data, debito FROM Contacorrente WHERE autorizacao_id = " + autor_id;
     BD BD = new BD();
     SafeDataReader dr = BD.GetDataReader(sql, null);
     Autorizacoes autor = new Autorizacoes();
     try
     {
     if (dr.Read())
     {
         autor.Credenciado.Cred_id = dr.GetInt32("CRED_ID");
         autor.Credito = dr.GetFloat("CREDITO");
         autor.Data = dr.GetDateTime("DATA");
         autor.Debito = dr.GetFloat("DEBITO");
     }
     }
     finally
     {
     dr.Close();
     }
     return autor;
       }
       catch
       {
     throw new Exception("Não foi possível recuperar dados da ContaCorrente");
       }
 }
        public static DataTable Operadoras()
        {
            string sql = "SELECT DISTINCT DESCRICAO FROM RECARGA_OPERADORAS ORDER BY DESCRICAO";

            BD BD = new BD();
            return BD.GetDataTable(sql, null);
        }
示例#5
0
        public static UsuariosAdm GetDadosLogin(string usuario)
        {
            string sql = "SELECT usu.usuario_id, usu.nome, usu.liberado AS usuliberado, COALESCE(usu.senha,1111) AS senha,";
             sql += " gru.administrador, gru.liberado AS gruliberado";
             sql += " FROM Usuarios usu";
             sql += " JOIN Grupo_Usuarios gru ON usu.grupo_usu_id = gru.grupo_usu_id";
             sql += " WHERE usu.apagado <> 'S'";
             sql += " AND gru.apagado <> 'S'";
             sql += " AND usu.nome=@nome";

             SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("nome", usuario.ToUpper()));

             BD BD = new BD();
             DataRow row = BD.GetOneRow(sql, ps);

             UsuariosAdm usu = new UsuariosAdm();

             if(row != null)
             {
            usu.Usuario_id = Convert.ToInt32(row["usuario_id"]);
            usu.Liberado = (!row["usuliberado"].ToString().Equals("N"));
            usu.Senha = row["senha"].ToString();
            usu.Grupo.Administrador = (!row["administrador"].ToString().Equals("N"));
            usu.Grupo.Liberado = (!row["gruliberado"].ToString().Equals("N"));
             }
             else
            usu.Usuario_id = 0;

             return usu;
        }
 public static bool UpdateComID(int cred_id, int comanda, int com_id)
 {
     BD BD = new BD();
     if (BD.ExecuteNoQuery("UPDATE CRED_COMANDA_STATUS SET COM_ID = " + com_id + " WHERE CRED_ID = " + cred_id + " AND COMANDA = " + comanda, null) == 1)
         return true;
     return false;
 }
示例#7
0
 /// <summary>
 /// Abre ou Fecha o Terminal/POS
 /// </summary>
 /// <param name="abrir">deseja abrir ou fechar o terminal/POS?</param>
 /// <param name="numSerie">qual o número de Série do Terminal/POS?</param>
 /// <param name="codacesso">qual o código de acesso do estabelecimento?</param>
 /// <returns>retorna um estado do Termainal/POS sendo: 0 = indicando que incluiu com sucesso; 1 = indicando que o número de serie do terminal/POS não foi encontrado; e 2 = indicando que houve um erro ao tentar incluir no banco 3 = senha invalida 4 = terminal já está aberto 5 = terminal já está fechado 6 = senha incorreta</returns>
 //Alterado para SqlServer
 public static int abrirFecharPOS(bool abrir, string numSerie, string senha)
 {
     if (existeTerminal(numSerie))
       {
     if (verificaSenhaCredPorPos(numSerie, senha))
     {
       SqlParamsList ps = new SqlParamsList();
       ps.Add(new Fields("@numSerie", numSerie));
       BD BD = new BD();
       int r = verificaPosAberto(numSerie);
       if (abrir && r == 1)
     return 4;
       else if (!abrir && r == 0)
     return 5;
       //adicionando novo parâmetro pra incluir o registro como "aberto" ou "fechado"
       DateTime dt = DateTime.Parse(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"), new System.Globalization.CultureInfo("pt-br"));
       if (incluirTerminaisAbertura(dt, abrir, numSerie))
     return 0;
       else
     return 2;
     }
     else
     {
       return 6;
     }
       }
       else
       {
     return 1;
       }
 }
示例#8
0
        public static DataTable SolicitarTokenCred(string data, int cred_id, string tipo)
        {
            string sql = "SELECT * FROM RECARGA_LOGON_CRED WHERE DATA = '" + data + "' AND TOKEN_VALIDO = 'S' AND CRED_ID = " + cred_id + " AND TIPO_TOKEN = '" + tipo + "'";

            BD BD = new BD();
            return BD.GetDataTable(sql, null);
        }
        public static DataTable DadosOperadora(string nomeOp)
        {
            string sql = "SELECT DISTINCT VERSAO_TABELA, COD_OPERADORA FROM RECARGA_OPERADORAS WHERE DESCRICAO = '" + nomeOp + "'";

            BD BD = new BD();
            return BD.GetDataTable(sql, null);
        }
示例#10
0
 public static DataTable EmpFechaPagto()
 {
     string sql = "SELECT EMPRES_ID, NOME, FANTASIA, CASE FECHAMENTO1 WHEN 31 THEN 29  WHEN 30 THEN 29 WHEN 1 THEN 31 ELSE FECHAMENTO1 - 1 END AS CORTE,"
     + " DIA_REPASSE, OBS1 FROM EMPRESAS WHERE LIBERADA = 'S' ORDER BY NOME";
       BD BD = new BD();
       return BD.GetDataTable(sql, null);
 }
示例#11
0
 public static bool UpdateOperadorasCred(string dtValidade, int cred_id)
 {
     BD BD = new BD();
     if (BD.ExecuteNoQuery("UPDATE RECARGA_LOGON_CRED SET ATU_OPERADORA = 'S' WHERE DATA = '" + dtValidade + "' AND TOKEN_VALIDO = 'S' AND CRED_ID = " + cred_id, null) == 1)
         return true;
     return false;
 }
示例#12
0
        //Alterado para SqlServer
        public static List<Programas> GetProgConvOuEmpr(int conv_id, int empres_id)
        {
            SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("convid", conv_id));
             ps.Add(new Fields("empresid", empres_id));

             string sql = " SELECT prog.prog_id, prog.nome";
             sql += " FROM Programas prog";
             sql += " WHERE prog.apagado <> 'S'";
             sql += " AND prog.dt_inicio <= '" + DateTime.Now.ToString("dd/MM/yyyy") + "'";
             sql += " AND prog.dt_fim >= '" + DateTime.Now.ToString("dd/MM/yyyy") + "'";
             sql += " AND (prog.prog_id IN (";
             sql += "    SELECT prog_id FROM Prog_Empr WHERE empres_id = @empresid)";
             sql += " OR prog.prog_id IN (";
             sql += "    SELECT prog_id FROM Prog_Conv WHERE conv_id = @convid))";

             BD BD = new BD();
             DataTable table = BD.GetDataTable(sql, ps);

             List<Programas> lista = new List<Programas>();

             foreach (DataRow row in table.Rows)
             {
            Programas prog = new Programas();
            prog.Prog_id = Convert.ToInt32(row["prog_id"]);
            prog.Nome = row["nome"].ToString();
            lista.Add(prog);
             }

             return lista;
        }
示例#13
0
        public static List<Fidel_Premios> GetPremios()
        {
            string sql = " SELECT premio_id, descricao, pontos";
             sql += " FROM Fidel_Premios";
             sql += " WHERE apagado <> 'S'";

             List<Fidel_Premios> lista = new List<Fidel_Premios>();

             BD BD = new BD();
             SafeDataReader dr = BD.GetDataReader(sql, null);
             try
             {
             while (dr.Read())
             {
                 Fidel_Premios premio = new Fidel_Premios();
                 premio.Premio_id = dr.GetInt32("premio_id");
                 premio.Descricao = dr.GetString("descricao");
                 premio.Pontos = dr.GetInt32("pontos");
                 lista.Add(premio);
             }
             }
             finally
             {
             dr.Close();
             }

             return lista;
        }
示例#14
0
        // Retorna uma lista de produtos da autorização
        public static List<Produtos> GetProdAutor(string pAutorizacaoId)
        {
            string sql = " Select PRECO_UNI, PRECO_TAB, QTDE, DESCRICAO, MOV_PROD2.PROD_ID, CODINBS, MOV_ID, COMREC" +
                        " FROM MOV_PROD2 JOIN PRODUTOS ON PRODUTOS.PROD_ID = MOV_PROD2.PROD_ID " +
                        " WHERE MOV_PROD2.AUTORIZACAO_ID = @autorizacaoId AND MOV_PROD2.CANCELADO <> 'S'";
             SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("autorizacaoId", pAutorizacaoId));
             BD BD = new BD();
             SafeDataReader dr = BD.GetDataReader(sql, ps);
             List<Produtos> prodList = new List<Produtos>();
             try
             {
             while (dr.Read())
             {
                 Produtos prod = new Produtos();
                 prod.Descricao = dr.GetString("DESCRICAO");
                 prod.PrecoTabela = dr.GetDouble("PRECO_TAB");
                 prod.PrecoVenda = dr.GetDouble("PRECO_UNI");
                 prod.Qtde = dr.GetInt32("QTDE");
                 prod.Produto_id = dr.GetInt32("PROD_ID");
                 prod.ComRec = dr.GetString("COMREC");

                 prodList.Add(prod);
             }

             }
             finally
             {
             dr.Close();
             }
             return prodList;
        }
示例#15
0
        public static string[] GetDescricaoProduto(string codbarras)
        {
            string sql = " SELECT FIRST 1 COALESCE(prod.descricao,'') AS descricao, COALESCE(prod.preco_vnd,prod.preco_final,0) AS preco";
             sql += " FROM Produtos prod";
             sql += " JOIN Barras bar ON bar.prod_id = prod.prod_id";
             sql += " WHERE prod.apagado <> 'S'";
             sql += " AND bar.barras = @codbarras";

             SqlParamsList ps = new SqlParamsList();
             ps.Add(new Fields("codbarras", codbarras));

             BD BD = new BD();
             DataRow row = BD.GetOneRow(sql, ps);

             string[] retorno = new string[2];

             retorno[0] = string.Empty;
             retorno[1] = "0,00";

             if (row != null)
             {
            retorno[0] = row["descricao"].ToString();
            retorno[1] = Convert.ToDouble(row["preco"]).ToString("N2");
             }

             return retorno;
        }
 private void cancelar(BD bd)
 {
     string query = "EXEC FUGAZZETA.CancelarReserva " + TxtCodigo.Text + ", '" + menu.usuarioActual + "', '" + Program.ahora().ToString() + "', '" + TxtMotivo.Text + "'";
     bd.ejecutar(query);
     MessageBox.Show("La reserva se ha cancelado con éxito.");
     this.Close();
 }
        private void BajarHotel_Click(object sender, EventArgs e)
        {
            DialogResult confirmaBaja = MessageBox.Show("Está seguro de deshabilitar este hotel?", "Deshabilitar hotel", MessageBoxButtons.OKCancel);
            if (confirmaBaja == DialogResult.OK)
            {
                BD bd = new BD();
                bd.obtenerConexion();
                string parametros = TxtId.Text + ", '" + Program.hoy().ToShortDateString() + "', '" + HastaPick.Value.ToShortDateString() + "'"; 
                try
                {
                    string query = "EXEC FUGAZZETA.OcupacionEnHotelEnPeriodo " + parametros;
                    SqlDataReader dr = bd.lee(query);
                    if (dr.HasRows)
                    {
                        throw new Exception("Hay reservas en ese período para el hotel.");
                    }
                    else
                    {
                        string query2 = "INSERT INTO FUGAZZETA.HistorialBajasHotel values (" + parametros +  ", '" + TxtMotivo.Text + "')";
                        bd.ejecutar(query2);

                    }

                }
                catch (Exception ex)
                {
                    this.DialogResult = DialogResult.Abort;
                    MessageBox.Show("No se pudo dar de baja el hotel. " + ex.Message);
                }
                
            }

        }
        //Todos os Metodos alterado para SqlServer
        public static DataTable CarregarDDD(string operadora)
        {
            string sql = "SELECT DISTINCT DDD FROM RECARGA_OPERADORAS WHERE DESCRICAO = '" + operadora + "' ORDER BY DDD";

            BD BD = new BD();
            return BD.GetDataTable(sql, null);
        }
        //Todos os Metodos Alterados para SqlServer
        public static DataTable VerificaReimpressao(int pos_serial_number)
        {
            string sql = "SELECT * FROM RECARGA_REIMPRESSAO WHERE POS_SERIAL_NUMBER = " + pos_serial_number;

            BD BD = new BD();
            return BD.GetDataTable(sql, null);
        }
示例#20
0
        //Inclusão atualizador 07/2013 - Ariane//
        public static DataSet DadosCredenciado(int cred_id)
        {
            string sql = "SELECT * FROM CREDENCIADOS WHERE CRED_ID = " + cred_id;

            BD BD = new BD();
            return BD.GetDataSet(sql, null);
        }
示例#21
0
        public static bool ExcluirUsuario(int usu_id, string tipo, int nProtocolo)
        {
            try
             {
            MontadorSql mont = new MontadorSql("usuarios_web", MontadorType.Update);
            mont.AddField("usu_apagado", "S");
            mont.AddField("usu_liberado", "N");
            mont.AddField("usu_dtapagado", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));
            mont.SetWhere("WHERE usu_id = " + usu_id, null);

            BD BD = new BD();
            int excluiu = BD.ExecuteNoQuery(mont.GetSqlString(), mont.GetParams());

            if (excluiu == 1)
            {
               string operador = "EM ADMINISTRADOR";
               if (tipo.Equals("1"))
                  operador = "ES ADMINISTRADOR";

               int logID = Log.GeraLogID();
               Log.GravaLog(logID,"FCadUsu", "apagado", "N", "S", operador, "Exclusão", "Cadastro de Usuários", usu_id.ToString(), "Usu ID: " + usu_id, "", nProtocolo);
            }

            return (excluiu == 1);
             }
             catch(Exception ex)
             {
            throw new Exception("Erro ao excluir usuário: " + ex.Message);
             }
        }
示例#22
0
        public static DataTable bePesquisaEspecialidade()
        {
            string sql = "SELECT DESCRICAO, ESPECIALIDADE_ID FROM ESPECIALIDADES";

            BD BD = new BD();
            return BD.GetDataTable(sql, null);
        }
示例#23
0
        //Alterado para SqlServer
        public static void AlteraDemitido(string conv_id, DateTime datademissao, string operador, int nProtocolo)
        {
            int ok = 0;
             decimal saldodev = GetSaldoDevedor(conv_id);
             decimal saldodevfat = GetSaldoDevedorFaturado(conv_id);
             BD BD = new BD();
             DataRow cadastrado = BD.GetOneRow("SELECT data_demissao, saldo_devedor, saldo_devedor_fat FROM conveniados WHERE conv_id = " + conv_id, null);

             string sql = "UPDATE conveniados SET data_demissao ='" + datademissao.ToString("dd/MM/yyyy") +
                                                    "', saldo_devedor ='" + saldodev.ToString("#####0.00").Replace(",", ".") +
                                                    "',  saldo_devedor_fat ='" + saldodevfat.ToString("#####0.00").Replace(",", ".") +
                                                    "' WHERE conv_id = " + conv_id;

             ok = BD.ExecuteNoQuery(sql, null);

             if (ok == 1)
             {
            int logID = Log.GeraLogID();
            Log.GravaLog(logID, "FCadConv", "Data Demissao", Convert.ToDateTime(cadastrado.ItemArray[0]).ToString("dd/MM/yyyy"), datademissao.ToString("dd/MM/yyyy"), operador, "Alteração", "Cadastro de Conveniados", conv_id, "Conv ID: " + conv_id, "", nProtocolo);

            if (!(Convert.ToDouble(cadastrado.ItemArray[1]).ToString("N2").Equals(saldodev.ToString("N2"))))
            {
                logID = Log.GeraLogID();
                Log.GravaLog(logID, "FCadConv", "Saldo Dev.", Convert.ToDouble(cadastrado.ItemArray[1]).ToString("N2"), saldodev.ToString("N2"), operador, "Alteração", "Cadastro de Conveniados", conv_id, "Conv ID: " + conv_id, "", nProtocolo);
            }
            if (!(Convert.ToDouble(cadastrado.ItemArray[2]).ToString("N2").Equals(saldodevfat.ToString("N2"))))
            {
                logID = Log.GeraLogID();
                Log.GravaLog(logID, "FCadConv", "Saldo Dev. Fat.", Convert.ToDouble(cadastrado.ItemArray[2]).ToString("N2"), saldodevfat.ToString("N2"), operador, "Alteração", "Cadastro de Conveniados", conv_id, "Conv ID: " + conv_id, "", nProtocolo);
            }
             }
        }
 //Alterado para SqlServer
 public static DataSet ProdutoDescricao(string prodDescricao)
 {
     string sql = "SELECT DISTINCT PROD_CODIGO AS PROD_COD, PROD_DESCR, PRE_VALOR AS PROD_VALOR, LABORATORIO, ALT_LIBERADA, DEPTO_CODIGO FROM PRODUTOS_AUTORIZADOR"
                          + " WHERE PROD_DESCR LIKE '%" + prodDescricao + "%' AND APAGADO = 'N' ORDER BY PROD_DESCR";
     BD BD = new BD();
     return BD.GetDataSet(sql, null);
 }
示例#25
0
 public static bool UpdateOperadoras(string dtValidade)
 {
     BD BD = new BD();
     if (BD.ExecuteNoQuery("UPDATE RECARGA_LOGON_SITE SET ATU_OPERADORA = 'S' WHERE DATA = '" + dtValidade + "' AND TOKEN_VALIDO = 'S'", null) == 1)
         return true;
     return false;
 }
 public static bool UpdateStatus(int cred_id, int comanda, string status)
 {
     BD BD = new BD();
     if (BD.ExecuteNoQuery("UPDATE CRED_COMANDA_STATUS SET STATUS = '" + status + "' WHERE CRED_ID = " + cred_id  + " AND COMANDA = " + comanda, null) == 1)
         return true;
     return false;
 }
示例#27
0
        //Todos os Metodos Alterado para SqlServer
        public static DataTable SolicitarToken(string data)
        {
            string sql = "SELECT * FROM RECARGA_LOGON_SITE WHERE DATA = '" + data + "' AND TOKEN_VALIDO = 'S'";

            BD BD = new BD();
            return BD.GetDataTable(sql,null);
        }
示例#28
0
 public static string NumAutorizacao(string transID)
 {
     SqlParamsList ps = new SqlParamsList();
     ps.Add(new Fields("@transID", transID));
     BD BD = new BD();
     return BD.ExecuteScalar("select top 1 autorizacao_id from contacorrente where trans_id = @transID", ps).ToString();
 }
        public static DataTable CarregarValores(string nomeOp, int ddd)
        {
            string sql = "SELECT DISTINCT VALOR FROM RECARGA_OPERADORAS WHERE DESCRICAO = '" + nomeOp
                + "' AND DDD = " + ddd + " ORDER BY VALOR";

            BD BD = new BD();
            return BD.GetDataTable(sql, null);
        }
示例#30
0
 public static string GetNumTransacao(string autorizacao)
 {
     SqlParamsList ps = new SqlParamsList();
       ps.Add(new Fields("@autor_id", autorizacao));
       BD BD = new BD();
       string s = Convert.ToString(BD.ExecuteScalar("SELECT TRANS_ID FROM AUTOR_TRANSACOES WHERE AUTOR_ID = @autor_id", ps));
       return s;
 }
示例#31
0
        public void FilarminicaImportar(int entregaID)
        {
            List <string> listaCPF = this.AlimentarListaCPF();
            List <Assinaturas.Models.AcaoProvisoria> listaProvisoria = new List <Models.AcaoProvisoria>();

            var estruturaIdentificacaoUsuario = new IRLib.Paralela.ClientObjects.EstruturaReservaInternet
            {
                CaixaID   = 488695,
                CanalID   = 2276,
                UsuarioID = 11003,
                LojaID    = 3394,
                EmpresaID = 653,
            };

            BD bdAux = new BD();

            #region CPF a CPF
            foreach (string cpf in listaCPF.Distinct())
            {
                try
                {
                    var objeto = new
                    {
                        ID             = 0,
                        CPF            = string.Empty,
                        Assinatura     = string.Empty,
                        Setor          = string.Empty,
                        Lugar          = string.Empty,
                        Acao           = string.Empty,
                        Preco          = string.Empty,
                        FormaPagamento = string.Empty,
                        Parcelas       = 0,
                        NotaFiscal     = string.Empty,
                        Indice         = 0,
                    };

                    var lista = VendaBilheteria.ToAnonymousList(objeto);

                    #region Buscar Lugares do CPF
                    string sql =
                        @"
                            SELECT
	                            f.ID, f.CPF, f.Assinatura, f.Setor, 
	                            f.Lugar, fa.Acao, fp.Preco, fh.FormaPagamento, fh.Parcelas, fh.NotaFiscal
	
	                        FROM tFilarmonica f (NOLOCK)
	                        INNER JOIN tFilarmonicaAcao fa (NOLOCK) ON fa.FilarmonicaID = f.ID
	                        INNER JOIN tFilarmonicaHistorico fh (NOLOCK) ON fa.tFilarmonicaHistoricoID = fh.ID
	                        LEFT JOIN tFilarmonicaPreco fp (NOLOCK) ON fa.FilarmonicaPrecoID = fp.ID
	                        WHERE CPF = '"     + cpf + "' AND fa.Acao <> 'D'";

                    if (!bd.Consulta(sql).Read())
                    {
                        continue;
                    }

                    int i = 1;
                    do
                    {
                        lista.Add(new
                        {
                            ID             = bd.LerInt("ID"),
                            CPF            = cpf,
                            Assinatura     = bd.LerString("Assinatura"),
                            Setor          = bd.LerString("Setor"),
                            Lugar          = bd.LerString("Lugar"),
                            Acao           = bd.LerString("Acao"),
                            Preco          = bd.LerString("Preco"),
                            FormaPagamento = bd.LerString("FormaPagamento"),
                            Parcelas       = bd.LerInt("Parcelas"),
                            NotaFiscal     = bd.LerString("NotaFiscal"),
                            Indice         = i
                        });
                        i++;
                    } while (bd.Consulta().Read());

                    bd.FecharConsulta();

                    #endregion

                    decimal valorTotal = Convert.ToDecimal(bd.ConsultaValor(
                                                               @"
                                            SELECT
	                                            SUM(Valor)
	                                            FROM tFilarmonica f (NOLOCK)
	                                            INNER JOIN tFilarmonicaAcao fa (NOLOCK) ON fa.FilarmonicaID = f.ID
	                                            INNER JOIN tFilarmonicaPreco fp (NOLOCK) ON fa.FilarmonicaPrecoID = fp.ID
	                                            WHERE CPF = '"     + cpf + "'"));
                    bd.FecharConsulta();

                    #region Busca ClienteID
                    int clienteID = Convert.ToInt32(bd.ConsultaValor("SELECT TOP 1 ID FROM tCliente WHERE CPF = '" + cpf + "'"));
                    if (clienteID == 0)
                    {
                        throw new Exception("Não existe cliente com CPF : " + cpf);
                    }

                    bd.FecharConsulta();

                    Cliente oCliente = new Cliente();
                    oCliente.Ler(clienteID);

                    ClienteEndereco oClienteEndereco = new ClienteEndereco();

                    oClienteEndereco.Nome.Valor              = oCliente.Nome.Valor;
                    oClienteEndereco.CPF.Valor               = oCliente.CPF.Valor;
                    oClienteEndereco.ClienteID.Valor         = oCliente.Control.ID;
                    oClienteEndereco.Endereco.Valor          = oCliente.EnderecoCliente.Valor;
                    oClienteEndereco.Numero.Valor            = oCliente.NumeroCliente.Valor;
                    oClienteEndereco.Complemento.Valor       = oCliente.ComplementoCliente.Valor;
                    oClienteEndereco.Bairro.Valor            = oCliente.BairroCliente.Valor;
                    oClienteEndereco.CEP.Valor               = oCliente.CEPCliente.Valor;
                    oClienteEndereco.Cidade.Valor            = oCliente.CidadeCliente.Valor;
                    oClienteEndereco.Estado.Valor            = oCliente.EstadoCliente.Valor;
                    oClienteEndereco.EnderecoPrincipal.Valor = true;
                    oClienteEndereco.EnderecoTipoID.Valor    = 1;

                    int ClienteEnderecoID = oClienteEndereco.VerificaEnderecoCliente(oCliente.Control.ID, oCliente.CEPCliente.Valor);

                    if (ClienteEnderecoID == 0)
                    {
                        oClienteEndereco.Inserir(bd);
                    }
                    else
                    {
                        oClienteEndereco.Control.ID = ClienteEnderecoID;
                        oClienteEndereco.Atualizar(bd);
                    }

                    #endregion

                    #region Preenche item a item a assinatura do cliente
                    listaProvisoria.Clear();

                    foreach (var item in lista)
                    {
                        sql =
                            string.Format(
                                @"
                                SELECT 
	                                TOP 1
	                                a.ID AS AssinaturaID, l.ID AS LugarID, an.ID AS AssinaturaAnoID, s.ID AS SetorID
	                                FROM tAssinatura a (NOLOCK)
	                                INNER JOIN tAssinaturaAno an (NOLOCK) ON an.AssinaturaID = a.ID
	                                INNER JOIN tAssinaturaItem ai (NOLOCK) ON ai.AssinaturaAnoID = an.ID
	                                INNER JOIN tSetor s (NOLOCK) ON s.ID = ai.SetorID
	                                INNER JOIN tLugar l (NOLOCK) ON l.SetorID = s.ID
	                                WHERE a.Nome = '{0}' AND s.Nome = '{1}' AND l.Codigo = '{2}'
                            ", item.Assinatura, item.Setor, item.Lugar);

                        if (!bd.Consulta(sql).Read())
                        {
                            throw new Exception("Não foi possível encontrar o Lugar: Código " + item.Lugar);
                        }

                        listaProvisoria.Add(new Models.AcaoProvisoria()
                        {
                            ClienteID       = clienteID,
                            AssinaturaID    = bd.LerInt("AssinaturaID"),
                            LugarID         = bd.LerInt("LugarID"),
                            AssinaturaAnoID = bd.LerInt("AssinaturaAnoID"),
                            SetorID         = bd.LerInt("SetorID"),
                            IndiceImportar  = item.Indice
                        });
                    }
                    bd.FecharConsulta();
                    #endregion

                    try
                    {
                        bd.IniciarTransacao();

                        //listaProvisoria = new AssinaturaCliente().EfetuarAcoes(bd, clienteID, Usuario.INTERNET_USUARIO_ID, listaProvisoria);
                        foreach (var item in listaProvisoria)
                        {
                            AssinaturaCliente assinaturaCLiente = new AssinaturaCliente();
                            assinaturaCLiente.Reservar(bd, clienteID, item.AssinaturaID, item.SetorID, item.LugarID, DateTime.Now.Year + 1, estruturaIdentificacaoUsuario, 0);
                            item.AssinaturaClienteID = assinaturaCLiente.Control.ID;
                        }

                        List <IRLib.Paralela.ClientObjects.Assinaturas.EstruturaAssinaturaAcao> listaNova = new List <IRLib.Paralela.ClientObjects.Assinaturas.EstruturaAssinaturaAcao>();

                        foreach (var item in lista)
                        {
                            int precoTipoID = 0;

                            if (item.Acao == "R")
                            {
                                precoTipoID = Convert.ToInt32(
                                    bdAux.ConsultaValor(
                                        string.Format(
                                            @"
                                                SELECT 
	                                                DISTINCT pt.ID
	                                                FROM tAssinatura a (NOLOCK)
	                                                INNER JOIN tAssinaturaAno an (NOLOCK) ON an.AssinaturaID = a.ID
	                                                INNER JOIN tAssinaturaItem ai (NOLOCK) ON ai.AssinaturaAnoID = an.ID
	                                                INNER JOIN tSetor s (NOLOCK) ON s.ID = ai.SetorID
	                                                INNER JOIN tPrecoTipo pt (NOLOCK) ON pt.ID = ai.PrecoTipoID
	                                                WHERE a.Nome = '{0}' AND s.Nome = '{1}' AND pt.Nome = '{2}'
                                            ", item.Assinatura, item.Setor, item.Preco)));

                                if (precoTipoID == 0)
                                {
                                    throw new Exception("O preco tipo " + item.Preco + " não existe");
                                }
                            }

                            var acaoProvisoria = listaProvisoria.Where(c => c.IndiceImportar == item.Indice).FirstOrDefault();
                            acaoProvisoria.PrecoTipoID = precoTipoID;
                            acaoProvisoria.Acao        = (AssinaturaCliente.EnumAcao)Convert.ToChar(item.Acao);
                            bdAux.FecharConsulta();

                            listaNova.Add(new ClientObjects.Assinaturas.EstruturaAssinaturaAcao()
                            {
                                AssinaturaClienteID = acaoProvisoria.AssinaturaClienteID.ToString(),
                                PrecoTipo           = acaoProvisoria.PrecoTipoID.ToString(),
                                Acao = item.Acao
                            });
                        }

                        new AssinaturaAcaoProvisoria().AdicionarAcoes(bd, clienteID, entregaID, listaNova, estruturaIdentificacaoUsuario.UsuarioID);

                        var listaFinal = new IRLib.Paralela.AssinaturaAcaoProvisoria().BuscarLista(clienteID, false);

                        string senha = string.Empty;
                        if (listaFinal.Where(c => c.Acao == AssinaturaCliente.EnumAcao.Renovar).Count() > 0)
                        {
                            senha = new AssinaturaCliente().Vender(bd, clienteID, estruturaIdentificacaoUsuario.UsuarioID, lista.FirstOrDefault().FormaPagamento,
                                                                   lista.FirstOrDefault().Parcelas, string.Empty, string.Empty, string.Empty, estruturaIdentificacaoUsuario,
                                                                   listaFinal.Where(c => c.Acao == AssinaturaCliente.EnumAcao.Renovar).ToList(), 0, entregaID, 10, false, oCliente.Email.Valor);
                        }

                        new AssinaturaCliente().EfetuarAcoes(bd, clienteID, estruturaIdentificacaoUsuario.UsuarioID, listaFinal.Where(c => c.Acao == AssinaturaCliente.EnumAcao.Trocar).ToList());

                        bd.Executar("UPDATE tFilarmonica SET Importado = 'T' WHERE CPF = '" + cpf + "'");
                        if (!string.IsNullOrEmpty(senha))
                        {
                            valorTotal += 10;

                            decimal valorVenda = Convert.ToDecimal(bd.ConsultaValor("SELECT ValorTotal FROM tVendaBilheteria WHERE Senha = '" + senha + "'"));

                            if (valorVenda != valorTotal)
                            {
                                throw new Exception("O Valor total da venda está incompativel com o valor da assinatura.");
                            }
                        }

                        bd.FinalizarTransacao();
                    }
                    catch (Exception)
                    {
                        bd.DesfazerTransacao();
                        throw;
                    }
                }
                catch (Exception ex)
                {
                    bdAux.Fechar();
                    bd.Executar("UPDATE tFilarmonica SET Importado = 'F', MotivoErro = '" + ex.Message.Replace("'", "") + "' WHERE CPF = '" + cpf + "'");
                }
            }
            #endregion
        }
示例#32
0
        /// <summary>
        /// Gera um controlador de Quantidade apartir de uma Cota Antiga (Novo Item adicionado) -
        /// Precisa replicar o item pra todas as apresentacacoes que fazer parte daquela cota
        /// </summary>
        /// <param name="bd"></param>
        public void GerarControladorDeCotaAntiga(BD bd, int cotaID, string precoIniciaCom)
        {
            BD bd2 = new BD();

            try
            {
                StringBuilder stbSQL = new StringBuilder();
                List <EstruturaDistribuicaoCotaAntiga> lstItems = new List <EstruturaDistribuicaoCotaAntiga>();
                EstruturaDistribuicaoCotaAntiga        item;
                stbSQL.Append("SELECT IsNull(AP.ID, 0) ApresentacaoID, ");
                stbSQL.Append("CASE WHEN AP.CotaID > 0 THEN 'T' ELSE 'F' END AS TemAP, ");
                stbSQL.Append("IsNull(APS.ID, 0) ApresentacaoSetorID, ");
                stbSQL.Append("CASE  WHEN APS.CotaID > 0 THEN 'T' ELSE 'F' END AS TemAPS ");
                stbSQL.Append("FROM tCota (NOLOCK) ");
                stbSQL.Append("LEFT JOIN tApresentacao AP (NOLOCK) ON AP.CotaID = tCota.ID ");
                stbSQL.Append("LEFT JOIN tApresentacaoSetor APS (NOLOCK) ON APS.CotaID = tCota.ID ");
                stbSQL.Append("WHERE tCota.ID = " + cotaID);
                bd2.Consulta(stbSQL.ToString());
                while (bd2.Consulta().Read())
                {
                    item = new EstruturaDistribuicaoCotaAntiga();

                    item.ApresentacaoID      = bd2.LerInt("ApresentacaoID");
                    item.ApresentacaoSetorID = bd2.LerInt("ApresentacaoSetorID");
                    item.TemAP  = bd2.LerBoolean("TemAP");
                    item.TemAPS = bd2.LerBoolean("TemAPS");
                    if (item.ApresentacaoID == 0)
                    {
                        item.ApresentacaoID = bd2.LerInt("ApresentacaoID");
                    }
                    lstItems.Add(item);
                    ////Precisa duplicar pensando no ponto em q foi gerada a mesma cota pra AP e APS (só retorna 1 linha)
                    //if (item.TemAP && item.TemAPS)
                    //    lstItems.Add(item);
                }
                bd2.FecharConsulta();


                int quantidade = 0;
                stbSQL = new StringBuilder();
                foreach (EstruturaDistribuicaoCotaAntiga itemEncontrado in lstItems)
                {
                    if (itemEncontrado.TemAP)
                    {
                        this.ApresentacaoID.Valor = itemEncontrado.ApresentacaoID;
                        quantidade = this.getQuantidadeJaVendidaAP(bd, precoIniciaCom);
                        stbSQL.Append("INSERT INTO tCotaItemControle ");
                        stbSQL.Append("(ApresentacaoID, ApresentacaoSetorID, Quantidade, CotaItemID) VALUES ");
                        stbSQL.Append("( " + itemEncontrado.ApresentacaoID + ", 0, " + quantidade + ", " + this.CotaItemID.Valor + ") ");
                    }
                    if (itemEncontrado.TemAPS)
                    {
                        this.ApresentacaoID.Valor      = itemEncontrado.ApresentacaoID;
                        this.ApresentacaoSetorID.Valor = itemEncontrado.ApresentacaoSetorID;
                        quantidade = this.getQuantidadeJaVendidaAPS(bd, precoIniciaCom);
                        stbSQL.Append("INSERT INTO tCotaItemControle ");
                        stbSQL.Append("(ApresentacaoID, ApresentacaoSetorID, Quantidade, CotaItemID) VALUES ");
                        stbSQL.Append("( " + itemEncontrado.ApresentacaoID + ", " + itemEncontrado.ApresentacaoSetorID + ", " + quantidade + ", " + this.CotaItemID.Valor + ") ");
                    }
                }
                if (stbSQL.Length > 0)
                {
                    bd.Executar(stbSQL.ToString());
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                bd2.Fechar();
            }
        }
示例#33
0
        public string TrocarPreco(Dictionary <int, int> ingressoXpreco, decimal valorPagar,
                                  decimal valorCancelar, int clienteID, int caixaID, int canalID,
                                  int empresaID, int lojaID, string motivoTroca, int usuarioID,
                                  int BIN, int codigoAutorizacaoCartao, int indiceInstituicaoTransacao,
                                  int indiceTipoCartao, int modalidadePagamentoCodigo,
                                  string modalidadePagamentoTexto, string notaFiscalCliente,
                                  string notaFiscalEstabelecimento, int NSUHost, int NSUSitef,
                                  int formaPagamentoEscolhida)
        {
            BD bd = new BD();

            try
            {
                bd.IniciarTransacao();

                /*
                 * VB
                 * VBI
                 * VBFP
                 * Log
                 * tIngressO
                 */

                #region Cancelamento
                VendaBilheteria vbCancelamento = new VendaBilheteria();
                vbCancelamento.CaixaID.Valor   = caixaID;
                vbCancelamento.ClienteID.Valor = clienteID;
                vbCancelamento.DataVenda.Valor = DateTime.Now;
                vbCancelamento.Obs.Valor       = motivoTroca;
                vbCancelamento.Status.Valor    = VendaBilheteria.CANCELADO;
                vbCancelamento.TaxaConvenienciaValorTotal.Valor = 0;
                vbCancelamento.TaxaEntregaID.Valor       = 0;
                vbCancelamento.TaxaEntregaValor.Valor    = 0;
                vbCancelamento.ValorTotal.Valor          = valorCancelar;
                vbCancelamento.PagamentoProcessado.Valor = true;
                string sql     = vbCancelamento.StringInserir();
                object retorno = bd.ConsultaValor(sql);
                int    vendaBilheteriaIDCancelamento = Convert.ToInt32(retorno);
                if (vendaBilheteriaIDCancelamento == 0)
                {
                    throw new Exception("Não foi possível inserir o cancelamento na VendaBilheteria");
                }

                VendaBilheteriaFormaPagamento vbfpCancelamento = new VendaBilheteriaFormaPagamento();
                vbfpCancelamento.FormaPagamentoID.Valor  = formaPagamentoEscolhida;
                vbfpCancelamento.Porcentagem.Valor       = 100;
                vbfpCancelamento.Valor.Valor             = valorCancelar;
                vbfpCancelamento.VendaBilheteriaID.Valor = vendaBilheteriaIDCancelamento;

                sql     = vbfpCancelamento.StringInserir();
                retorno = bd.ConsultaValor(sql);
                int vendaBilheteriaFormaPagamentoIDCancelamento = Convert.ToInt32(retorno);

                if (vendaBilheteriaFormaPagamentoIDCancelamento == 0)
                {
                    throw new Exception("Não foi possível inserir o cancelamento na VendaBilheteriaFormaPagamento");
                }

                foreach (KeyValuePair <int, int> iXp in ingressoXpreco)
                {
                    int ingressoID          = iXp.Key;
                    VendaBilheteriaItem vbi = new VendaBilheteriaItem();
                    vbi.Acao.Valor                  = VendaBilheteriaItem.CANCELAMENTO;
                    vbi.PacoteID.Valor              = 0;
                    vbi.TaxaConveniencia.Valor      = 0;
                    vbi.TaxaConvenienciaValor.Valor = 0;
                    vbi.VendaBilheteriaID.Valor     = vendaBilheteriaIDCancelamento;

                    sql     = vbi.StringInserir();
                    retorno = bd.ConsultaValor(sql);
                    int vendaBilheteriaItemIDCancelamento = Convert.ToInt32(retorno);
                    if (vendaBilheteriaItemIDCancelamento == 0)
                    {
                        throw new Exception("Não foi possível inserir o cancelamento na VendaBilheteriaItem");
                    }


                    Ingresso ingresso = new Ingresso();
                    ingresso.Ler(ingressoID);
                    IngressoLog oIngressoLog = new IngressoLog();
                    oIngressoLog.Acao.Valor                  = IngressoLog.CANCELAR;
                    oIngressoLog.BloqueioID.Valor            = 0;
                    oIngressoLog.CaixaID.Valor               = caixaID;
                    oIngressoLog.CanalID.Valor               = canalID;
                    oIngressoLog.ClienteID.Valor             = ingresso.ClienteID.Valor;
                    oIngressoLog.CortesiaID.Valor            = 0;
                    oIngressoLog.EmpresaID.Valor             = empresaID;
                    oIngressoLog.IngressoID.Valor            = ingressoID;
                    oIngressoLog.LojaID.Valor                = lojaID;
                    oIngressoLog.Obs.Valor                   = motivoTroca;
                    oIngressoLog.PrecoID.Valor               = ingresso.PrecoID.Valor;
                    oIngressoLog.TimeStamp.Valor             = DateTime.Now;
                    oIngressoLog.UsuarioID.Valor             = usuarioID;
                    oIngressoLog.VendaBilheteriaID.Valor     = vendaBilheteriaIDCancelamento;
                    oIngressoLog.VendaBilheteriaItemID.Valor = vendaBilheteriaItemIDCancelamento;

                    sql     = oIngressoLog.StringInserir();
                    retorno = bd.ConsultaValor(sql);
                }
                #endregion

                #region Nova Venda
                VendaBilheteria vbVenda = new VendaBilheteria();
                vbVenda.BIN.Valor       = BIN;
                vbVenda.CaixaID.Valor   = caixaID;
                vbVenda.ClienteID.Valor = clienteID;
                vbVenda.CodigoAutorizacaoCredito.Valor = codigoAutorizacaoCartao;
                vbVenda.DataVenda.Valor = DateTime.Now;
                vbVenda.IndiceInstituicaoTransacao.Valor = indiceInstituicaoTransacao;
                vbVenda.IndiceTipoCartao.Valor           = indiceTipoCartao;
                vbVenda.ModalidadePagamentoCodigo.Valor  = modalidadePagamentoCodigo;
                vbVenda.ModalidadePagamentoTexto.Valor   = modalidadePagamentoTexto;
                vbVenda.NotaFiscalCliente.Valor          = notaFiscalCliente;
                vbVenda.NotaFiscalEstabelecimento.Valor  = notaFiscalEstabelecimento;
                vbVenda.NSUHost.Valor  = NSUHost;
                vbVenda.NSUSitef.Valor = NSUSitef;
                vbVenda.Obs.Valor      = string.Empty;
                vbVenda.Status.Valor   = VendaBilheteria.PAGO;
                vbVenda.TaxaConvenienciaValorTotal.Valor = 0;
                vbVenda.TaxaEntregaID.Valor       = 0;
                vbVenda.TaxaEntregaValor.Valor    = 0;
                vbVenda.ValorTotal.Valor          = valorPagar;
                vbVenda.PagamentoProcessado.Valor = true;
                sql     = vbVenda.StringInserir();
                retorno = bd.ConsultaValor(sql);
                int vendaBilheteriaID = Convert.ToInt32(retorno);
                if (vendaBilheteriaID == 0)
                {
                    throw new Exception("Não foi possível inserir a venda na VendaBilheteria");
                }

                VendaBilheteriaFormaPagamento vbfpVenda = new VendaBilheteriaFormaPagamento();
                vbfpVenda.FormaPagamentoID.Valor  = formaPagamentoEscolhida;
                vbfpVenda.Porcentagem.Valor       = 100;
                vbfpVenda.Valor.Valor             = valorPagar;
                vbfpVenda.VendaBilheteriaID.Valor = vendaBilheteriaID;

                sql     = vbfpVenda.StringInserir();
                retorno = bd.ConsultaValor(sql);
                int vendaBilheteriaFormaPagamentoID = Convert.ToInt32(retorno);
                if (vendaBilheteriaFormaPagamentoID == 0)
                {
                    throw new Exception("Não foi possível inserir a venda na VendaBilheteriaFormaPagamento");
                }

                foreach (KeyValuePair <int, int> iXp in ingressoXpreco)
                {
                    int ingressoID          = iXp.Key;
                    VendaBilheteriaItem vbi = new VendaBilheteriaItem();
                    vbi.Acao.Valor                  = VendaBilheteriaItem.VENDA;
                    vbi.PacoteID.Valor              = 0;
                    vbi.TaxaConveniencia.Valor      = 0;
                    vbi.TaxaConvenienciaValor.Valor = 0;
                    vbi.VendaBilheteriaID.Valor     = vendaBilheteriaID;

                    sql     = vbi.StringInserir();
                    retorno = bd.ConsultaValor(sql);
                    int vendaBilheteriaItemID = Convert.ToInt32(retorno);
                    if (vendaBilheteriaItemID == 0)
                    {
                        throw new Exception("Não foi possível inserir a venda na VendaBilheteriaItem");
                    }


                    Ingresso ingresso = new Ingresso();
                    ingresso.Ler(ingressoID);
                    IngressoLog oIngressoLog = new IngressoLog();
                    oIngressoLog.Acao.Valor       = IngressoLog.VENDER;
                    oIngressoLog.BloqueioID.Valor = 0;
                    oIngressoLog.CaixaID.Valor    = caixaID;
                    oIngressoLog.CanalID.Valor    = canalID;
                    oIngressoLog.ClienteID.Valor  = ingresso.ClienteID.Valor;
                    oIngressoLog.CortesiaID.Valor = 0;
                    oIngressoLog.EmpresaID.Valor  = empresaID;
                    oIngressoLog.IngressoID.Valor = ingressoID;
                    oIngressoLog.LojaID.Valor     = lojaID;
                    oIngressoLog.Obs.Valor        = string.Empty;
                    int precoID = 0;
                    ingressoXpreco.TryGetValue(ingressoID, out precoID);
                    if (precoID == 0)
                    {
                        throw new Exception("Não existe preço definido para um dos ingressos!");
                    }
                    oIngressoLog.PrecoID.Valor               = precoID;
                    oIngressoLog.TimeStamp.Valor             = DateTime.Now;
                    oIngressoLog.UsuarioID.Valor             = usuarioID;
                    oIngressoLog.VendaBilheteriaID.Valor     = vendaBilheteriaID;
                    oIngressoLog.VendaBilheteriaItemID.Valor = vendaBilheteriaItemID;
                    sql = oIngressoLog.StringInserir();
                    bd.ConsultaValor(sql);

                    //ingresso.CodigoBarra.Valor = new CodigoBarra().GerarCodigoBarra(precoID, ingresso.EventoID.Valor);
                    ingresso.Status.Valor            = Ingresso.VENDIDO;
                    ingresso.VendaBilheteriaID.Valor = vendaBilheteriaID;
                    ingresso.UsuarioID.Valor         = usuarioID;
                    ingresso.LojaID.Valor            = lojaID;
                    ingresso.PrecoID.Valor           = precoID;

                    if (!ingresso.Atualizar(bd))
                    {
                        throw new Exception("Ingresso não pôde ser atualizado!");
                    }
                }
                #endregion
                bd.FinalizarTransacao();
                retorno = bd.ConsultaValor("SELECT Senha FROM tVendaBilheteria WHERE ID = " + vendaBilheteriaID);
                if (retorno is string)
                {
                    return((string)retorno);
                }
                else
                {
                    return(string.Empty);
                }
            }
            catch
            {
                bd.DesfazerTransacao();
            }
            return(null);
        }
示例#34
0
 public void CancelarAssinaturas(BD bd, List <EstruturaAssinaturaBloqueio> lista)
 {
     this.EfetuarDesistencia(bd, lista);
 }
 public ListaJugar(BD bd)
 {
     this.bd = bd;
     _juegos = bd.LeerJuegos();
 }
示例#36
0
 public BorderoAvulso()
 {
     bd = new BD();
 }
示例#37
0
        public void Fix(int assinaturaID)
        {
            BD bd = new BD();

            try
            {
                string buscaInicial = @"
                        SELECT ap.AssinaturaClienteID 
	                    FROM AssinaturasProblemasCaioDesistencias ap (NOLOCK)
	                    LEFT JOIN tAssinaturaErroFix af (NOLOCK) ON af.AssinaturaClienteID = ap.AssinaturaClienteID
                    WHERE (af.ID IS NULL OR af.Fixed = 0) AND Acao <> 'R' AND Status <> 'R' AND AssinaturaID = " + assinaturaID;

                bd.Consulta(buscaInicial);

                if (!bd.Consulta().Read())
                {
                    throw new Exception("Nenhuma inconsistencia");
                }

                List <int> listAssinaturaClienteID = new List <int>();

                do
                {
                    listAssinaturaClienteID.Add(bd.LerInt("AssinaturaClienteID"));
                } while (bd.Consulta().Read());
                bd.FecharConsulta();

                string consultaAssinaturaCliente =
                    @"
                        SELECT 
	                        i.ID, i.Status, ac.ClienteID, a.BloqueioID, i.AssinaturaClienteID
	                        FROM tAssinaturaCliente ac (NOLOCK)
	                        INNER JOIN tAssinatura a (NOLOCK) ON a.ID = ac.AssinaturaID
	                        INNER JOIN tAssinaturaAno an (NOLOCK) ON an.ID = ac.AssinaturaAnoID
	                        INNER JOIN tAssinaturaItem ai (NOLOCK) ON ai.AssinaturaAnoID = an.ID
	                        INNER JOIN tIngresso i (NOLOCK) ON i.ApresentacaoID = ai.ApresentacaoID AND i.SetorID = ai.SetorID AND i.LugarID = ac.LugarID
	                        WHERE ac.ID = {0} AND ai.PrecoTipoID = 1
                    ";

                var itemAnonimo = new
                {
                    ID                  = 0,
                    ClienteID           = 0,
                    Status              = string.Empty,
                    AssinaturaClienteID = 0,
                    BloqueioID          = 0
                };

                var listaAnonima = VendaBilheteria.ToAnonymousList(itemAnonimo);

                foreach (int id in listAssinaturaClienteID)
                {
                    try
                    {
                        bd.Consulta(string.Format(consultaAssinaturaCliente, id));

                        if (!bd.Consulta().Read())
                        {
                            throw new Exception("Sem ingressos!!!!");
                        }

                        listaAnonima.Clear();

                        do
                        {
                            listaAnonima.Add(new
                            {
                                ID                  = bd.LerInt("ID"),
                                ClienteID           = bd.LerInt("ClienteID"),
                                Status              = bd.LerString("Status"),
                                AssinaturaClienteID = bd.LerInt("AssinaturaClienteID"),
                                BloqueioID          = bd.LerInt("BloqueioID"),
                            });
                        } while (bd.Consulta().Read());


                        bd.FecharConsulta();
                        bd.IniciarTransacao();

                        foreach (var ingresso in listaAnonima)
                        {
                            if (ingresso.Status == "V" || ingresso.Status == "I")
                            {
                                throw new Exception("Ingresso com status: " + ingresso.Status);
                            }


                            if (ingresso.AssinaturaClienteID == id)
                            {
                                continue;
                            }

                            //Deve assicuar
                            if (ingresso.AssinaturaClienteID != 0)
                            {
                                if (bd.Executar(string.Format("UPDATE tIngresso SET Status = '{0}', ClienteID = {1}, BloqueioID = {2}, AssinaturaClienteID = {3} WHERE ID = {4} AND Status <> 'V' AND Status <> 'I'",
                                                              Ingresso.BLOQUEADO, ingresso.ClienteID, ingresso.BloqueioID, id, ingresso.ID)) != 1)
                                {
                                    throw new Exception("Não foi possível atualizar o status do ingresso" + ingresso.ID);
                                }
                            }
                            //Reseta esta porcaria, porque qndo passar a outra assinatura, deve associar este ingresso!
                            else
                            if (bd.Executar(string.Format("UPDATE tIngresso SET Status = 'D', ClienteID = 0, BloqueioID = 0, AssinaturaClienteID = 0 WHERE ID = {0} AND Status <> 'V' AND Status <> 'I'", ingresso.ID)) != 1)
                            {
                                throw new Exception("Não foi possível atualizar o status do ingresso" + ingresso.ID);
                            }
                        }


                        bd.Executar("INSERT INTO tAssinaturaErroFix (AssinaturaClienteID, Fixed, Erro) VALUES (" + id + ", 1, '')");
                        bd.FinalizarTransacao();
                    }
                    catch (Exception ex)
                    {
                        bd.DesfazerTransacao();
                        bd.Fechar();
                        bd.Executar("INSERT INTO tAssinaturaErroFix (AssinaturaClienteID, Fixed, Erro) VALUES (" + id + ", 0, '" + ex.Message + "') ");
                    }
                    finally
                    {
                        bd.FecharConsulta();
                    }
                }
            }
            finally
            {
                bd.Fechar();
            }
        }
        private void btSalvar_Click(object sender, EventArgs e)
        {
            if (Geral.ValidaCampos(panel1, errorProvider1))
            {
                return;
            }

            if (ValidaCodigo() == true)
            {
                return;
            }

            if (ValidaCodBarra() == true)
            {
                return;
            }

            int novo = 0;

            string[] v = new string[11];

            v[0]  = txtId.Text;
            v[1]  = cbProduto.Text;
            v[2]  = txtCodigo.Text;
            v[3]  = txtCodBarra.Text;
            v[4]  = BD.CvData(txtValidade.Text);
            v[5]  = BD.cvNum(txtCusto.Text);
            v[6]  = BD.cvNum(txtReajuste.Text);
            v[7]  = BD.cvNum(txtVenda.Text);
            v[8]  = BD.cvNum(txtEstoque.Text);
            v[9]  = BD.cvNum(txtEstMinimo.Text);
            v[10] = "N";

            if (CkAtivo.Checked)
            {
                v[10] = "S";
            }


            if (txtId.Text != "")
            {
                BD.ExecutarSQL("UPDATE PRODUTO p SET p.USUARIO_ALT = " + BD.UsuarioId + " WHERE p.PRODUTO_ID = " + txtId.Text);
                novo = 1;
            }


            try
            {
                txtId.Text = BD.ExecutarProcedure("PRODUTO_SALVAR", v, "Produto");

                if (novo == 0)
                {
                    BD.ExecutarSQL("UPDATE PRODUTO p SET p.USUARIO_CAD = " + BD.UsuarioId + " WHERE p.PRODUTO_ID = " + txtId.Text);
                }

                Codigo = "";
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("PRODUTO_NOME_UNICO"))
                {
                    Geral.Erro("Produto já cadastrado!");
                }
                else
                {
                    Geral.Erro(ex.Message);
                }
            }
        }
示例#39
0
 public MySQL(BD config)
 {
     conexao   = $"Persist Security Info=True;Server={ config.Servidor};Database={ config.BaseDados};Uid={ config.Usuario };Pwd={ config.Senha};SslMode=none;";
     mysqlConn = new MySqlConnection(conexao);
 }
示例#40
0
 public AssinantesPorAssinatura()
 {
     bd = new BD();
 }
示例#41
0
        private async void MetroButton1_Click_1(object sender, EventArgs e)
        {
            try
            {
                String  usuario = this.txtUsuario.Text;
                String  contrasena = this.txtContrasena.Text;
                Boolean campos = true, login = false;

                txtContrasena.Enabled = false;
                txtUsuario.Enabled    = false;

                spinnerLogin.Visible = true;
                btnIngresar.Visible  = false;

                if (usuario == "" || contrasena == "")
                {
                    spinnerLogin.Visible = false;
                    btnIngresar.Visible  = true;
                    MetroFramework.MetroMessageBox.
                    Show(this, "  Ingrese Usuario y Contraseña", "Error al ingresar al sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    if (usuario == "")
                    {
                        this.txtUsuario.Focus();
                    }
                    else if (contrasena == "")
                    {
                        this.txtContrasena.Focus();
                    }
                    campos = false;
                    txtContrasena.Enabled = true;
                    txtUsuario.Enabled    = true;
                }
                else
                {
                    login = await loginBDAsync(usuario, contrasena);

                    spinnerLogin.Visible = false;
                    btnIngresar.Visible  = true;
                }

                if (login == false && campos == true)
                {
                    MetroFramework.MetroMessageBox.
                    Show(this, "  Usuario / Contraseña Incorrecto", "Error al ingresar al sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtContrasena.Enabled = true;
                    txtUsuario.Enabled    = true;
                }
                else if (login == true && campos == true)
                {
                    txtContrasena.Enabled = true;
                    txtUsuario.Enabled    = true;

                    BD metodos = new BD();
                    BD.ObtenerConexion();
                    idUsuario = metodos.consultaId(usuario, contrasena);
                    BD.CerrarConexion();

                    BD.ObtenerConexion();
                    tipo = metodos.consultaTipo(usuario, contrasena);
                    BD.CerrarConexion();

                    Inicio objForm2 = new Inicio(this, usuario, contrasena);
                    objForm2.Show();
                    this.Hide();
                }
            }
            catch (Exception)
            {
                MetroFramework.MetroMessageBox.
                Show(this, "Revisa tu conexión a internet e intentalo de nuevo.", "Error de conexíón", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public List <EstruturaRegistroEntrega> PesquisarSenhas(List <string> senhas, string condicao)
        {
            BD bd = new BD();

            try
            {
                DataTable dttBulk = new DataTable("Senhas");
                dttBulk.Columns.Add("Senha", typeof(string));

                DataRow dtr;
                foreach (string senha in senhas)
                {
                    dtr          = dttBulk.NewRow();
                    dtr["Senha"] = senha;
                    dttBulk.Rows.Add(dtr);
                }

                string sql = string.Empty;

                bd.BulkInsert(dttBulk, "#tmpVendas", true, "Senha", "varchar(20)", "Latin1_General_CI_AI");

                if (condicao != "")
                {
                    condicao = String.Concat("AND", " ", condicao);

                    sql = string.Format(@"SELECT DISTINCT vb.ID, vb.Senha, IsNull(e.Nome, 'Sem Taxa') AS TaxaEntrega, vb.DataVenda, 
                    CASE WHEN c.CNPJ IS NOT NULL
                    THEN c.NomeFantasia
                    ELSE IsNull(c.Nome, 'Sem Cliente') COLLATE Latin1_General_CI_AI
                    END AS Cliente, vb.Status, c.Email
                    FROM tVendaBilheteria vb (NOLOCK)
                    INNER JOIN #tmpVendas ON vb.Senha = #tmpVendas.Senha
                    INNER JOIN tIngresso i (NOLOCK) ON i.VendaBilheteriaID = vb.ID                 
                    INNER JOIN tCliente c (NOLOCK) ON c.ID = vb.ClienteID
                    INNER JOIN tCaixa ca (NOLOCK) ON ca.ID = vb.CaixaID
                    INNER JOIN tLoja l (NOLOCK) on l.ID =  ca.LojaID
                    LEFT JOIN tEntregaControle tc (NOLOCK) ON tc.ID = vb.EntregaControleID
                    LEFT JOIN tEntrega e (NOLOCK) ON tc.EntregaID = e.ID
                    WHERE vb.Status = '{0}' AND i.Status = '{1}' {2}
                    ", VendaBilheteria.PAGO, Ingresso.IMPRESSO, condicao);
                }
                else
                {
                    sql = string.Format(@"SELECT DISTINCT vb.ID, vb.Senha, IsNull(e.Nome, 'Sem Taxa') AS TaxaEntrega, vb.DataVenda, 
                    CASE WHEN c.CNPJ IS NOT NULL
                    THEN c.NomeFantasia
                    ELSE IsNull(c.Nome, 'Sem Cliente') COLLATE Latin1_General_CI_AI
                    END AS Cliente, vb.Status, c.Email
                    FROM tVendaBilheteria vb (NOLOCK)
                    INNER JOIN #tmpVendas ON vb.Senha = #tmpVendas.Senha
                    INNER JOIN tIngresso i (NOLOCK) ON i.VendaBilheteriaID = vb.ID
                    INNER JOIN tCliente c (NOLOCK) ON c.ID = vb.ClienteID
                    INNER JOIN tCaixa ca (NOLOCK) ON ca.ID = vb.CaixaID
                    INNER JOIN tLoja l (NOLOCK) on l.ID =  ca.LojaID
                    LEFT JOIN tEntregaControle tc (NOLOCK) ON tc.ID = vb.EntregaControleID
                    LEFT JOIN tEntrega e (NOLOCK) ON tc.EntregaID = e.ID
                    WHERE vb.Status = '{0}' AND i.Status = '{1}'",
                                        VendaBilheteria.PAGO, Ingresso.IMPRESSO);
                }

                List <EstruturaRegistroEntrega> lista = new List <EstruturaRegistroEntrega>();

                bd.Consulta(sql);
                while (bd.Consulta().Read())
                {
                    lista.Add(new EstruturaRegistroEntrega()
                    {
                        VendaBilheteriaID = bd.LerInt("ID"),
                        Cliente           = bd.LerString("Cliente"),
                        DataVenda         = bd.LerDateTime("DataVenda"),
                        Senha             = bd.LerString("Senha"),
                        StatusVenda       = bd.LerString("Status"),
                        TaxaEntrega       = bd.LerString("TaxaEntrega"),
                        Email             = bd.LerString("Email")
                    });
                }

                return(lista);
            }
            finally
            {
                bd.Fechar();
            }
        }
        public void RegistrarEntrega(List <int> lstVendaBilheteriaID, int UsuarioID, int EmpresaID, int CaixaID, int LojaID, int CanalID)
        {
            //Auxiliar para consulta
            BD          bd    = new BD();
            BD          bdAux = new BD();
            IngressoLog log   = null;

            try
            {
                bd.IniciarTransacao();

                DataTable dttBulk = new DataTable("VendaBilheteria");
                dttBulk.Columns.Add("ID", typeof(int));

                DataRow dtr;
                foreach (int id in lstVendaBilheteriaID)
                {
                    dtr       = dttBulk.NewRow();
                    dtr["ID"] = id;
                    dttBulk.Rows.Add(dtr);
                }
                bdAux.BulkInsert(dttBulk, "#tmpVendaBilheteriaID", false, true);

                bdAux.Consulta(string.Format(
                                   @"SELECT i.ID, i.PrecoID, i.EventoID, i.BloqueioID, i.CortesiaID, 
                    i.ClienteID, i.VendaBilheteriaID, vb.ClienteID
                    FROM tVendaBilheteria vb (NOLOCK)
                    INNER JOIN #tmpVendaBilheteriaID tmp ON tmp.ID = vb.ID
                    INNER JOIN tIngresso i (NOLOCK) ON i.VendaBilheteriaID = vb.ID
                    WHERE i.Status = '{0}' ", Ingresso.IMPRESSO));

                while (bdAux.Consulta().Read())
                {
                    bd.Executar(string.Format(
                                    @"UPDATE tIngresso SET Status = '{0}'
                        WHERE tIngresso.ID = {1} ", Ingresso.ENTREGUE, bdAux.LerInt("ID")));

                    log = new IngressoLog();
                    log.IngressoID.Valor            = bdAux.LerInt("ID");
                    log.UsuarioID.Valor             = UsuarioID;
                    log.TimeStamp.Valor             = DateTime.Now;
                    log.Acao.Valor                  = Ingresso.ENTREGUE;
                    log.PrecoID.Valor               = bdAux.LerInt("PrecoID");
                    log.CortesiaID.Valor            = bdAux.LerInt("CortesiaID");
                    log.BloqueioID.Valor            = bdAux.LerInt("BloqueioID");
                    log.VendaBilheteriaItemID.Valor = 0;
                    log.Obs.Valor               = string.Empty;
                    log.EmpresaID.Valor         = EmpresaID;
                    log.VendaBilheteriaID.Valor = bdAux.LerInt("VendaBilheteriaID");
                    log.CaixaID.Valor           = CaixaID;
                    log.LojaID.Valor            = LojaID;
                    log.CanalID.Valor           = CanalID;
                    log.ClienteID.Valor         = bdAux.LerInt("ClienteID");
                    log.CodigoBarra.Valor       = string.Empty;
                    log.CodigoImpressao.Valor   = 0;

                    if (!Convert.ToBoolean(bd.Executar(log.StringInserir())))
                    {
                        throw new BilheteriaException("Log de impressão do ingresso não foi inserido.");
                    }
                }

                bd.FinalizarTransacao();
            }
            catch (Exception ex)
            {
                bd.DesfazerTransacao();
                throw ex;
            }
            finally
            {
                bd.Fechar();
            }
        }
示例#44
0
        public void ImportarClientes()
        {
            BD bd = new BD();

            try
            {
                var obj = new
                {
                    ClienteID         = 0,
                    Login             = string.Empty,
                    Nome              = string.Empty,
                    Senha             = string.Empty,
                    CPF               = string.Empty,
                    Sexo              = string.Empty,
                    CEP               = string.Empty,
                    Endereco          = string.Empty,
                    Numero            = string.Empty,
                    Complemento       = string.Empty,
                    Estado            = string.Empty,
                    Cidade            = string.Empty,
                    Bairro            = string.Empty,
                    Email             = string.Empty,
                    DDDResidencial    = string.Empty,
                    TelResidencial    = string.Empty,
                    DDDCelular        = string.Empty,
                    TelCelular        = string.Empty,
                    DDDComercial1     = string.Empty,
                    TelComercial1     = string.Empty,
                    DDDComercial2     = string.Empty,
                    TelComercial2     = string.Empty,
                    DDDFax            = string.Empty,
                    TelFax            = string.Empty,
                    Profissao         = string.Empty,
                    ProfissaoSituacao = string.Empty,
                    DataNascimento    = DateTime.MinValue,
                    ValorDesconto     = 0m,
                    TextoDesconto     = string.Empty,
                };

                var listaAnonima = VendaBilheteria.ToAnonymousList(obj);

                bd.Consulta("SELECT * FROM ClientesOSESP WHERE Importado = 0");

                if (!bd.Consulta().Read())
                {
                    throw new Exception("Todos os clientes foram importados.");
                }

                var listaSitProfissional = new SituacaoProfissional().ListaTudo();

                do
                {
                    string[] residencial = bd.LerString("Tel_Residencial").Replace("-", "").Split(' ');
                    string[] celular     = bd.LerString("Tel_Celular").Replace("-", "").Split(' ');
                    string[] comercial1  = bd.LerString("Tel_Comercial1").Replace("-", "").Split(' ');
                    string[] comercial2  = bd.LerString("Tel_Comercial2").Replace("-", "").Split(' ');
                    string[] fax         = bd.LerString("Tel_Fax").Replace("-", "").Split(' ');
                    string   sexo        = bd.LerString("Sexo");
                    sexo = sexo.Length == 0 ? string.Empty : sexo.Substring(0, 1);


                    listaAnonima.Add(new
                    {
                        ClienteID         = bd.LerInt("ClienteID"),
                        Login             = bd.LerString("Login").Replace("'", ""),
                        Nome              = bd.LerString("Nome").Replace("'", ""),
                        Senha             = bd.LerString("Senha").Replace("'", ""),
                        CPF               = bd.LerString("CPF").Replace("'", ""),
                        Sexo              = sexo,
                        CEP               = bd.LerString("CEP").Replace("'", ""),
                        Endereco          = bd.LerString("Endereco").Replace("'", ""),
                        Numero            = bd.LerString("Numero").Replace("'", ""),
                        Complemento       = bd.LerString("Complemento").Replace("'", ""),
                        Estado            = bd.LerString("Estado").Replace("'", ""),
                        Cidade            = bd.LerString("Cidade").Replace("'", ""),
                        Bairro            = bd.LerString("Bairro").Replace("'", ""),
                        Email             = bd.LerString("Email").Replace("'", ""),
                        DDDResidencial    = residencial.Length > 1 ? residencial[0] : string.Empty,
                        TelResidencial    = residencial.Length > 1 ? residencial[1] : string.Empty,
                        DDDCelular        = celular.Length > 1 ? celular[0] : string.Empty,
                        TelCelular        = celular.Length > 1 ? celular[1] : string.Empty,
                        DDDComercial1     = comercial1.Length > 1 ? comercial1[0] : string.Empty,
                        TelComercial1     = comercial1.Length > 1 ? comercial1[1] : string.Empty,
                        DDDComercial2     = comercial2.Length > 1 ? comercial2[0] : string.Empty,
                        TelComercial2     = comercial2.Length > 1 ? comercial2[1] : string.Empty,
                        DDDFax            = fax.Length > 1 ? fax[0] : string.Empty,
                        TelFax            = fax.Length > 1 ? fax[1] : string.Empty,
                        Profissao         = bd.LerString("Profissao").Replace("'", ""),
                        ProfissaoSituacao = bd.LerString("ProfissaoSituacao").Replace("'", ""),
                        DataNascimento    = bd.LerDateTime("Data_Nascimento"),
                        ValorDesconto     = bd.LerDecimal("ValorDesconto"),
                        TextoDesconto     = bd.LerString("TextoDesconto").Replace("'", ""),
                    });
                } while (bd.Consulta().Read());

                IRLib.Paralela.Cliente oCliente = new Cliente();
                foreach (var cliente in listaAnonima)
                {
                    try
                    {
                        oCliente.Limpar();
                        if (cliente.ClienteID > 0)
                        {
                            oCliente.Ler(cliente.ClienteID);
                        }

                        oCliente.LoginOsesp.Valor             = cliente.Login;
                        oCliente.Nome.Valor                   = cliente.Nome;
                        oCliente.Senha.Valor                  = cliente.Senha;
                        oCliente.CPF.Valor                    = cliente.CPF;
                        oCliente.Sexo.Valor                   = cliente.Sexo;
                        oCliente.CEPCliente.Valor             = cliente.CEP;
                        oCliente.EnderecoCliente.Valor        = cliente.Endereco;
                        oCliente.NumeroCliente.Valor          = cliente.Numero;
                        oCliente.ComplementoCliente.Valor     = cliente.Complemento;
                        oCliente.EstadoCliente.Valor          = cliente.Estado;
                        oCliente.CidadeCliente.Valor          = cliente.Cidade;
                        oCliente.BairroCliente.Valor          = cliente.Bairro;
                        oCliente.Email.Valor                  = cliente.Email.Split(',').FirstOrDefault().Trim();
                        oCliente.DDDTelefone.Valor            = cliente.DDDResidencial;
                        oCliente.Telefone.Valor               = cliente.TelResidencial;
                        oCliente.DDDCelular.Valor             = cliente.DDDCelular;
                        oCliente.Celular.Valor                = cliente.TelCelular;
                        oCliente.DDDTelefoneComercial.Valor   = cliente.DDDComercial1;
                        oCliente.TelefoneComercial.Valor      = cliente.TelComercial1;
                        oCliente.DDDTelefoneComercial2.Valor  = cliente.DDDComercial2;
                        oCliente.TelefoneComercial2.Valor     = cliente.TelComercial2;
                        oCliente.Profissao.Valor              = cliente.Profissao;
                        oCliente.SituacaoProfissionalID.Valor = listaSitProfissional.Where(c => string.Compare(c.Nome, cliente.ProfissaoSituacao, true) == 0).FirstOrDefault().ID;
                        oCliente.DataNascimento.Valor         = cliente.DataNascimento;

                        var retorno = oCliente.Salvar(IRLib.Paralela.Usuario.INTERNET_USUARIO_ID);

                        switch (retorno.RetornoProcedure)
                        {
                        case Cliente.RetornoProcSalvar.InsertOK:
                        case Cliente.RetornoProcSalvar.UpdateOK:
                            bd.Executar("UPDATE ClientesOSESP SET Importado = 1, ClienteID = " + retorno.ClienteID + " WHERE Login = '******'");
                            break;

                        case Cliente.RetornoProcSalvar.CPF_Email_JaExistem:
                            throw new Exception("CPF/Email/Login já existe e houve tentativa de inclusão");

                        case Cliente.RetornoProcSalvar.CPF_Email_Vazios:
                            throw new Exception("CPF/Email/Login vazios");

                        case Cliente.RetornoProcSalvar.CNPJ_JaExiste:
                            throw new Exception("CNPJ já existem");

                        default:
                            break;
                        }

                        if (cliente.ValorDesconto > 0)
                        {
                            bd.Executar(
                                @"INSERT INTO tAssinaturaDesconto (ClienteID, Valor, Utilizado, TextoDesconto) 
								VALUES ("                                 + retorno.ClienteID + ", " + cliente.ValorDesconto.ToString("#.00").Replace(",", ".") + ", 'F', '" + cliente.TextoDesconto + "')");
                        }
                    }
                    catch (Exception ex)
                    {
                        try
                        {
                            bd.Executar("UPDATE ClientesOSESP SET ErroImportacao = '" + ex.Message + "' WHERE Login = '******'");
                        }
                        catch { }
                    }
                }
            }
            finally
            {
                bd.Fechar();
            }
        }
示例#45
0
        public void FixEleazar(int assinaturaID)
        {
            BD bd = new BD();

            try
            {
                string buscaInicial = @"
                        SELECT ap.AssinaturaClienteID 
	                    FROM AssinaturasProblemasCaioUCO ap (NOLOCK)
	                    LEFT JOIN tAssinaturaErroFix af (NOLOCK) ON af.AssinaturaClienteID = ap.AssinaturaClienteID
                        WHERE (af.ID IS NULL OR af.Fixed = 0) AND AssinaturaID = " + assinaturaID;

                bd.Consulta(buscaInicial);

                if (!bd.Consulta().Read())
                {
                    throw new Exception("Nenhuma inconsistencia");
                }

                List <int> listAssinaturaClienteID = new List <int>();

                do
                {
                    listAssinaturaClienteID.Add(bd.LerInt("AssinaturaClienteID"));
                } while (bd.Consulta().Read());
                bd.FecharConsulta();


                var itemAnonimo = new
                {
                    ID                  = 0,
                    ClienteID           = 0,
                    Status              = string.Empty,
                    BloqueioID          = 0,
                    EventoID            = 0,
                    VendaBilheteriaID   = 0,
                    PrecoTipoID         = 0,
                    ApresentacaoSetorID = 0,
                    Valor               = 0m,
                };

                var listaAnonima = VendaBilheteria.ToAnonymousList(itemAnonimo);

                foreach (int id in listAssinaturaClienteID)
                {
                    try
                    {
                        bd.Consulta(string.Format(@"SELECT 
	                        i.ID, i.Status, ac.ClienteID, a.BloqueioID, i.EventoID, i.VendaBilheteriaID, ac.PrecoTipoID, i.ApresentacaoSetorID, p.Valor
	                        FROM tAssinaturaCliente ac (NOLOCK)
	                        INNER JOIN tAssinatura a (NOLOCK) ON a.ID = ac.AssinaturaID
	                        INNER JOIN tAssinaturaAno an (NOLOCK) ON an.ID = ac.AssinaturaAnoID
	                        INNER JOIN tAssinaturaItem ai (NOLOCK) ON ai.AssinaturaAnoID = an.ID
	                        INNER JOIN tIngresso i (NOLOCK) ON i.ApresentacaoID = ai.ApresentacaoID AND i.SetorID = ai.SetorID AND i.LugarID = ac.LugarID
	                        LEFT JOIN tPreco p (NOLOCK) ON p.ID = i.PrecoID
	                        WHERE ac.ID = {0} AND ai.PrecoTipoID = 1
                            ORDER BY i.ID ASC", id));

                        if (!bd.Consulta().Read())
                        {
                            throw new Exception("Sem ingressos!!!!");
                        }

                        listaAnonima.Clear();

                        do
                        {
                            listaAnonima.Add(new
                            {
                                ID                  = bd.LerInt("ID"),
                                ClienteID           = bd.LerInt("ClienteID"),
                                Status              = bd.LerString("Status"),
                                BloqueioID          = bd.LerInt("BloqueioID"),
                                EventoID            = bd.LerInt("EventoID"),
                                VendaBilheteriaID   = bd.LerInt("VendaBilheteriaID"),
                                PrecoTipoID         = bd.LerInt("PrecoTipoID"),
                                ApresentacaoSetorID = bd.LerInt("ApresentacaoSetorID"),
                                Valor               = bd.LerDecimal("Valor"),
                            });
                        } while (bd.Consulta().Read());


                        bd.FecharConsulta();
                        bd.IniciarTransacao();

                        int    ingressoIDAtualizar = 0;
                        int    vendaBilheteriaID   = 0;
                        int    precoTipoID         = 0;
                        string status = string.Empty;
                        foreach (var ingresso in listaAnonima)
                        {
                            //Aqui entra o ingresso ANTIGO
                            if (ingresso.EventoID == 18253)
                            {
                                ingressoIDAtualizar = ingresso.ID;
                                vendaBilheteriaID   = ingresso.VendaBilheteriaID;
                                precoTipoID         = ingresso.PrecoTipoID;
                                status = ingresso.Status;

                                if (bd.Executar(string.Format("UPDATE tIngresso SET PrecoID = 0, Status = 'D', ClienteID = 0, BloqueioID = 0, AssinaturaClienteID = 0, VendaBilheteriaID = 0 WHERE ID = {0}", ingresso.ID)) != 1)
                                {
                                    throw new Exception("Não foi possível atualizar o status do ingresso" + ingresso.ID);
                                }
                            }
                            //Esse aqui é o NOVO EventoID
                            else if (ingresso.EventoID == 18489)
                            {
                                if (ingressoIDAtualizar == 0)
                                {
                                    throw new Exception("Não encontrou ingresso correspondente no evento errado.");
                                }

                                if (status == Ingresso.VENDIDO)
                                {
                                    int precoID = Convert.ToInt32(bd.ConsultaValor("SELECT ID FROM tPreco WHERE PrecoTipoID = " + precoTipoID + " AND ApresentacaoSetorID = " + ingresso.ApresentacaoSetorID));
                                    if (precoID == 0)
                                    {
                                        throw new Exception("PrecoID invalido");
                                    }

                                    if (bd.Executar(string.Format("UPDATE tIngresso SET Status = '{0}', ClienteID = {1}, BloqueioID = {2}, AssinaturaClienteID = {3}, VendaBilheteriaID = {4}, PrecoID = {5} WHERE ID = {6} AND Status <> 'V' AND Status <> 'I'",
                                                                  Ingresso.VENDIDO, ingresso.ClienteID, ingresso.BloqueioID, id, vendaBilheteriaID, precoID, ingresso.ID)) != 1)
                                    {
                                        throw new Exception("Não foi possível atualizar o status do ingresso" + ingresso.ID);
                                    }

                                    bd.Executar("UPDATE tIngressoLOG SET IngressoID = " + ingresso.ID + ", PrecoID = " + precoID + " WHERE IngressoID = " + ingressoIDAtualizar);
                                }
                                else
                                {
                                    if (bd.Executar(string.Format("UPDATE tIngresso SET Status = '{0}', ClienteID = {1}, BloqueioID = {2}, AssinaturaClienteID = {3}, VendaBilheteriaID = 0, PrecoID = 0 WHERE ID = {4} AND Status <> 'V' AND Status <> 'I'",
                                                                  Ingresso.BLOQUEADO, ingresso.ClienteID, ingresso.BloqueioID, id, ingresso.ID)) != 1)
                                    {
                                        throw new Exception("Não foi possível atualizar o status do ingresso" + ingresso.ID);
                                    }
                                }
                                break;
                            }
                        }

                        bd.Executar("INSERT INTO tAssinaturaErroFix (AssinaturaClienteID, Fixed, Erro) VALUES (" + id + ", 1, '')");
                        bd.FinalizarTransacao();
                    }
                    catch (Exception ex)
                    {
                        bd.DesfazerTransacao();
                        bd.Fechar();
                        bd.Executar("INSERT INTO tAssinaturaErroFix (AssinaturaClienteID, Fixed, Erro) VALUES (" + id + ", 0, '" + ex.Message + "') ");
                    }
                    finally
                    {
                        bd.FecharConsulta();
                    }
                }
            }
            finally
            {
                bd.Fechar();
            }
        }
示例#46
0
 public IngressoGerenciadorAccertify()
 {
     bd = new BD();
 }
示例#47
0
        public void Importar(int id)
        {
            BD bd = new BD();

            try
            {
                var obj = new
                {
                    ID                = 0,
                    ClienteID         = 0,
                    AssinaturaID      = 0,
                    Lugares           = new List <int>(),
                    AssinaturaAnoID   = 0,
                    SetorID           = 0,
                    BloqueioID        = 0,
                    ExtintoBloqueioID = 0,
                };

                var listaAnonina = VendaBilheteria.ToAnonymousList(obj);

                string sql =
                    @"
						SELECT DISTINCT 
							    ac.UserId AS ID, ac.ClienteID, a.ID AS AssinaturaID, ac.LugarID, ac.LugarID1,ac.LugarID2,ac.LugarID3,ac.LugarID4,ac.LugarID5, an.ID AS AssinaturaAnoID, ac.SetorID,
								a.BloqueioID, a.ExtintoBloqueioID
							FROM AssinantesCultura ac (NOLOCK)
							INNER JOIN tAssinatura a (NOLOCK) ON a.ID = ac.AssinaturaID
							INNER JOIN tAssinaturaAno an (NOLOCK) ON a.ID = an.AssinaturaID
							WHERE ac.SetorID IS NOT NULL AND ac.Importado = 0 AND a.ID = "                             + id;

                if (!bd.Consulta(sql).Read())
                {
                    throw new Exception("Não existem mais assinaturas a serem importadas.");
                }

                do
                {
                    List <int> lugares = new List <int>();
                    if (bd.LerInt("LugarID") > 0)
                    {
                        lugares.Add(bd.LerInt("LugarID"));
                    }

                    if (bd.LerInt("LugarID1") > 0)
                    {
                        lugares.Add(bd.LerInt("LugarID1"));
                    }

                    if (bd.LerInt("LugarID2") > 0)
                    {
                        lugares.Add(bd.LerInt("LugarID2"));
                    }

                    if (bd.LerInt("LugarID3") > 0)
                    {
                        lugares.Add(bd.LerInt("LugarID3"));
                    }

                    if (bd.LerInt("LugarID4") > 0)
                    {
                        lugares.Add(bd.LerInt("LugarID4"));
                    }

                    if (bd.LerInt("LugarID5") > 0)
                    {
                        lugares.Add(bd.LerInt("LugarID5"));
                    }

                    listaAnonina.Add(new
                    {
                        ID           = bd.LerInt("ID"),
                        ClienteID    = bd.LerInt("ClienteID"),
                        AssinaturaID = bd.LerInt("AssinaturaID"),
                        Lugares      = lugares,

                        AssinaturaAnoID = bd.LerInt("AssinaturaAnoID"),
                        SetorID         = bd.LerInt("SetorID"),

                        BloqueioID        = bd.LerInt("BloqueioID"),
                        ExtintoBloqueioID = bd.LerInt("ExtintoBloqueioID"),
                    });
                } while (bd.Consulta().Read());

                bd.FecharConsulta();
                foreach (var assinatura in listaAnonina)
                {
                    try
                    {
                        foreach (int lugarID in assinatura.Lugares)
                        {
                            List <int>        ingressos          = new List <int>();
                            AssinaturaCliente oAssinaturaCliente = new AssinaturaCliente();

                            sql = string.Format(@"
                                SELECT 
	                                i.ID, i.Status, i.BloqueioID
	                            FROM tAssinaturaAno an (NOLOCK)
	                            INNER JOIN tAssinaturaItem ai (NOLOCK) ON an.ID = ai.AssinaturaAnoID
	                            INNER JOIN tIngresso i (NOLOCK) ON i.ApresentacaoID = ai.ApresentacaoID AND i.SetorID = ai.SetorID
	                            WHERE an.ID = {0} AND i.LugarID = {1} AND PrecoTipoID = 8
                                ", assinatura.AssinaturaAnoID, lugarID);

                            if (!bd.Consulta(sql).Read())
                            {
                                throw new Exception("Não foi possível encontrar os ingressos desta assinatura.");
                            }

                            int bloqueioID = bd.LerInt("BloqueioID");
                            do
                            {
                                if (bd.LerString("Status") != Ingresso.DISPONIVEL && bd.LerString("Status") != Ingresso.BLOQUEADO)
                                {
                                    throw new Exception("Ingresso com status: " + bd.LerString("Status"));
                                }

                                ingressos.Add(bd.LerInt("ID"));
                            } while (bd.Consulta().Read());

                            bd.FecharConsulta();

                            oAssinaturaCliente.Limpar();
                            oAssinaturaCliente.ClienteID.Valor         = assinatura.ClienteID;
                            oAssinaturaCliente.AssinaturaID.Valor      = assinatura.AssinaturaID;
                            oAssinaturaCliente.PrecoTipoID.Valor       = 0;
                            oAssinaturaCliente.LugarID.Valor           = lugarID;
                            oAssinaturaCliente.AssinaturaAnoID.Valor   = assinatura.AssinaturaAnoID;
                            oAssinaturaCliente.VendaBilheteriaID.Valor = 0;
                            oAssinaturaCliente.SetorID.Valor           = assinatura.SetorID;
                            oAssinaturaCliente.Acao.Valor = Convert.ToChar((AssinaturaCliente.EnumStatus.Aguardando)).ToString();

                            string status = string.Empty;

                            if (bloqueioID == assinatura.ExtintoBloqueioID)
                            {
                                oAssinaturaCliente.Status.Valor = Convert.ToChar((AssinaturaCliente.EnumStatus.Indisponivel)).ToString();
                                bloqueioID = assinatura.ExtintoBloqueioID;
                            }
                            else
                            {
                                oAssinaturaCliente.Status.Valor = Convert.ToChar((AssinaturaCliente.EnumStatus.Aguardando)).ToString();
                                bloqueioID = assinatura.BloqueioID;
                            }

                            try
                            {
                                bd.IniciarTransacao();

                                oAssinaturaCliente.Inserir(bd);

                                if (ingressos.Count != 10)
                                {
                                    throw new Exception("Quantidade de ingressos diferente de 10!!!!");
                                }

                                foreach (var ingresso in ingressos)
                                {
                                    if (bd.Executar(
                                            string.Format(
                                                @"UPDATE tIngresso SET Status = 'B', BloqueioID = {0}, ClienteID = {1}, AssinaturaClienteID = {2} WHERE ID = {3} ",
                                                bloqueioID, assinatura.ClienteID, oAssinaturaCliente.Control.ID, ingresso)) != 1)
                                    {
                                        throw new Exception("Não foi possível atualizar o ingresso: " + ingresso);
                                    }
                                }


                                bd.Executar("UPDATE AssinantesCultura SET Importado = 1, Erro = '' WHERE UserID = " + assinatura.ID);

                                bd.FinalizarTransacao();
                            }
                            catch (Exception ex)
                            {
                                bd.DesfazerTransacao();
                                throw ex;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        bd.Executar("UPDATE AssinantesCultura SET Importado = 0, Erro = '" + ex.Message + "' WHERE UserID = " + assinatura.ID);
                    }
                }
            }
            finally
            {
                bd.Fechar();
            }
        }
示例#48
0
        public List <KeyValuePair <string, XElement> > Buscar_TSData_WhitelistRecord()
        {
            BD bd = new BD();

            try
            {
                EventoIDsWhite = new List <int>();

                string SQL = string.Format(@"SELECT DISTINCT te.ID 
                FROM tEvento AS te (NOLOCK)
                INNER JOIN tApresentacao ta (NOLOCK) ON te.ID = ta.EventoID
                WHERE te.LocalID IN ({0}) AND ta.Horario >= '{1}%'", this.LocalID, DateTime.Now.AddDays(-1).ToString("yyyyMMdd"));

                bd.Consulta(SQL);

                while (bd.Consulta().Read())
                {
                    EventoIDsWhite.Add(bd.LerInt("ID"));
                }

                bd.FecharConsulta();

                if (EventoIDsWhite.Count > 0)
                {
                    TSData_WhitelistRecord tsData = new TSData_WhitelistRecord();

                    tsData.Header.Version  = Version;
                    tsData.Header.Issuer   = Issuer;
                    tsData.Header.Receiver = Receiver;
                    tsData.Header.ID       = ID;

                    for (int cont = 0; cont < EventoIDsWhite.Count; cont++)
                    {
                        SQL = string.Format(@"SELECT DISTINCT ticb.ID, ticb.CodigoBarra, SUBSTRING(ta.Horario,1,8) AS Horario, ta.Horario AS HorarioCompleto, 
                        tpt.ID AS PrecoTipoID, tash.HorarioInicial, tash.HorarioFinal, ticb.EventoID,
                        tgi.Horario as HoraGerenciada, ISNULL(tgi.PrecoTipoID, 0) AS GerencimanentoID
                        FROM tIngressoCodigoBarra ticb (NOLOCK) 
                        INNER JOIN tIngressoLog til (NOLOCK) ON til.CodigoBarra = ticb.CodigoBarra
                        INNER JOIN tIngresso ti (NOLOCK) ON ti.ID = til.IngressoID AND ti.EventoID = ticb.EventoID
                        INNER JOIN tApresentacao ta (NOLOCK) ON ta.ID = ti.ApresentacaoID AND ta.EventoID = ticb.EventoID
                        INNER JOIN tPreco tp (NOLOCK) ON tp.ID = til.PrecoID AND tp.ApresentacaoSetorID = ti.ApresentacaoSetorID
                        LEFT JOIN tPrecoTipo tpt (NOLOCK) ON tpt.ID = tp.PrecoTipoID
                        LEFT JOIN tGerenciamentoIngressos tgi (NOLOCK) ON tgi.ID = ti.GerenciamentoIngressosID
                        LEFT JOIN tAuxiliarSetoresHorario tash (NOLOCK) ON tash.SetorID = ti.SetorID
                        WHERE ticb.EventoID = {0} AND ta.Horario >= '{1}%' AND ticb.Sincronizado = 'F'", EventoIDsWhite[cont], DateTime.Now.AddDays(-1).ToString("yyyyMMdd"));

                        bd.Consulta(SQL);

                        while (bd.Consulta().Read())
                        {
                            DateTime Horarioinicial = new DateTime();
                            DateTime Horariofinal   = new DateTime();

                            switch (bd.LerInt("GerencimanentoID"))
                            {
                            case GerenciamentoIngressos.PRECOHORAMARCADA:
                                Horarioinicial = Utilitario.String2DateTime(DateTime.Now.ToString("yyyyMMdd") + bd.LerString("HoraGerenciada"));
                                Horariofinal   = Horarioinicial.AddHours(1);
                                break;

                            default:
                                string horarioinicial = bd.LerString("HorarioInicial");
                                string horariofinal   = bd.LerString("HorarioFinal");

                                if (string.IsNullOrEmpty(horarioinicial))
                                {
                                    Horarioinicial = Utilitario.String2DateTime(bd.LerString("HorarioCompleto"));
                                }
                                else
                                {
                                    Horarioinicial = Utilitario.String2DateTime(bd.LerString("Horario") + horarioinicial);
                                }

                                if (string.IsNullOrEmpty(horariofinal))
                                {
                                    Horariofinal = Horarioinicial.AddHours(6.5);
                                }
                                else
                                {
                                    Horariofinal = Utilitario.String2DateTime(bd.LerString("Horario") + horariofinal);
                                }
                                break;
                            }

                            tsData.WhitelistRecord.Add(new Whitelist_WhitelistRecord()
                            {
                                Action = "U",
                                Coding = this.Coding,
                                UTID   = bd.LerString("CodigoBarra"),

                                Permission = new Permission_WhitelistRecord()
                                {
                                    UPID = bd.LerInt("ID"),
                                    From = Horarioinicial,
                                    To   = Horariofinal,

                                    TSProperty = new TSProperty_WhitelistRecord()
                                    {
                                        AreaID           = this.AreaID,
                                        EventoID         = this.EventID == 0 ? bd.LerInt("EventoID").ToString() : this.EventID.ToString("00"),
                                        PersonCategoryID = this.PersonCategoryID,
                                        SeassonPassID    = this.SeassonPassID,
                                        TicketTypeID     = this.TicketTypeID == 0 ? bd.LerInt("PrecoTipoID").ToString("00") : this.TicketTypeID.ToString("00")
                                    }
                                }
                            });
                        }

                        bd.FecharConsulta();
                    }

                    return(this.Gerar_TSData_WhitelistRecord(tsData));
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                bd.Fechar();
            }
        }
示例#49
0
        public List <EstruturaFonteNova> WhitelistRecordFonte()
        {
            BD bd = new BD();

            try
            {
                List <EstruturaFonteNova> retorno = new List <EstruturaFonteNova>();
                EventoIDsWhite = new List <int>();

                string SQL = string.Format(@"SELECT DISTINCT te.ID 
                FROM tEvento AS te (NOLOCK)
                INNER JOIN tApresentacao ta (NOLOCK) ON te.ID = ta.EventoID
                WHERE te.LocalID IN ({0}) AND ta.Horario >= '{1}%'", this.LocalID, DateTime.Now.AddDays(-1).ToString("yyyyMMdd"));

                bd.Consulta(SQL);

                while (bd.Consulta().Read())
                {
                    EventoIDsWhite.Add(bd.LerInt("ID"));
                }

                bd.FecharConsulta();

                if (EventoIDsWhite.Count > 0)
                {
                    SQL = string.Format(@"
                    SELECT DISTINCT ti.ID, ticb.CodigoBarra,ti.Codigo, 
                    ts.LugarMarcado, tp.Valor, ti.VendaBilheteriaID, ISNULL(tc.ID, 0) AS ClienteID, 
                    ISNULL(tc.Nome, '') AS Cliente, tasf.Chave, te.Nome AS Evento, tasf.aIdEvento
                    FROM tIngressoCodigoBarra ticb (NOLOCK) 
                    INNER JOIN tIngressoLog til (NOLOCK) ON til.CodigoBarra = ticb.CodigoBarra
                    INNER JOIN tIngresso ti (NOLOCK) ON ti.ID = til.IngressoID AND ti.EventoID = ticb.EventoID
                    INNER JOIN tApresentacao ta (NOLOCK) ON ta.ID = ti.ApresentacaoID AND ta.EventoID = ticb.EventoID
                    INNER JOIN tPreco tp (NOLOCK) ON tp.ID = til.PrecoID AND tp.ApresentacaoSetorID = ti.ApresentacaoSetorID
                    INNER JOIN tSetor ts (NOLOCK) ON ts.ID = ti.SetorID
                    LEFT JOIN tLugar tl (NOLOCK) ON tl.ID = ti.LugarID
                    LEFT JOIN tCliente tc (NOLOCK) ON tc.ID = ti.ClienteID
                    INNER JOIN tAuxiliarSetoresFonte tasf (NOLOCK) ON tasf.SetorID = ti.SetorID AND tasf.PrecoID = ti.PrecoID
                    INNER JOIN tEvento te (NOLOCK) ON te.ID = ta.EventoID
                    WHERE ticb.EventoID IN ({0}) AND ticb.Sincronizado = 'F'", Utilitario.ArrayToString(EventoIDsWhite.ToArray()));

                    bd.Consulta(SQL);

                    while (bd.Consulta().Read())
                    {
                        retorno.Add(new EstruturaFonteNova()
                        {
                            ID                = bd.LerInt("ID"),
                            CodigoBarra       = bd.LerString("CodigoBarra"),
                            Codigo            = bd.LerString("Codigo"),
                            LugarMarcado      = bd.LerString("LugarMarcado"),
                            Valor             = bd.LerDecimal("Valor"),
                            VendaBilheteriaID = bd.LerInt("VendaBilheteriaID"),
                            ClienteID         = bd.LerInt("ClienteID"),
                            Cliente           = bd.LerString("Cliente"),
                            Chave             = bd.LerString("Chave"),
                            Evento            = bd.LerString("Evento"),
                            aIdEvento         = bd.LerString("aIdEvento")
                        });
                    }

                    return(retorno);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                bd.Fechar();
            }
        }
示例#50
0
        /// <summary>
        /// Endpoint que se utiliza para insertar un mensaje nuevo con un archivo
        /// </summary>
        /// <param name="request">Recibe una petición con un valor de tipo Mensaje</param>
        private void ep_Mensaje_Archivo_Nuevo(Request request)
        {
            try
            {
                if (Usuario == null)
                {
                    Send("error", "El usuario no ha iniciado sesión", false, 404);
                    return;
                }

                Mensaje mensajeRecibido = JsonConvert.DeserializeObject <Mensaje>(Convert.ToString(request.Value));

                if (mensajeRecibido == null)
                {
                    Send("error", "No se ha podido obtener el mensaje recibido", false, 404);
                    return;
                }

                if (string.IsNullOrEmpty(mensajeRecibido.NickUsuarioRemitente) && mensajeRecibido.IdGrupo != 0)
                {
                    // Send("error", "Se requiere un grupo o un usuario remitente", false, 404);
                    return;
                }

                Usuario usuarioRemitente = null;
                Mensaje mensaje          = null;

                bool    isEmpty = false;
                DataSet result  = null;

                if (mensajeRecibido.IdGrupo == 0 && string.IsNullOrEmpty(mensajeRecibido.NickUsuarioRemitente))
                {
                    mensaje = new Mensaje()
                    {
                        IdGrupo            = 0,
                        IdUsuarioRemitente = 0,
                        IdUsuario          = mensajeRecibido.IdUsuario,
                        Contenido          = mensajeRecibido.Contenido,
                        RutaContenido      = mensajeRecibido.RutaContenido,
                        Binario            = mensajeRecibido.Binario,
                        FechaAlta          = DateTime.Now
                    };
                }
                else
                {
                    isEmpty = false;
                    result  = BD.sp_Usuarios_Select(ref isEmpty, mensajeRecibido.NickUsuarioRemitente);

                    if (isEmpty)
                    {
                        Send("error", "El usuario remitente no existe", false, 404);
                        return;
                    }

                    usuarioRemitente = new Usuario()
                    {
                        Id       = Convert.ToInt32(result.Tables[0].Rows[0]["Id"]),
                        Correo   = Convert.ToString(result.Tables[0].Rows[0]["Correo"]),
                        Nick     = string.IsNullOrEmpty(Convert.ToString(result.Tables[0].Rows[0]["Nick"])) ? Convert.ToString(result.Tables[0].Rows[0]["Correo"]) : Convert.ToString(result.Tables[0].Rows[0]["Nick"]),
                        Password = Convert.ToString(result.Tables[0].Rows[0]["Password"])
                    };

                    mensaje = new Mensaje()
                    {
                        IdGrupo            = 0,
                        IdUsuarioRemitente = usuarioRemitente.Id,
                        IdUsuario          = mensajeRecibido.IdUsuario,
                        Contenido          = mensajeRecibido.Contenido,
                        RutaContenido      = mensajeRecibido.RutaContenido,
                        Binario            = mensajeRecibido.Binario,
                        FechaAlta          = DateTime.Now
                    };
                }

                if (!BD.sp_Mensajes_Insert(mensaje))
                {
                    Send("error", "No se pudo enviar el mensaje", false, 404);
                    return;
                }

                isEmpty = false;
                int?idMensaje = BD.sp_Mensajes_SelectMaxIdentity();

                if (!idMensaje.HasValue)
                {
                    Send(request.Key, "No se encontro el mensaje solicitado", false, 404);
                    return;
                }

                result = BD.sp_Mensajes_Select(ref isEmpty, idMensaje.Value);

                if (isEmpty)
                {
                    Send(request.Key, "No se encontro el mensaje solicitado", false, 404);
                    return;
                }

                DataTable dt = result.Tables[0];

                Mensaje mensajeInsertado = new Mensaje()
                {
                    Id            = idMensaje.Value,
                    IdGrupo       = !Convert.IsDBNull(dt.Rows[0]["IdGrupo"]) ? Convert.ToInt32(Convert.ToString(dt.Rows[0]["IdGrupo"])) : 0,
                    IdUsuario     = !Convert.IsDBNull(dt.Rows[0]["IdUsuario"]) ? Convert.ToInt32(Convert.ToString(dt.Rows[0]["IdUsuario"])) : 0,
                    Contenido     = !Convert.IsDBNull(dt.Rows[0]["Contenido"]) ? Convert.ToString(dt.Rows[0]["Contenido"]) : string.Empty,
                    RutaContenido = !Convert.IsDBNull(dt.Rows[0]["RutaContenido"]) ? Convert.ToString(dt.Rows[0]["RutaContenido"]) : string.Empty,
                    Binario       = !Convert.IsDBNull(dt.Rows[0]["Binario"]) ? (byte[])dt.Rows[0]["Binario"] : null,
                    FechaAlta     = !Convert.IsDBNull(dt.Rows[0]["FechaAlta"]) ? Convert.ToDateTime(dt.Rows[0]["FechaAlta"]) : DateTime.Now
                };

                Send(request.Key, mensajeInsertado, status: 200);
            }
            catch (Exception ex)
            {
                Send("error", ex.Message, status: 200);
                Fun.PrintLog(Fun.Log.Error, ex.Message, "Client.ep_Mensaje_Archivo_Nuevo");
            }
        }
示例#51
0
        private List <EstruturaAssinaturaBloqueio> CarregarAssinatura(List <int> lstAssClienteID)
        {
            BD bdaux = new BD();

            try
            {
                string sql = @"SELECT distinct i.Grupo,i.Classificacao, ac.id as AssinaturaClienteID, ac.AssinaturaID, i.LugarID, s.ID as SetorID, i.Codigo AS Lugar,s.Nome AS Setor, ass.Nome as NomeAssinatura, 
                                ISNULL(c.Nome,'') AS Assinante, ISNULL(c.ID,0) AS ClienteID, ISNULL(c.CPF,'') as CPF ,ISNULL(pt.Nome,'') AS Preco, ISNULL(ac.Status,'') as StatusAssinatura , ISNULL(ac.Acao,'') as AcaoAssinatura , 
                                i.Status as StatusIngresso, i.BloqueioID as IngressoBloqueioID,ass.BloqueioID AssinaturaBloqueioID, ass.DesistenciaBloqueioID AssinaturaDesistenciaBloqueioID, ass.ExtintoBloqueioID as AssinaturaExtintoBloqueioID, bl.Nome as BloqueioUtilizado,
                                l.PosicaoY, l.PosicaoX, bl.CorID AS BloqueioCorID
                                FROM tAssinaturaCliente ac
                                INNER JOIN tIngresso i (NOLOCK) ON ac.ID = i.AssinaturaClienteID
                                INNER JOIN tLugar l (NOLOCK) on i.LugarID = l.ID
                                INNER JOIN tAssinatura ass (NOLOCK) on ass.ID = ac.AssinaturaID
                                INNER JOIN tApresentacao ap (NOLOCK) on i.ApresentacaoID = ap.ID
                                INNER JOIN tSetor s (NOLOCK) on i.SetorID = s.ID
                                LEFT JOIN tCliente c (NOLOCK) ON ac.ClienteID = c.ID
                                LEFT JOIN tPrecoTipo pt (NOLOCK) ON ac.PrecoTipoID = pt.ID 
                                LEFT JOIN tBloqueio bl(NOLOCK) ON i.BloqueioID = bl.ID
                                WHERE ac.ID in(" + Utilitario.ArrayToString(lstAssClienteID.ToArray()) + @") 
                                ORDER BY i.Grupo,i.Classificacao";

                bdaux.Consulta(sql);

                var lstRetorno = new List <EstruturaAssinaturaBloqueio>();

                EstruturaAssinaturaBloqueio eABaux = new EstruturaAssinaturaBloqueio();

                while (bdaux.Consulta().Read())
                {
                    if (lstRetorno.Where(c => c.LugarID == bdaux.LerInt("LugarID")).Count() == 0)
                    {
                        string statusAssinatura = bdaux.LerString("StatusAssinatura") != "" ? ((AssinaturaCliente.EnumStatus)Convert.ToChar(bdaux.LerString("StatusAssinatura"))).ToString() : "--";
                        string statusIngresso   = bdaux.LerString("StatusIngresso") != "" ? ((Ingresso.StatusIngresso)Convert.ToChar(bdaux.LerString("StatusIngresso"))).ToString() : "--";


                        eABaux = new EstruturaAssinaturaBloqueio()
                        {
                            LugarID                 = bdaux.LerInt("LugarID"),
                            NomeAssinatura          = bdaux.LerString("NomeAssinatura"),
                            Assinante               = bdaux.LerString("Assinante"),
                            CPF                     = bdaux.LerString("CPF"),
                            Setor                   = bdaux.LerString("Setor"),
                            Lugar                   = bdaux.LerString("Lugar"),
                            Preco                   = bdaux.LerString("Preco"),
                            ClienteID               = bdaux.LerInt("ClienteID"),
                            AssinaturaClienteID     = bdaux.LerInt("AssinaturaClienteID"),
                            AssinaturaBloqueioID    = bdaux.LerInt("AssinaturaBloqueioID"),
                            BloqueioUtilizado       = bdaux.LerString("BloqueioUtilizado") != "" ? bdaux.LerString("BloqueioUtilizado") : "--",
                            StatusAssinatura        = statusAssinatura,
                            StatusIngresso          = statusIngresso,
                            SetorID                 = bdaux.LerInt("SetorID"),
                            Selecionar              = false,
                            PosicaoX                = bdaux.LerInt("PosicaoX"),
                            PosicaoY                = bdaux.LerInt("PosicaoY"),
                            BloqueioID              = bdaux.LerInt("IngressoBloqueioID"),
                            BloqueioCorID           = bdaux.LerInt("BloqueioCorID"),
                            AssinaturaID            = bdaux.LerInt("AssinaturaID"),
                            AssinaturaDesistenciaID = bdaux.LerInt("AssinaturaDesistenciaBloqueioID"),
                        };

                        eABaux.Status = this.VerificaStatusVisual(bdaux.LerString("StatusIngresso"), bdaux.LerString("StatusAssinatura"), bdaux.LerString("AcaoAssinatura"), bdaux.LerInt("IngressoBloqueioID"), bdaux.LerInt("AssinaturaBloqueioID"), bdaux.LerInt("AssinaturaExtintoBloqueioID"), bdaux.LerInt("AssinaturaDesistenciaBloqueioID"));

                        lstRetorno.Add(eABaux);
                    }
                    else
                    {
                        eABaux.Status            = EnumStatusVisual.Indisponivel;
                        eABaux.StatusIngresso    = "--";
                        eABaux.StatusAssinatura  = "--";
                        eABaux.BloqueioUtilizado = "--";
                        eABaux.BloqueioID        = 0;
                    }
                }

                return(lstRetorno);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                bdaux.Fechar();
            }
        }
示例#52
0
        /// <summary>
        /// Endpoint que se utiliza para insertar un mensaje nuevo
        /// </summary>
        /// <param name="request">Recibe una petición con un valor de tipo Mensaje</param>
        private void ep_Mensaje_Nuevo(Request request)
        {
            try
            {
                if (Usuario == null)
                {
                    Send("error", "El usuario no ha iniciado sesión", false, 404);
                    return;
                }

                Mensaje mensajeRecibido = JsonConvert.DeserializeObject <Mensaje>(Convert.ToString(request.Value));

                if (mensajeRecibido == null)
                {
                    Send("error", "No se ha podido obtener el mensaje recibido", false, 404);
                    return;
                }

                if (string.IsNullOrEmpty(mensajeRecibido.NickUsuarioRemitente) && mensajeRecibido.IdGrupo != 0)
                {
                    // Send("error", "Se requiere un grupo o un usuario remitente", false, 404);
                    return;
                }

                Usuario usuarioRemitente = null;
                Mensaje mensaje          = null;

                if (mensajeRecibido.IdGrupo == 0 && string.IsNullOrEmpty(mensajeRecibido.NickUsuarioRemitente))
                {
                    mensaje = new Mensaje()
                    {
                        IdGrupo            = 0,
                        IdUsuarioRemitente = 0,
                        IdUsuario          = mensajeRecibido.IdUsuario,
                        Contenido          = mensajeRecibido.Contenido,
                        RutaContenido      = mensajeRecibido.RutaContenido,
                        Binario            = mensajeRecibido.Binario,
                        FechaAlta          = DateTime.Now
                    };
                }
                else
                {
                    bool    isEmpty = false;
                    DataSet result  = BD.sp_Usuarios_Select(ref isEmpty, mensajeRecibido.NickUsuarioRemitente);

                    if (isEmpty)
                    {
                        Send("error", "El usuario remitente no existe", false, 404);
                        return;
                    }

                    usuarioRemitente = new Usuario()
                    {
                        Id       = Convert.ToInt32(result.Tables[0].Rows[0]["Id"]),
                        Correo   = Convert.ToString(result.Tables[0].Rows[0]["Correo"]),
                        Nick     = string.IsNullOrEmpty(Convert.ToString(result.Tables[0].Rows[0]["Nick"])) ? Convert.ToString(result.Tables[0].Rows[0]["Correo"]) : Convert.ToString(result.Tables[0].Rows[0]["Nick"]),
                        Password = Convert.ToString(result.Tables[0].Rows[0]["Password"])
                    };

                    mensaje = new Mensaje()
                    {
                        IdGrupo            = 0,
                        IdUsuarioRemitente = usuarioRemitente.Id,
                        IdUsuario          = mensajeRecibido.IdUsuario,
                        Contenido          = mensajeRecibido.Contenido,
                        RutaContenido      = mensajeRecibido.RutaContenido,
                        Binario            = mensajeRecibido.Binario,
                        FechaAlta          = DateTime.Now
                    };
                }

                if (!BD.sp_Mensajes_Insert(mensaje))
                {
                    Send("error", "No se pudo enviar el mensaje", false, 404);
                    return;
                }

                mensaje.Contenido = $"{Usuario.Nick}: {mensaje.Contenido}";
                Send(request.Key, mensaje, status: 200);
            }
            catch (Exception ex)
            {
                Send("error", ex.Message, status: 200);
                Fun.PrintLog(Fun.Log.Error, ex.Message, "Client.ep_Mensaje_Nuevo");
            }
        }
示例#53
0
 public InactivarUsuario(Usuario usuario)
 {
     InitializeComponent();
     usuarios     = BD.ObtenerUsuarios();
     this.usuario = usuario;
 }
示例#54
0
        /// <summary>
        /// Carrega o buffer de Eventos Gerenciados
        /// A PROC deve possuir o ID dos eventos do contrario não será carregado no objeto
        /// </summary>
        public void Load()
        {
            BD  bd             = new BD();
            int ApresentacaoID = 0;

            try
            {
                lock (this)
                {
                    this.Apresentacoes.Clear();


                    bd.Consulta("EXEC sp_GerenciamentoLoadingData");
                    while (bd.Consulta().Read())
                    {
                        ApresentacaoID = bd.LerInt("ApresentacaoID");

                        if (Apresentacoes.Where(c => c.ApresentacaoID == ApresentacaoID).Count() == 0)
                        {
                            Apresentacoes.Add(new Gerenciamento.Data
                            {
                                ApresentacaoSetorID = bd.LerInt("ApresentacaoSetorID"),
                                ApresentacaoID      = ApresentacaoID,
                                DataApresentacao    = bd.LerDateTime("ApresentacaoHorario"),
                                EventoID            = bd.LerInt("EventoID"),
                                EventoNome          = bd.LerString("EventoNome"),
                                SetorID             = bd.LerInt("SetorID")
                            });
                        }

                        Precos.Add(new Gerenciamento.Precos
                        {
                            ApresentacaoID          = ApresentacaoID,
                            Evento                  = bd.LerString("EventoNome"),
                            EventoID                = bd.LerInt("EventoID"),
                            DataApresentacao        = bd.LerDateTime("ApresentacaoHorario"),
                            Horario                 = bd.LerString("HorarioPreco"),
                            Label                   = bd.LerString("Label"),
                            Nome                    = bd.LerString("PrecoNome"),
                            SetorID                 = bd.LerInt("SetorID"),
                            PrecoID                 = bd.LerInt("PrecoID"),
                            PrecoTipoID             = bd.LerInt("PrecoTipoID"),
                            Valor                   = bd.LerDecimal("Valor"),
                            GerenciamentoIngressoID = bd.LerInt("GerenciamentoIngressosID"),
                            QuantidadeDisponivel    = bd.LerInt("QuantidadeDisponivel"),
                            QuantidadeMaxima        = bd.LerInt("QuantidadeMaxima")
                        });

                        Apresentacoes.Where(c => c.ApresentacaoID == ApresentacaoID).FirstOrDefault().Precos = Precos.Where(c => c.ApresentacaoID == ApresentacaoID).ToList();
                    }
                }
                this.LastRefreshGerenciamento = DateTime.Now;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                bd.Fechar();
            }
        }
        public DataTable PesquisarSenhaValeIngresso(string senha)
        {
            DataTable tabela               = EstruturaHistorico();
            BD        bd                   = new BD();
            string    strStatus            = "";
            int       intVendaBilheteriaID = 0;

            try
            {
                using (IDataReader oDataReader = bd.Consulta("" +
                                                             "SELECT " +
                                                             "   tVendaBilheteria.ID, " +
                                                             "   tVendaBilheteria.Status " +
                                                             "FROM " +
                                                             "  tVendaBilheteria (NOLOCK) " +
                                                             "WHERE " +
                                                             "  (Senha = '" + senha + "')"))
                {
                    if (!oDataReader.Read())
                    {
                        throw new ApplicationException("Venda não encontrada!");
                    }

                    if (bd.LerInt("ID") < 1)
                    {
                        throw new ApplicationException("Venda não encontrada!");
                    }

                    intVendaBilheteriaID = bd.LerInt("ID");

                    strStatus = bd.LerString("Status");
                }

                bd.Fechar();

                StringBuilder strSql = new StringBuilder();

                strSql.Append(" SELECT ");
                strSql.Append(" ( ");
                strSql.Append(" SELECT COUNT(tValeIngressoLog.ID) ");
                strSql.Append(" FROM tValeIngressoLog (NOLOCK) ");
                strSql.Append(" WHERE (tValeIngressoLog.VendaBilheteriaID = " + intVendaBilheteriaID + ") ");
                strSql.Append(" ) ");
                strSql.Append(" AS TotIngressos ");
                strSql.Append(" , vir.ID AS IngressoID     ");
                strSql.Append(" , vir.ID Codigo     ");
                strSql.Append(" , vir.Status   ");
                strSql.Append(" , il.VendaBilheteriaID     ");
                strSql.Append(" , il.ValeIngressoID     ");
                strSql.Append(" , il.ID ");
                strSql.Append(" , il.[TimeStamp] ");
                strSql.Append(" , il.Acao ");
                strSql.Append(" , il.Obs ");
                strSql.Append(" , il.CodigoBarra  ");
                strSql.Append(" , lo.Nome AS Loja    ");
                strSql.Append(" , u.Nome AS Usuario     ");
                strSql.Append(" , ci.Nome AS Cliente ");
                strSql.Append(" , vb.NotaFiscalEstabelecimento ");
                strSql.Append(" , vb.Senha ");
                strSql.Append(" , t.Tipo AS TaxaEntregaTipo ");
                strSql.Append(" , IsNull(us.Nome, ' - ') AS Supervisor ");
                strSql.Append(" , ep.Nome AS PeriodoAgenda ");
                strSql.Append(" , en.Nome AS EntregaNome ");
                strSql.Append(" , ea.Data AS DataAgenda ");
                strSql.Append(" ,ear.Nome AS AreaEntrega ");
                strSql.Append(" ,vb.ClienteEnderecoID AS EnderecoEntrega  ");
                strSql.Append(" ,pdv.Nome as PDVEntrega ");
                strSql.Append(" ,ci.Email ");
                strSql.Append(" ,cl.Nome AS Canal ");
                strSql.Append(" ,en.ID AS EntregaID ");
                strSql.Append("  FROM tValeIngressoLog il (NOLOCK)  ");
                strSql.Append("  LEFT JOIN tVendaBilheteria vb (NOLOCK) ON vb.ID = il.VendaBilheteriaID  ");
                strSql.Append("  LEFT JOIN tEntregaControle as te on te.ID = vb.EntregaControleID ");
                strSql.Append("  LEFT JOIN tEntrega as t on te.EntregaID = t.ID ");
                strSql.Append("  LEFT JOIN tUsuario u (NOLOCK) ON u.ID = il.UsuarioID  ");
                strSql.Append("  LEFT JOIN tUsuario us (NOLOCK) ON us.ID = il.SupervisorID  ");
                strSql.Append("  INNER JOIN tValeIngresso vir (NOLOCK) ON vir.ID = il.ValeIngressoID  ");
                strSql.Append("  LEFT JOIN tLoja lo (NOLOCK) ON lo.ID = il.LojaID  ");
                strSql.Append("  LEFT JOIN tCanal cl (NOLOCK) ON cl.ID = il.CanalID  ");
                strSql.Append("  LEFT JOIN tCliente ci (NOLOCK) ON ci.ID = vir.ClienteID  ");
                strSql.Append("  LEFT JOIN tEntregaControle ec (NOLOCK) ON vb.EntregaControleID = ec.ID ");
                strSql.Append("  LEFT JOIN tEntrega en (NOLOCK) ON ec.EntregaID = en.ID ");
                strSql.Append("  LEFT JOIN tEntregaPeriodo ep (NOLOCK) ON ec.PeriodoID = ep.ID ");
                strSql.Append("  LEFT JOIN tEntregaArea ear (NOLOCK) ON ec.EntregaAreaID = ear.ID ");
                strSql.Append("  LEFT JOIN tEntregaAgenda ea (NOLOCK) ON vb.EntregaAgendaID = ea.ID ");
                strSql.Append("  LEFT JOIN tPontoVenda pdv (NOLOCK) ON vb.PdvID = pdv.ID ");
                strSql.Append("  WHERE (il.ValeIngressoID IN (            ");
                strSql.Append(" SELECT ValeIngressoID             ");
                strSql.Append(" FROM tValeIngressoLog (NOLOCK)            ");
                strSql.Append(" WHERE VendaBilheteriaID = " + intVendaBilheteriaID + ")     ");
                strSql.Append(" )  ");
                strSql.Append(" ORDER BY   il.ValeIngressoID,   il.ID  ");

                using (IDataReader oDataReader = bd.Consulta(strSql.ToString()))
                {
                    int     ingressoID      = 0;
                    bool    blnInserirDados = false;
                    string  strSenhaVenda   = "";
                    DataRow linha           = null;

                    while (oDataReader.Read())
                    {
                        // Atribui o ID do Ingresso Corrente e Desliga o Flag de Inserir Dados
                        if (ingressoID != bd.LerInt("IngressoID"))
                        {
                            ingressoID      = bd.LerInt("IngressoID");
                            blnInserirDados = false;
                            strSenhaVenda   = "";
                        }

                        if (bd.LerString("Acao") == IngressoLog.VENDER)
                        {
                            strSenhaVenda = bd.LerString("Senha");
                        }

                        // Se a operação for venda, Liga o Flag de Inserir Dados
                        if (((bd.LerString("Acao") == IngressoLog.VENDER || bd.LerString("Acao") == IngressoLog.PRE_RESERVA) && strStatus != VendaBilheteria.CANCELADO && bd.LerInt("VendaBilheteriaID") == intVendaBilheteriaID) || (bd.LerString("Acao") == IngressoLog.CANCELAR && strStatus == VendaBilheteria.CANCELADO && bd.LerInt("VendaBilheteriaID") == intVendaBilheteriaID))
                        {
                            blnInserirDados = true;
                        }

                        // Insere as Informações dos Ingressos
                        if (blnInserirDados)
                        {
                            if (strSenhaVenda == "")
                            {
                                if (strStatus == VendaBilheteria.PRE_RESERVADO)
                                {
                                    strSenhaVenda = "-";
                                }
                                else
                                {
                                    strSenhaVenda = bd.LerString("Senha");
                                }
                            }

                            linha = tabela.NewRow();
                            linha["IngressoID"]    = bd.LerInt("IngressoID");
                            linha["IngressoLogID"] = bd.LerInt("ID");
                            linha["Codigo"]        = bd.LerString("Codigo");
                            linha["Data"]          = bd.LerStringFormatoDataHora("TimeStamp");
                            linha["Cliente"]       = bd.LerString("Cliente");
                            linha["Loja"]          = bd.LerString("Loja");
                            // Se for uma senha de cancelamento alimentar a Senha de Venda e Senha de Cancelamento
                            if (strStatus == VendaBilheteria.CANCELADO)
                            {
                                linha["Senha"]             = strSenhaVenda;
                                linha["SenhaCancelamento"] = bd.LerString("Senha");
                            }
                            else
                            {
                                // Se for uma senha de venda, armazenar senha de venda, e somente a senha de cancalemento se for uma ação cancelar
                                linha["Senha"] = strSenhaVenda;

                                if (bd.LerString("Acao") == IngressoLog.CANCELAR)
                                {
                                    linha["SenhaCancelamento"] = bd.LerString("Senha");
                                }
                                else
                                {
                                    linha["SenhaCancelamento"] = "-";
                                }
                            }
                            linha["Ação"]              = ValeIngressoLog.AcaoDescritiva(bd.LerString("Acao"));
                            linha["Status"]            = ValeIngressoLog.StatusDescritivo(bd.LerString("Status"));
                            linha["StatusDetalhado"]   = ValeIngressoLog.StatusDetalhado(bd.LerString("Status"), bd.LerString("TaxaEntregaTipo"));
                            linha["VendaBilheteriaID"] = bd.LerString("VendaBilheteriaID");
                            linha["Usuario"]           = bd.LerString("Usuario");
                            linha["CodigoBarra"]       = bd.LerString("CodigoBarra");
                            linha["Supervisor"]        = bd.LerString("Supervisor");
                            linha["EntregaID"]         = bd.LerInt("EntregaID");
                            linha["Entrega"]           = bd.LerString("EntregaNome");
                            linha["Periodo"]           = bd.LerString("PeriodoAgenda");
                            linha["DataAgenda"]        = bd.LerDateTime("DataAgenda");
                            linha["AreaEntrega"]       = bd.LerString("AreaEntrega");
                            linha["EnderecoEntrega"]   = bd.LerInt("EnderecoEntrega");
                            linha["PDVEntrega"]        = bd.LerString("PDVEntrega");
                            linha["Email"]             = bd.LerString("Email");
                            linha["Canal"]             = bd.LerString("Canal");

                            tabela.Rows.Add(linha);
                        }
                        // Caso a operação inserida for Cancelar, Desligar a Flag de Inserir Dados
                        if (bd.LerString("Acao") == IngressoLog.CANCELAR)
                        {
                            blnInserirDados = false;
                        }
                    }
                }

                bd.Fechar();
            }
            catch (SqlException ex)
            {
                throw new ApplicationException("Problemas ao acessar o banco de dados: " + ex.Message);
            }
            catch
            {
                throw;
            }
            finally
            {
                bd.Fechar();
            }

            return(tabela);
        }
 public DAO_Respuesta()
 {
     bd = new BD();
 }
        public List <int> ReCalcular(BD bd, decimal valorTotal, int parcela, int vendaBilheteriaFormaPagamentoID, decimal valorCancelamento, int clienteID)
        {
            List <int> lstBoletos = this.GerarBoletos(bd, parcela, (valorTotal - valorCancelamento), vendaBilheteriaFormaPagamentoID);

            return(lstBoletos);
        }
示例#58
0
 public TabelaPreco()
 {
     bd = new BD();
 }
示例#59
0
 public void ExcluirPorRegional(BD bd, int id)
 {
     bd.Executar("DELETE FROM tRegionalArea WHERE RegionalID = " + id);
 }
        public DataTable PesquisarSenha(string senha)
        {
            DataTable tabela               = EstruturaHistorico();
            BD        bd                   = new BD();
            string    strStatus            = "";
            bool      pagamentoProcessado  = false;
            int       intVendaBilheteriaID = 0;

            try
            {
                using (IDataReader oDataReader = bd.Consulta("" +
                                                             "SELECT " +
                                                             "   tVendaBilheteria.ID, " +
                                                             "   tVendaBilheteria.Status, " +
                                                             "   tVendaBilheteria.PagamentoProcessado " +
                                                             "FROM " +
                                                             "  tVendaBilheteria (NOLOCK) " +
                                                             "WHERE " +
                                                             "  (Senha = '" + senha + "')"

                                                             ))
                {
                    if (!oDataReader.Read())
                    {
                        throw new ApplicationException("Venda não encontrada!");
                    }

                    if (bd.LerInt("ID") < 1)
                    {
                        throw new ApplicationException("Venda não encontrada!");
                    }

                    intVendaBilheteriaID = bd.LerInt("ID");

                    strStatus           = bd.LerString("Status");
                    pagamentoProcessado = bd.LerBoolean("PagamentoProcessado");
                }

                bd.Fechar();

                StringBuilder strSql = new StringBuilder();

                strSql.Append(" SELECT ");
                strSql.Append("( ");
                strSql.Append(" SELECT  ");
                strSql.Append(" COUNT(tIngressoLog.ID) ");
                strSql.Append(" FROM ");
                strSql.Append(" tIngressoLog (NOLOCK) ");
                strSql.Append(" WHERE ");
                strSql.Append(" (tIngressoLog.VendaBilheteriaID = " + intVendaBilheteriaID + ") ");
                strSql.Append(" ) AS TotIngressos, ");
                strSql.Append(" i.ID AS IngressoID, ");
                strSql.Append(" il.VendaBilheteriaID, ");
                strSql.Append(" i.Codigo, ");
                strSql.Append(" il.IngressoID, ");
                strSql.Append(" ev.ID EventoID, ");
                strSql.Append(" ev.Nome Evento, ");
                strSql.Append(" il.ID, ");
                strSql.Append(" il.[TimeStamp], ");
                strSql.Append(" il.Acao, ");
                strSql.Append(" il.Obs, ");
                strSql.Append(" p.Nome AS Preco, ");
                strSql.Append(" p.Valor, ");
                strSql.Append(" b.Nome AS Bloqueio, ");
                strSql.Append(" c.Nome AS Cortesia, ");
                strSql.Append(" lo.Nome AS Loja, ");
                strSql.Append(" i.Status, ");
                strSql.Append(" p.ID AS PrecoID, ");
                strSql.Append(" u.Nome AS Usuario, ");
                strSql.Append(" ci.Nome AS Cliente, ");
                strSql.Append(" vb.NotaFiscalEstabelecimento, ");
                strSql.Append(" vb.Senha, ");
                strSql.Append(" l.Nome AS Local, ");
                strSql.Append(" a.Horario AS Apresentacao, ");
                strSql.Append(" a.ID AS ApresentacaoID, ");
                strSql.Append(" s.Nome AS Setor, ");
                strSql.Append(" il.CodigoBarra, ");
                strSql.Append(" en.Tipo AS TaxaEntregaTipo, ");
                strSql.Append(" IsNull(us.Nome, ' - ') as  Supervisor, ");
                strSql.Append(" ep.Nome AS PeriodoAgenda ,");
                strSql.Append(" en.Nome AS EntregaNome ,");
                strSql.Append(" ea.Data AS DataAgenda ,");
                strSql.Append(" ear.Nome AS AreaEntrega ,");
                strSql.Append(" ISNULL(vb.ClienteEnderecoID,0) AS EnderecoEntrega , ");
                strSql.Append(" pdv.Nome as PDVEntrega, ");
                strSql.Append(" ev.TipoCodigoBarra, i.ApresentacaoSetorID ");
                strSql.Append(" ,ci.Email ");
                strSql.Append(" ,cl.Nome AS Canal ");
                strSql.Append(" ,en.ID AS EntregaID ");
                strSql.Append(" FROM tIngressoLog il (NOLOCK) ");
                strSql.Append(" LEFT JOIN tVendaBilheteria vb (NOLOCK) ON vb.ID = il.VendaBilheteriaID  ");
                strSql.Append(" INNER JOIN tUsuario u (NOLOCK) ON u.ID = il.UsuarioID ");
                strSql.Append(" LEFT JOIN tUsuario us (NOLOCK) ON us.ID = il.SupervisorID ");
                strSql.Append(" LEFT OUTER JOIN tPreco p (NOLOCK) ON p.ID = il.PrecoID ");
                strSql.Append(" INNER JOIN tIngresso i (NOLOCK) ON i.ID = IngressoID ");
                strSql.Append(" INNER JOIN tEvento ev (NOLOCK) ON ev.ID = i.EventoID ");
                strSql.Append(" INNER JOIN tLocal l (NOLOCK) ON l.ID = i.LocalID ");
                strSql.Append(" INNER JOIN tSetor s (NOLOCK) ON s.ID = i.SetorID ");
                strSql.Append(" INNER JOIN tApresentacao a (NOLOCK) ON a.ID = i.ApresentacaoID ");
                strSql.Append(" LEFT JOIN tLoja lo (NOLOCK) ON lo.ID = il.LojaID ");
                strSql.Append(" LEFT JOIN tCanal cl (NOLOCK) ON cl.ID = il.CanalID  ");
                strSql.Append(" LEFT JOIN tCliente ci (NOLOCK) ON ci.ID = vb.ClienteID ");
                strSql.Append(" LEFT JOIN tCortesia c (NOLOCK) ON c.ID = il.CortesiaID ");
                strSql.Append(" LEFT JOIN tBloqueio b (NOLOCK) ON b.ID = il.BloqueioID ");
                strSql.Append(" LEFT JOIN tEntregaControle ec (NOLOCK) ON vb.EntregaControleID = ec.ID ");
                strSql.Append(" LEFT JOIN tEntrega en (NOLOCK) ON ec.EntregaID = en.ID ");
                strSql.Append(" LEFT JOIN tEntregaPeriodo ep (NOLOCK) ON ec.PeriodoID = ep.ID ");
                strSql.Append(" LEFT JOIN tEntregaArea ear (NOLOCK) ON ec.EntregaAreaID = ear.ID ");
                strSql.Append(" LEFT JOIN tEntregaAgenda ea (NOLOCK) ON vb.EntregaAgendaID = ea.ID ");
                strSql.Append(" LEFT JOIN tPontoVenda pdv (NOLOCK) ON vb.PdvID = pdv.ID ");
                strSql.Append(" WHERE ");
                strSql.Append(" ( ");
                strSql.Append(" il.IngressoID IN ( ");
                strSql.Append(" SELECT ");
                strSql.Append(" IngressoID ");
                strSql.Append(" FROM  ");
                strSql.Append(" tIngressoLog (NOLOCK) ");
                strSql.Append(" WHERE ");
                strSql.Append(" (VendaBilheteriaID = " + intVendaBilheteriaID + ") ");
                strSql.Append(" ) ");
                strSql.Append(" ) ");
                strSql.Append(" ORDER BY ");
                strSql.Append(" il.IngressoID, ");
                strSql.Append(" il.ID ");

                using (IDataReader oDataReader = bd.Consulta(strSql.ToString()))
                {
                    int     ingressoID      = 0;
                    bool    blnInserirDados = false;
                    string  strSenhaVenda   = "";
                    DataRow linha           = null;

                    while (oDataReader.Read())
                    {
                        if (ingressoID != bd.LerInt("IngressoID"))
                        {
                            ingressoID      = bd.LerInt("IngressoID");
                            blnInserirDados = false;
                            strSenhaVenda   = "";
                        }

                        if (bd.LerString("Acao") == IngressoLog.VENDER)
                        {
                            strSenhaVenda = bd.LerString("Senha");
                        }

                        // Se a operação for venda, Liga o Flag de Inserir Dados
                        if (((bd.LerString("Acao") == IngressoLog.VENDER || bd.LerString("Acao") == IngressoLog.PRE_RESERVA) && strStatus != VendaBilheteria.CANCELADO && bd.LerInt("VendaBilheteriaID") == intVendaBilheteriaID) || (bd.LerString("Acao") == IngressoLog.CANCELAR && strStatus == VendaBilheteria.CANCELADO && bd.LerInt("VendaBilheteriaID") == intVendaBilheteriaID))
                        {
                            blnInserirDados = true;
                        }

                        // Insere as Informações dos Ingressos
                        if (blnInserirDados)
                        {
                            if (strSenhaVenda == "")
                            {
                                if (strStatus == VendaBilheteria.PRE_RESERVADO)
                                {
                                    strSenhaVenda = "-";
                                }
                                else
                                {
                                    strSenhaVenda = bd.LerString("Senha");
                                }
                            }

                            linha = tabela.NewRow();
                            linha["IngressoID"]          = bd.LerInt("IngressoID");
                            linha["IngressoLogID"]       = bd.LerInt("ID");
                            linha["Codigo"]              = bd.LerString("Codigo");
                            linha["Data"]                = bd.LerStringFormatoDataHora("TimeStamp");
                            linha["Cliente"]             = bd.LerString("Cliente");
                            linha["Evento"]              = bd.LerString("Evento");
                            linha["EventoID"]            = bd.LerString("EventoID");
                            linha["ApresentacaoID"]      = bd.LerString("ApresentacaoID");
                            linha["ApresentacaoSetorID"] = bd.LerInt("ApresentacaoSetorID");
                            linha["TipoCodigoBarra"]     = bd.LerString("TipoCodigoBarra");
                            // Se for uma senha de cancelamento alimentar a Senha de Venda e Senha de Cancelamento
                            if (strStatus == VendaBilheteria.CANCELADO)
                            {
                                linha["Senha"]             = strSenhaVenda;
                                linha["SenhaCancelamento"] = bd.LerString("Senha");
                            }
                            else
                            {
                                // Se for uma senha de venda, armazenar senha de venda, e somente a senha de cancalemento se for uma ação cancelar
                                linha["Senha"] = strSenhaVenda;

                                if (bd.LerString("Acao") == IngressoLog.CANCELAR)
                                {
                                    linha["SenhaCancelamento"] = bd.LerString("Senha");
                                }
                                else
                                {
                                    linha["SenhaCancelamento"] = " - ";
                                }
                            }

                            linha["Ação"]                = IngressoLog.AcaoDescritiva(bd.LerString("Acao"));
                            linha["Status"]              = Ingresso.StatusDescritivo(bd.LerString("Status"));
                            linha["StatusDetalhado"]     = Ingresso.StatusDetalhado(bd.LerString("Status"), bd.LerString("TaxaEntregaTipo"));
                            linha["PrecoID"]             = bd.LerInt("PrecoID");
                            linha["Preço"]               = bd.LerString("Preco");
                            linha["Loja"]                = bd.LerString("Loja");
                            linha["PagamentoProcessado"] = pagamentoProcessado;
                            linha["VendaBilheteriaID"]   = bd.LerString("VendaBilheteriaID");
                            linha["EntregaID"]           = bd.LerInt("EntregaID");
                            linha["Entrega"]             = bd.LerString("EntregaNome");
                            linha["Periodo"]             = bd.LerString("PeriodoAgenda");
                            linha["DataAgenda"]          = bd.LerDateTime("DataAgenda");
                            linha["AreaEntrega"]         = bd.LerString("AreaEntrega");
                            linha["EnderecoEntrega"]     = bd.LerInt("EnderecoEntrega");
                            linha["PDVEntrega"]          = bd.LerString("PDVEntrega");

                            if (bd.LerString("Acao") == IngressoLog.VENDER || bd.LerString("Acao") == IngressoLog.CANCELAR)
                            {
                                linha["Valor"] = bd.LerDecimal("Valor");
                            }

                            if (bd.LerString("Cortesia") != "")
                            {
                                linha["Cortesia"] = bd.LerString("Cortesia");
                            }
                            if (bd.LerString("Bloqueio") != "")
                            {
                                linha["Bloqueio"] = bd.LerString("Bloqueio");
                            }
                            linha["Usuario"] = bd.LerString("Usuario");
                            linha["Obs"]     = bd.LerString("Obs");

                            linha["Local"]        = bd.LerString("Local");
                            linha["Apresentacao"] = bd.LerStringFormatoDataHora("Apresentacao");
                            linha["Setor"]        = bd.LerString("Setor");
                            linha["CodigoBarra"]  = bd.LerString("CodigoBarra");
                            linha["Supervisor"]   = bd.LerString("Supervisor");
                            linha["Email"]        = bd.LerString("Email");
                            linha["Canal"]        = bd.LerString("Canal");

                            tabela.Rows.Add(linha);
                        }

                        // Caso a operação inserida for Cancelar, Desligar a Flag de Inserir Dados
                        if (bd.LerString("Acao") == IngressoLog.CANCELAR)
                        {
                            blnInserirDados = false;
                        }
                    }
                }
            }
            catch (SqlException ex)
            {
                throw new ApplicationException("Problemas ao acessar o banco de dados: " + ex.Message);
            }
            catch
            {
                throw;
            }
            finally
            {
                bd.Fechar();
            }

            return(tabela);
        }