コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
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));
            }
        }