public IList <TConceito> ConsulteTodos() { var colunasReplaced = Mapeamento.Colunas .Replace(", ", ", T1.") .Replace("CODIGO, ", string.Empty); var consultaSQL = $"SELECT T1.CODIGO, {colunasReplaced} " + $"FROM {Mapeamento.Tabela} AS T1 " + $" INNER JOIN(SELECT MAX(VIGENCIA) VIGENCIA, CODIGO " + $" FROM {Mapeamento.Tabela} " + $" GROUP BY CODIGO) AS T2 " + $" ON T1.CODIGO = T2.CODIGO " + $" AND T1.VIGENCIA = T2.VIGENCIA " + $"ORDER BY CODIGO"; using (var GSBancoDeDados = new GSBancoDeDados()) { var tabela = GSBancoDeDados.ExecuteConsulta(consultaSQL); if (tabela == null) { return(null); } var listaRetorno = new List <TConceito>(); for (int linha = 0; linha < tabela.Rows.Count; linha++) { listaRetorno.Add(Mapeamento.MonteConceito(ref tabela, linha)); } return(listaRetorno); } }
public TConceito Consulte(int codigo, DateTime vigencia) { var comandoSQL = $"SELECT {Mapeamento.Colunas} " + $"FROM {Mapeamento.Tabela} " + $"WHERE CODIGO = {codigo} " + $" AND VIGENCIA = (SELECT MAX(VIGENCIA) " + $" FROM {Mapeamento.Tabela} " + $" WHERE VIGENCIA <= CAST ('{GSUtilitarios.FormateDateTimePtBrParaBD(vigencia)}' AS DATETIME2))"; using (var persistencia = new GSBancoDeDados()) { var tabela = persistencia.ExecuteConsulta(comandoSQL); if (tabela == null) { return(null); } return(Mapeamento.MonteConceito(ref tabela, 0)); } }
public TConceito Consulte(int codigo) { var consultaSQL = $"SELECT {Mapeamento.Colunas} " + $"FROM {Mapeamento.Tabela} " + $"WHERE CODIGO = {codigo} " + $" AND VIGENCIA = (SELECT MAX(VIGENCIA) " + $" FROM {Mapeamento.Tabela} " + $" WHERE CODIGO = {codigo})"; using (var persistencia = new GSBancoDeDados()) { var tabela = persistencia.ExecuteConsulta(consultaSQL); if (tabela == null) { return(null); } return(Mapeamento.MonteConceito(ref tabela, 0)); } }