public DataTable PesquisarSenhaValeIngresso(string senha, int intVendaBilheteriaID = 0) { DataTable tabela = EstruturaHistorico(); BD bd = new BD(); string strStatus = ""; try { if (intVendaBilheteriaID.Equals(0)) { 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); }
// passar o Usuario logado no sistema public ValeIngressoLogLista_B() { valeIngressoLog = new ValeIngressoLog(); }