// passar o Usuario logado no sistema public ContatoTipoLista_B() { contatoTipo = new ContatoTipo(); }
public DataSet RelatorioClientesCompras(int ApresentacaoID, int EventoID) { try { DataSet retorno = EstruturaBuscaRelatorioClientesCompras(); string sql = ""; string filtro = ""; if (ApresentacaoID > 0) { filtro = "WHERE ApresentacaoID = " + ApresentacaoID; } else { filtro = "WHERE tIngresso.EventoID = " + EventoID; } sql = @"SELECT tIngressoLog.ClienteID,CASE WHEN tCliente.CNPJ <> '' THEN tCliente.NomeFantasia ELSE tCliente.Nome COLLATE Latin1_General_CI_AI END AS Nome,tCliente.DDDTelefone,tCliente.Telefone,tCliente.DDDTelefoneComercial, tCliente.TelefoneComercial,tCliente.DDDCelular,tCliente.Celular,tCliente.Email,tCliente.RecebeEmail, tCliente.CEPCliente,tCliente.EnderecoCliente,tCliente.NumeroCliente,tCliente.CidadeCliente,tCliente.EstadoCliente, tCliente.ComplementoCliente,tCliente.BairroCliente,tCliente.ContatoTipoID FROM tIngressoLog INNER JOIN tIngresso ON (tIngresso.ID = tIngressoLog.IngressoID) INNER JOIN tCliente ON (tIngressoLog.ClienteID=tCliente.ID) " + filtro + @" GROUP BY tIngressoLog.ClienteID,tCliente.Nome,tCliente.DDDTelefone,tCliente.Telefone,tCliente.DDDTelefoneComercial, tCliente.TelefoneComercial,tCliente.DDDCelular,tCliente.Celular,tCliente.Email,tCliente.RecebeEmail, tCliente.CEPCliente,tCliente.EnderecoCliente,tCliente.NumeroCliente,tCliente.CidadeCliente,tCliente.EstadoCliente, tCliente.ComplementoCliente,tCliente.BairroCliente,tCliente.ContatoTipoID, tCliente.CNPJ ,tCliente.NomeFantasia" ; bd.Consulta(sql); while (bd.Consulta().Read()) { DataRow linha = retorno.Tables[TAB_CLIENTE].NewRow(); int clienteID = bd.LerInt("ClienteID"); linha[CLIENTE_ID] = clienteID; linha[NOME] = bd.LerString("Nome"); string endereco = bd.LerString("EnderecoCliente") + "," + bd.LerString("NumeroCliente") + "," + bd.LerString("ComplementoCliente") + "," + bd.LerString("BairroCliente") + "," + bd.LerString("CidadeCliente") + "," + bd.LerString("EstadoCliente") + "," + bd.LerString("CEPCliente"); linha[ENDERECO] = endereco.Replace(",,", ","); linha[TELEFONE] = bd.LerString("DDDTelefone") + "-" + bd.LerString("Telefone"); linha[TELEFONE_COMERCIAL] = bd.LerString("DDDTelefoneComercial") + "-" + bd.LerString("TelefoneComercial"); linha[TELEFONE_CELULAR] = bd.LerString("DDDCelular") + "-" + bd.LerString("Celular"); linha[EMAIL] = bd.LerString("Email"); ContatoTipo oContatoTipo = new ContatoTipo(); linha[PREFERENCIA_CONTATO] = oContatoTipo.TipoContato(bd.LerInt("ContatoTipoID")); retorno.Tables[TAB_CLIENTE].Rows.Add(linha); } bd.Fechar(); foreach (DataRow linha in retorno.Tables[TAB_CLIENTE].Rows) { linha[QTD_INGRESSOS_CLIENTE] = QtdIngressosComprados((int)linha[CLIENTE_ID], filtro); } sql = @"SELECT tIngressoLog.VendaBilheteriaID,tIngressoLog.ClienteID, COUNT(tIngressoLog.VendaBilheteriaID) AS QtdIngressos, tVendaBilheteria.Senha, ValorTotal, ISNULL(VendaCancelada,'F') AS VendaCancelada FROM tIngressoLog INNER JOIN tIngresso ON (tIngresso.ID = tIngressoLog.IngressoID) INNER JOIN tCliente ON (tIngressoLog.ClienteID=tCliente.ID) INNER JOIN tVendaBilheteria ON (tVendaBilheteria.ID = tIngressoLog.VendaBilheteriaID) " + filtro + @" and Acao = 'V' GROUP BY tIngressoLog.VendaBilheteriaID,tIngressoLog.ClienteID,tIngressoLog.VendaBilheteriaID, tVendaBilheteria.Senha, ValorTotal, VendaCancelada" ; bd.Consulta(sql); while (bd.Consulta().Read()) { DataRow linha = retorno.Tables[TAB_COMPRA].NewRow(); int clienteID = bd.LerInt("ClienteID"); linha[VENDA_ID] = bd.LerInt("VendaBilheteriaID"); linha[CLIENTE_ID] = clienteID; linha[SENHA] = bd.LerString("Senha"); linha[VALOR_TOTAL] = bd.LerDecimal("ValorTotal").ToString("c"); linha[COMPRA_CANCELADA] = bd.LerString("VendaCancelada") == "T" ? "Sim" : "Não"; linha[QTD_INGRESSO] = bd.LerInt("QtdIngressos"); retorno.Tables[TAB_COMPRA].Rows.Add(linha); } bd.Fechar(); VendaBilheteria oVendaBilheteria = new VendaBilheteria(); foreach (DataRow linha in retorno.Tables[TAB_COMPRA].Rows) { linha[FORMA_PAGAMENTO] = oVendaBilheteria.FormasPagametoString((int)linha[VENDA_ID]); } sql = @"SELECT tIngressoLog.VendaBilheteriaID,tIngresso.Codigo, tApresentacao.Horario, tSetor.Nome as Setor, tPreco.Nome as Preco,tPreco.Valor ,tIngresso.CodigoBarra,tIngresso.Status FROM tIngressoLog INNER JOIN tIngresso ON (tIngresso.ID = tIngressoLog.IngressoID) INNER JOIN tCliente ON (tIngressoLog.ClienteID=tCliente.ID) INNER JOIN tApresentacao ON (tIngresso.ApresentacaoID=tApresentacao.ID) INNER JOIN tSetor ON (tIngresso.SetorID=tSetor.ID) INNER JOIN tPreco ON (tIngressoLog.PrecoID=tPreco.ID) " + filtro + @" AND Acao = 'V' AND tIngressoLog.ClienteID > 0 "; bd.Consulta(sql); while (bd.Consulta().Read()) { DataRow linha = retorno.Tables[TAB_INGRESSO].NewRow(); linha[VENDA_ID] = bd.LerInt("VendaBilheteriaID"); linha[CODIGO_INGRESSO] = bd.LerString("Codigo");; string dataApresentacao = bd.LerDateTime("Horario").ToString(); linha[APRESENTACAO] = dataApresentacao.Remove(dataApresentacao.Length - 3); linha[SETOR] = bd.LerString("Setor"); linha[PRECO] = bd.LerString("Preco") + " - " + bd.LerDecimal("Valor").ToString("c"); linha[CODIGO_BARRAS] = bd.LerString("CodigoBarra"); linha[STATUS_INGRESSO] = Ingresso.StatusDescritivo(bd.LerString("Status")); retorno.Tables[TAB_INGRESSO].Rows.Add(linha); } bd.Fechar(); return(retorno); } catch (Exception ex) { throw ex; } }