Beispiel #1
0
        public Dictionary <ChamadaParaExecutar, TextoParaBoleto> ConsulteTodasAsChamadasParaExecutar()
        {
            var consultaSQLChamada = $"SELECT {COLUNAS} FROM {TABELA}";

            var dicionarioRetorno = new Dictionary <ChamadaParaExecutar, TextoParaBoleto>();

            using (var bancoDeDados = new GSBancoDeDados())
            {
                var resultado = bancoDeDados.ExecuteConsulta(consultaSQLChamada);
                foreach (DataRow linha in resultado.Rows)
                {
                    var chamada =
                        new ChamadaParaExecutar()
                    {
                        Id = new Guid(linha["ID"].ToString()),
                        NumeroParaLigar = linha["NUMERO"].ToString(),
                        Horario         = (DateTime)linha["HORARIO"]
                    };

                    var consultaSQLTexto = $"SELECT {COLUNAS_TEXTOS} FROM {TABELA_TEXTOS} WHERE ID = '{chamada.Id}';";
                    var resultadoTexto   = bancoDeDados.ExecuteConsulta(consultaSQLTexto);
                    var texto            =
                        new TextoParaBoleto()
                    {
                        NomeDoCliente    = resultadoTexto.Rows[0]["NOME_CLIENTE"].ToString(),
                        Descricao        = resultadoTexto.Rows[0]["DESCRICAO"].ToString(),
                        DataDoVencimento = (DateTime)resultadoTexto.Rows[0]["DATA_VENCIMENTO"]
                    };
                    dicionarioRetorno.Add(chamada, texto);
                }
            }

            return(dicionarioRetorno);
        }
        public virtual IList <TConceito> Consulte(Conceito conceito, int codigoPortador)
        {
            var sql =
                string.Format(
                    "SELECT {0} " +
                    "FROM {1} " +
                    "WHERE CONCEITO = {2} " +
                    "   AND CODIGO_PORTADOR = {3}",
                    Mapeamento.Colunas,
                    Mapeamento.Tabela,
                    conceito.Indicador,
                    codigoPortador);

            var persistencia = new GSBancoDeDados();

            var tabela   = persistencia.ExecuteConsulta(sql);
            var contagem = tabela.Rows.Count;

            var lista = new List <TConceito>();

            for (int i = 0; i < contagem; i++)
            {
                lista.Add(MonteConceito(ref tabela, i));
            }

            return(lista);
        }
Beispiel #3
0
        //Retorna a vigência específica vigente no DateTime de todas as chaves diferentes
        public List <TEntidade> ConsulteTodos(DateTime vigencia)
        {
            string colunaChave = GSUtilitarios.EncontrePropriedadeChaveDoObjeto(typeof(TEntidade)).Name;

            //{0} = Propriedade/Coluna chave
            //{1} = Propriedades/Colunas com prefixo T1.
            //{2} = Tabela
            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 DATE) GROUP BY {0}) AS T2 " +
                                              "ON T1.{0} = T2.{0} AND T1.VIGENCIA = T2.VIGENCIA ORDER BY {0}",
                                              colunaChave,
                                              String.Join(",T1.", Colunas.Keys)
                                              .Replace(colunaChave + ",", String.Empty)
                                              .Replace(Colunas.Keys.Last() + ",T1.", String.Empty),
                                              Tabela,
                                              GSUtilitarios.FormateDateTimePtBrParaBD(vigencia));

            DataTable tabela;

            using (var GSBancoDeDados = new GSBancoDeDados())
            {
                tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);
            }

            return(ObtenhaListaObjetosConsultadosVigencia(tabela, vigencia));
        }
        public List <Interacao> ConsulteTodasAsInteracoes()
        {
            string ComandoSQL = String.Format("SELECT {0} FROM {1} " +
                                              "ORDER BY HORARIO DESC",
                                              Colunas,
                                              Tabela);

            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;
            }
        }
Beispiel #5
0
        public List <Produto> ConsultePorFiltroNome(string nome)
        {
            var consultaSQL = $"SELECT {Colunas}, QUANTIDADE AS QUANTIDADEESTOQUE FROM {Tabela} " +
                              $"INNER JOIN PRODUTOS_QUANTIDADES ON PRODUTOS.CODIGO = PRODUTOS_QUANTIDADES.CODIGO_PRODUTO " +
                              $"WHERE NOME LIKE '%{nome.ToUpper()}%';";

            DataTable tabela;

            using (var persistencia = new GSBancoDeDados())
            {
                tabela = persistencia.ExecuteConsulta(consultaSQL);
            }

            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);
        }
