//Todos os produtos em uma vigência específica public List <Produto> ConsulteTodos(DateTime vigencia) { string ComandoSQL = String.Format("SELECT T1.{0}, {1} FROM {2} AS T1 " + "INNER JOIN(SELECT MAX(VIGENCIA) VIGENCIA, {0} FROM {2} WHERE VIGENCIA <= CAST ('{4}' AS DATETIME2) GROUP BY {0}) AS T2 " + "ON T1.{0} = T2.{0} AND T1.VIGENCIA = T2.VIGENCIA ORDER BY {0}", "CODIGO", Colunas.Replace(", ", ", T1.") .Replace("CODIGO, ", string.Empty), Tabela, GSUtilitarios.FormateDateTimePtBrParaBD(vigencia)); DataTable tabela; try { using (var GSBancoDeDados = new GSBancoDeDados()) tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL); if (tabela == null) { return(null); } var listaRetorno = new List <Produto>(); for (int linha = 0; linha < tabela.Rows.Count; linha++) { listaRetorno.Add(MonteRetorno(tabela, linha)); } return(listaRetorno); } catch (System.Exception) { return(null); throw; } }
//Retorna a última vigência de todas as chaves diferentes de um portador public List <TEntidade> Consulte(Type portador, dynamic chavePortador) { var tipoPortador = portador.Name; var colunaChave = GSUtilitarios.EncontrePropriedadeChaveDoTipo(typeof(TEntidade)); var colunasConsultadas = String.Join(",T1.", Colunas.Keys) .Replace(chavePortador + ",", String.Empty) .Replace(Colunas.Keys.Last() + ",T1.", String.Empty); //{0} = Tabela //{1} = Propriedade/Coluna chave //{2} = Tipo portador //{3} = Chave portador //{4} = Propriedades/Colunas consultadas com prefixo T1. string ComandoSQL = String.Format("SELECT {4} FROM ENDERECOS AS T1 " + "INNER JOIN(SELECT MAX(VIGENCIA) VIGENCIA, {1} FROM {0} GROUP BY {1}, TIPO_PORTADOR) AS T2 " + "ON T1.{1} = T2.{1} AND T1.VIGENCIA = T2.VIGENCIA " + "WHERE T1.TIPO_PORTADOR = '{2}' AND T1.CODIGO_PORTADOR = '{3}' " + "ORDER BY CODIGO_PORTADOR, CODIGO", Tabela, colunaChave, tipoPortador, chavePortador, colunasConsultadas); DataTable tabela; using (var GSBancoDeDados = new GSBancoDeDados()) { tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL); } if (tabela == null) { return(null); } return(ObtenhaListaObjetosConsultados(tabela)); }
public List <Interacao> ConsulteTodasInteracoesPorProduto(int codigoProduto) { string ComandoSQL = String.Format("SELECT {0} FROM {1} " + "WHERE CODIGO_PRODUTO = {2} " + "ORDER BY HORARIO DESC", Colunas, Tabela, codigoProduto); DataTable tabela; try { using (var GSBancoDeDados = new GSBancoDeDados()) tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL); if (tabela == null) { return(null); } var listaRetorno = new List <Interacao>(); for (int linha = 0; linha < tabela.Rows.Count; linha++) { listaRetorno.Add(MonteRetorno(tabela, linha)); } return(listaRetorno); } catch (System.Exception) { return(null); throw; } }
//Retorna uma lista de todas as vigências existentes para uma chave public List <DateTime> ConsulteTodasVigencias(int Codigo) { string ComandoSQL = String.Format("SELECT VIGENCIA FROM {0} WHERE {1} = {2} ORDER BY VIGENCIA DESC", Tabela, "CODIGO", Codigo); DataTable tabela; try { using (var GSBancoDeDados = new GSBancoDeDados()) tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL); if (tabela == null) { return(null); } var listaRetorno = new List <DateTime>(); for (int linha = 0; linha < tabela.Rows.Count; linha++) { var dado = tabela.Rows[linha]["VIGENCIA"]; //listaRetorno.Add(GSUtilitarios.FormateDateTimePtBrParaBD(dado.ToString())); listaRetorno.Add((DateTime)dado); } return(listaRetorno); } catch (System.Exception) { return(null); throw; } }
//Retorna todas as chaves diferentes de um portador public List <TEntidade> Consulte(Type portador, dynamic chavePortador) { var tipoPortador = portador.Name; string ComandoSQL = String.Format("SELECT {0} FROM {1} WHERE TIPO_PORTADOR = '{2}' AND CODIGO_PORTADOR = '{3}'", String.Join(", ", Colunas.Keys), Tabela, tipoPortador, chavePortador); DataTable tabela; using (var GSBancoDeDados = new GSBancoDeDados()) { tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL); } if (tabela == null) { return(null); } return(ObtenhaListaObjetosConsultados(tabela)); }
//Retorna uma lista de todas as vigências existentes para uma chave public List <DateTime> ConsulteTodasVigencias(dynamic chave) { string ComandoSQL = String.Format("SELECT VIGENCIA FROM {0} WHERE {1} = {2} ORDER BY VIGENCIA DESC", Tabela.ToUpper(), GSUtilitarios.EncontrePropriedadeChaveDoObjeto(typeof(TEntidade)).Name, chave.GetType().Equals(typeof(int)) ? chave : "'" + chave + "'"); DataTable tabela; using (var GSBancoDeDados = new GSBancoDeDados()) { tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL); } var listaRetorno = new List <DateTime>(); for (int linha = 0; linha < tabela.Rows.Count; linha++) { var dado = tabela.Rows[linha]["VIGENCIA"]; listaRetorno.Add(GSUtilitarios.FormateDateTimePtBrParaBD(dado.ToString())); } return(listaRetorno); }
public void DeleteTabela() { using (var GSBancoDeDados = new GSBancoDeDados()) GSBancoDeDados.ExecuteComando(_scriptDrop); }
public void CrieTabela() { using (var GSBancoDeDados = new GSBancoDeDados()) GSBancoDeDados.ExecuteComando(_scriptCreate); }