Beispiel #6
0
        public Produto Consulte(int codigo)
        {
            string ComandoSQL = String.Format("SELECT {0}, PRODUTOS_QUANTIDADES.QUANTIDADE AS QUANTIDADEESTOQUE FROM {1} " +
                                              "INNER JOIN PRODUTOS_QUANTIDADES ON PRODUTOS.CODIGO = PRODUTOS_QUANTIDADES.CODIGO_PRODUTO " +
                                              "WHERE CODIGO = {2} " +
                                              "AND VIGENCIA = (SELECT MAX(VIGENCIA) FROM PRODUTOS WHERE CODIGO = {2})",
                                              Colunas,
                                              Tabela,
                                              codigo);

            DataTable tabela;

            try
            {
                using (var GSBancoDeDados = new GSBancoDeDados())
                    tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);

                if (tabela == null)
                {
                    return(null);
                }

                return(MonteRetorno(tabela, 0));
            }
            catch (System.Exception)
            {
                return(null);

                throw;
            }
        }
Beispiel #7
0
        public Produto Consulte(int Codigo, DateTime vigencia)
        {
            string ComandoSQL = String.Format("SELECT {0}, PRODUTOS_QUANTIDADES.QUANTIDADE AS QUANTIDADEESTOQUE FROM {1} " +
                                              "INNER JOIN PRODUTOS_QUANTIDADES ON PRODUTOS.CODIGO = PRODUTOS_QUANTIDADES.CODIGO_PRODUTO " +
                                              "WHERE CODIGO = {2} " +
                                              "AND VIGENCIA = (SELECT MAX(VIGENCIA) FROM PRODUTOS WHERE VIGENCIA <= CAST ('{3}' AS DATETIME2))",
                                              Colunas,
                                              Tabela,
                                              Codigo,
                                              GSUtilitarios.FormateDateTimePtBrParaBD(vigencia));

            DataTable tabela;

            try
            {
                using (var GSBancoDeDados = new GSBancoDeDados())
                    tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);

                if (tabela == null)
                {
                    return(null);
                }

                return(MonteRetorno(tabela, 0));
            }
            catch (System.Exception)
            {
                return(null);

                throw;
            }
        }
        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);
            }
        }
Beispiel #9
0
        public Usuario Consulte(string nome)
        {
            string ComandoSQL = String.Format("SELECT {0} FROM {1} " +
                                              "WHERE NOME = '{2}'",
                                              Colunas,
                                              Tabela,
                                              nome);

            DataTable tabela;

            try
            {
                using (var GSBancoDeDados = new GSBancoDeDados())
                    tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);

                if (tabela == null)
                {
                    return(null);
                }

                return(MonteRetorno(tabela, 0));
            }
            catch (System.Exception)
            {
                return(null);

                throw;
            }
        }
        public Interacao Consulte(int codigo)
        {
            string ComandoSQL = String.Format("SELECT {0} FROM {1} " +
                                              "WHERE CODIGO = {2} ",
                                              Colunas,
                                              Tabela,
                                              codigo);

            DataTable tabela;

            try
            {
                using (var GSBancoDeDados = new GSBancoDeDados())
                    tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);

                if (tabela == null)
                {
                    return(null);
                }

                return(MonteRetorno(tabela, 0));
            }
            catch (System.Exception)
            {
                return(null);

                throw;
            }
        }
Beispiel #11
0
        public List <string> ConsulteTodos()
        {
            string ComandoSQL = String.Format("SELECT DISTINCT (NUMERO), CODIGO_INTERACAO FROM {0}", Tabela);

            DataTable tabela;

            using (var GSBancoDeDados = new GSBancoDeDados())
            {
                tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);
            }

            return(ObtenhaListaDeRetorno(tabela));
        }
        public virtual TConceito Consulte(int codigo)
        {
            var sql =
                $"SELECT {Mapeamento.Colunas} " +
                $"FROM {Mapeamento.Tabela} " +
                $"WHERE CODIGO = {codigo};";

            var persistencia = new GSBancoDeDados();
            var tabela       = persistencia.ExecuteConsulta(sql);

            var conceito = Mapeamento.MonteConceito(ref tabela, 0);

            return(conceito);
        }
Beispiel #13
0
        public virtual List <TEntidade> ConsulteTodos()
        {
            string ComandoSQL = String.Format("SELECT {0} FROM {1}",
                                              String.Join(", ", Colunas.Keys),
                                              Tabela.ToUpper());

            DataTable tabela;

            using (var GSBancoDeDados = new GSBancoDeDados())
            {
                tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);
            }

            return(ObtenhaListaObjetosConsultados(tabela));
        }
Beispiel #14
0
        public List <int> ConsulteTodosOsCodigosDeInteracoesDeUmNumero(string numeroDeSerie)
        {
            string ComandoSQL = String.Format("SELECT {0} FROM {1} WHERE NUMERO = '{2}'",
                                              Colunas,
                                              Tabela,
                                              numeroDeSerie);

            DataTable tabela;

            using (var GSBancoDeDados = new GSBancoDeDados())
            {
                tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);
            }

            return(ObtenhaListaDeRetornoInteracaoes(tabela));
        }
Beispiel #15
0
        public bool VerifiqueSeExisteEmBanco(string numeroDeSerie)
        {
            string ComandoSQL = String.Format("SELECT {0} FROM {1} WHERE NUMERO = '{2}'",
                                              Colunas,
                                              Tabela,
                                              numeroDeSerie);

            DataTable tabela;

            using (var GSBancoDeDados = new GSBancoDeDados())
            {
                tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);
            }

            return(tabela.Rows.Count != 0);
        }
Beispiel #16
0
        //Retorna a última vigência de uma chave específica
        public override TEntidade Consulte(dynamic chave)
        {
            string ComandoSQL = String.Format("SELECT {0} FROM {1} WHERE {2} = {3} AND VIGENCIA = (SELECT MAX(VIGENCIA) FROM {1})",
                                              String.Join(", ", Colunas.Keys),
                                              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);
            }

            return(ObtenhaObjetoConsultado(tabela));
        }
Beispiel #17
0
        //Retorna a vigência específica ou vigente no DateTime de uma chave específica
        public virtual TEntidade Consulte(dynamic chave, DateTime vigencia)
        {
            string ComandoSQL = String.Format("SELECT {0} FROM {1} WHERE CODIGO = {2} AND VIGENCIA = SELECT MAX(VIGENCIA) FROM {1} WHERE VIGENCIA <= CAST ('{3}' AS DATE)",
                                              String.Join(", ", Colunas.Keys),
                                              Tabela.ToUpper(),
                                              chave.GetType().Equals(typeof(int)) ? chave : "'" + chave + "'",
                                              GSUtilitarios.FormateDateTimePtBrParaBD(vigencia));

            DataTable tabela;

            using (var GSBancoDeDados = new GSBancoDeDados())
            {
                tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);
            }

            return(ObtenhaObjetoConsultadoVigencia(tabela, vigencia));
        }
Beispiel #18
0
        //Ultima vigência de todos os produtos
        public List <Produto> ConsulteTodos()
        {
            //string ComandoSQL = String.Format("SELECT T1.{0}, {1} FROM {2} AS T1 " +
            //                                  "INNER JOIN(SELECT MAX(VIGENCIA) VIGENCIA, {0} FROM {2} 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);

            string ComandoSQL = String.Format("SELECT T1.{0}, {1}, PRODUTOS_QUANTIDADES.QUANTIDADE AS QUANTIDADEESTOQUE FROM {2} AS T1 " +
                                              "INNER JOIN(SELECT MAX(VIGENCIA) VIGENCIA, {0} FROM {2} GROUP BY {0}) AS T2 " +
                                              "ON T1.{0} = T2.{0} AND T1.VIGENCIA = T2.VIGENCIA INNER JOIN PRODUTOS_QUANTIDADES ON T1.CODIGO = PRODUTOS_QUANTIDADES.CODIGO_PRODUTO ORDER BY {0}",
                                              "CODIGO",
                                              Colunas.Replace(", ", ", T1.")
                                              .Replace("CODIGO, ", string.Empty),
                                              Tabela);

            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;
            }
        }
Beispiel #19
0
        public List <string> ConsulteTodosPorInteracao(int codigo)
        {
            string ComandoSQL = String.Format("SELECT {0} FROM {1} WHERE CODIGO_INTERACAO = {2}",
                                              Colunas,
                                              Tabela,
                                              codigo);

            DataTable tabela;

            using (var GSBancoDeDados = new GSBancoDeDados())
            {
                tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);
            }

            return(tabela != null
                    ? ObtenhaListaDeRetorno(tabela)
                    : new List <string>());
        }
        public virtual IList <TConceito> ConsulteTodos()
        {
            var sql =
                $"SELECT {Mapeamento.Colunas} " +
                $"FROM {Mapeamento.Tabela}";

            var persistencia = new GSBancoDeDados();

            var tabela   = persistencia.ExecuteConsulta(sql);
            var contagem = tabela.Rows.Count;

            var lista = new List <TConceito>();

            for (int i = 0; i < contagem; i++)
            {
                lista.Add(Mapeamento.MonteConceito(ref tabela, i));
            }

            return(lista);
        }
        //Retorna a vigência vigente na data específica de todas as chaves diferentes de um portador
        public List <TEntidade> Consulte(Type portador, dynamic chavePortador, DateTime vigencia)
        {
            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
            //{5} = Vigência
            string ComandoSQL = String.Format("SELECT {4} FROM ENDERECOS AS T1 " +
                                              "INNER JOIN(SELECT MAX(VIGENCIA) VIGENCIA, {1} FROM {0} WHERE VIGENCIA <= CAST ('{5}' AS DATE) 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,
                                              vigencia);

            DataTable tabela;

            using (var GSBancoDeDados = new GSBancoDeDados())
            {
                tabela = GSBancoDeDados.ExecuteConsulta(ComandoSQL);
            }

            if (tabela == null)
            {
                return(null);
            }

            return(ObtenhaListaObjetosConsultados(tabela));
        }
        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));
            }
        }
        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));
            }
        }
Beispiel #24
0
		//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);
		}
Beispiel #25
0
        //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;
            }
        }
Beispiel #26
0
        //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;
            }
        }
Beispiel #27
0
        //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);
        }