//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)); }
private Interacao MonteRetorno(DataTable tabela, int linha) { var retorno = new Interacao(); retorno.Codigo = int.Parse(tabela.Rows[linha]["CODIGO"].ToString()); retorno.TipoDeInteracao = (EnumTipoDeInteracao)int.Parse(tabela.Rows[linha]["TIPO"].ToString()); retorno.Observacao = tabela.Rows[linha]["OBSERVACOES"] != DBNull.Value ? tabela.Rows[linha]["OBSERVACOES"].ToString() : null; retorno.Produto = new ServicoDeProduto().Consulte(int.Parse(tabela.Rows[linha]["CODIGO_PRODUTO"].ToString())); retorno.QuantidadeInterada = int.Parse(tabela.Rows[linha]["QUANTIDADE"].ToString()); retorno.QuantidadeAuxiliar = tabela.Rows[linha]["QUANTIDADE_AUX"] != DBNull.Value ? int.Parse(tabela.Rows[linha]["QUANTIDADE_AUX"].ToString()) : new int?(); retorno.ValorInteracao = decimal.Parse(tabela.Rows[linha]["VALOR"].ToString()); retorno.AtualizarValorDoProdutoNoCatalogo = GSUtilitarios.ConvertaValorBooleano(tabela.Rows[linha]["ATUALIZARVALORNOCATALOGO"].ToString()); retorno.Origem = tabela.Rows[linha]["ORIGEM"] != DBNull.Value ? tabela.Rows[linha]["ORIGEM"].ToString() : null; retorno.Destino = tabela.Rows[linha]["DESTINO"] != DBNull.Value ? tabela.Rows[linha]["DESTINO"].ToString() : null; retorno.Horario = (DateTime)tabela.Rows[linha]["HORARIO"]; retorno.NumeroDaNota = tabela.Rows[linha]["NUMERODANOTAFISCAL"].ToString() != "NULL" ? tabela.Rows[linha]["NUMERODANOTAFISCAL"].ToString() : null; retorno.InformaNumeroDeSerie = GSUtilitarios.ConvertaValorBooleano(tabela.Rows[linha]["INFORMA_NUMERO_DE_SERIE"].ToString()); retorno.HorarioProgramado = (DateTime)tabela.Rows[linha]["HORARIO_PROGRAMADO"]; return(retorno); }
protected string ObtenhaValoresInsercao(TEntidade entidade) { string valores = string.Empty; string dado = string.Empty; string tipoBD = string.Empty; bool propriedadeEhLista; bool entreApostrofos; foreach (var propriedade in entidade.GetType().GetProperties()) { if (propriedade.GetValue(entidade, null) == null && !GSUtilitarios.VerifiqueSePropriedadeEhEntidadeRelacionalUmParaMuitos(propriedade)) { valores += "NULL, "; continue; } Type tipoSistema = propriedade.PropertyType; propriedadeEhLista = GSUtilitarios.VerifiqueSeTipoEhLista(propriedade.PropertyType); if (!propriedadeEhLista) { tipoBD = GSUtilitarios.ConvertaTipoDadosAplicacaoBanco(propriedade.GetValue(entidade, null).GetType()); dado = propriedade.GetValue(entidade, null).ToString(); entreApostrofos = (tipoBD != "INT" && tipoBD != "DECIMAL") ? true : false; valores += String.Format("{0}{1}{2}, ", entreApostrofos ? "'" : String.Empty, !tipoSistema.Equals(typeof(Guid)) ? dado : dado.ToUpper(), entreApostrofos ? "'" : String.Empty); } else { if (propriedade.GetValue(entidade, null) == null || (propriedade.GetValue(entidade, null) as IList <dynamic>).Count == 0) { continue; } Type tipoElementos = GSUtilitarios.ObtenhaTipoLista(propriedade.GetValue(entidade, null) as List <dynamic>); Type tipoChaveElementos = GSUtilitarios.EncontrePropriedadeChaveDoTipo(tipoElementos).PropertyType; //Melhorar isso aqui, colocar um Attribute no objetos, que vai dizer quem é o mapeador dele var servicoMapeadorElementosLista = Activator.CreateInstance(null, Namespaces.MAPEADORES_CONCRETOS + ".Mapeador" + tipoElementos.Name).Unwrap() as IDisposable; foreach (var elemento in propriedade.GetValue(entidade, null) as List <dynamic> ) { servicoMapeadorElementosLista.GetType() .GetMethod("Insira", new Type[] { tipoElementos }) .Invoke(servicoMapeadorElementosLista, new object[] { elemento }); } servicoMapeadorElementosLista.Dispose(); } } //Remove a última vírgula valores = valores.Trim(); valores = valores.Remove(valores.Length - 1); return(valores); }
private Produto MonteRetorno(DataTable tabela, int linha) { var retorno = new Produto(); retorno.Codigo = int.Parse(tabela.Rows[linha]["CODIGO"].ToString()); retorno.Status = (EnumStatusDoProduto)int.Parse(tabela.Rows[linha]["STATUS"].ToString()); retorno.Nome = tabela.Rows[linha]["NOME"].ToString(); retorno.Fabricante = tabela.Rows[linha]["FABRICANTE"] != DBNull.Value ? tabela.Rows[linha]["FABRICANTE"].ToString() : null; retorno.CodigoDoFabricante = tabela.Rows[linha]["CODIGOFABRICANTE"] != DBNull.Value ? tabela.Rows[linha]["CODIGOFABRICANTE"].ToString() : null; retorno.PrecoDeCompra = decimal.Parse(tabela.Rows[linha]["PRECOCOMPRA"].ToString()); retorno.PrecoDeVenda = decimal.Parse(tabela.Rows[linha]["PRECOVENDA"].ToString()); retorno.PorcentagemDeLucro = decimal.Parse(tabela.Rows[linha]["PORCENTAGEMLUCRO"].ToString()); retorno.QuantidadeEmEstoque = tabela.Rows[linha]["QUANTIDADEESTOQUE"] != DBNull.Value ? int.Parse(tabela.Rows[linha]["QUANTIDADEESTOQUE"].ToString()) : 0; retorno.AvisarQuantidade = GSUtilitarios.ConvertaValorBooleano(tabela.Rows[linha]["AVISARQUANTIDADE"].ToString()); retorno.QuantidadeMinimaParaAviso = int.Parse(tabela.Rows[linha]["QUANTIDADEMINIMAAVISO"].ToString()); retorno.Observacao = tabela.Rows[linha]["OBSERVACAO"] != DBNull.Value ? tabela.Rows[linha]["OBSERVACAO"].ToString() : null; return(retorno); }
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 List <string> ObtenhaConceitosComPortadorVinculados() { var conceitosComPortador = typeof(TEntidade).GetProperties() .Where(x => GSUtilitarios.VerifiqueSePropriedadeEhEntidadeRelacionalUmParaMuitos(x)); var listaRetorno = new List <string>(); foreach (var conceito in conceitosComPortador) { Type tipoElementos = GSUtilitarios.ObtenhaTipoLista(conceito.GetValue(conceito, null) as List <dynamic>); Type tipoChaveElementos = GSUtilitarios.EncontrePropriedadeChaveDoTipo(tipoElementos).PropertyType; var servicoMapeadorElementosLista = Activator.CreateInstance(null, Namespaces.MAPEADORES_CONCRETOS + ".Mapeador" + tipoElementos.Name).Unwrap() as IDisposable; var listaElementos = GSUtilitarios.CrieLista(tipoElementos); listaElementos = servicoMapeadorElementosLista.GetType() .GetMethod("Consulte", new Type[] { tipoElementos, tipoChaveElementos }) .Invoke(servicoMapeadorElementosLista, new object[] { tipoElementos, tipoChaveElementos }) as List <dynamic>; servicoMapeadorElementosLista.Dispose(); if (listaElementos.Count > 0) { listaRetorno.Add(tipoElementos.Name); } } return(listaRetorno); }
private void txtPorcentagemDeLucro_TextChanged(object sender, EventArgs e) { if (txtPorcentagemDeLucro.Text.All(x => GSUtilitarios.EhDigitoOuPonto(x))) { return; } else { txtPorcentagemDeLucro.Text = txtPorcentagemDeLucro.Text.Trim().Remove(txtPorcentagemDeLucro.Text.Length - 1); } }
public void DefinaLabelsIPs() { if (SessaoSistema.InformacoesConexao == null) { SessaoSistema.BusqueConfiguracoesConexaoDoArquivo(DIRETORIO_LOCAL, NOME_ARQUIVO_CONFIGURACOES_BANCO); } lblIpApp.Text = GSUtilitarios.ObtenhaIPLocal(); if (SessaoSistema.InformacoesConexao != null) { lblIpBanco.Text = SessaoSistema.InformacoesConexao.Servidor; } }
private string ObtenhaValoresInsercao(Produto produto) { return($"{produto.Codigo}, " + $"{(int)produto.Status}, " + $"'{produto.Nome}', " + $"'{produto.Fabricante ?? "NULL"}', " + $"'{produto.CodigoDoFabricante ?? "NULL"}', " + $"{produto.PrecoDeCompra.ToString(CultureInfo.InvariantCulture)}, " + $"{produto.PrecoDeVenda.ToString(CultureInfo.InvariantCulture)}, " + $"{produto.PorcentagemDeLucro.ToString(CultureInfo.InvariantCulture)}, " + $"'{GSUtilitarios.ConvertaValorBooleano(produto.AvisarQuantidade)}', " + $"{produto.QuantidadeMinimaParaAviso}, " + $"'{produto.Observacao ?? "NULL"}'"); }
public Interacao CarregueObjetoComControles() { var interacao = new Interacao(); interacao.Observacao = txtObservacoes.Text.Trim(); interacao.ValorInteracao = GStxtValor.Valor; interacao.AtualizarValorDoProdutoNoCatalogo = chkAtualizar.Checked; interacao.TipoDeInteracao = (EnumTipoDeInteracao)cbTipo.SelectedIndex + 1; interacao.QuantidadeInterada = !string.IsNullOrEmpty(txtQuantidade.Text.Trim()) ? int.Parse(txtQuantidade.Text.Trim()) : 0; interacao.QuantidadeAuxiliar = !string.IsNullOrEmpty(txtQuantidadeAux.Text.Trim()) ? new int?(int.Parse(txtQuantidadeAux.Text.Trim())) : new int?(); interacao.Origem = txtOrigem.Text.Trim(); interacao.Destino = txtDestino.Text.Trim(); interacao.NumeroDaNota = txtNumeroDaNotaFiscal.Text.Trim(); interacao.HorarioProgramado = GSUtilitarios.ObtenhaDateTimeCompletoDePickers(dateData, dateHorario); var listaDeProdutos = new List <Produto>(); using (var servicoDeProduto = new ServicoDeProduto()) { listaDeProdutos = servicoDeProduto.ConsulteTodosOsProdutos(); } interacao.Produto = listaDeProdutos.Find(x => x.Nome.Trim() == cbProduto.Text.Trim()); if (chkInformarNumeroDeSerie.Checked) { interacao.InformaNumeroDeSerie = true; //Carregando números de série foreach (var multiTextBox in flpNumerosDeSerie.Controls) { var valor = (multiTextBox as GSMultiTextBox).Texto; if (!string.IsNullOrEmpty(valor)) { interacao.NumerosDeSerie.Add(valor); } } } else { interacao.InformaNumeroDeSerie = false; } return(interacao); }
private string ObtenhaValoresInsercao(Interacao interacao) { return(string.Format("{0}, CAST ('{1}' AS DATETIME2), {2}, '{3}', {4}, {5}, {6}, '{7}', '{8}', '{9}'", interacao.Codigo, GSUtilitarios.FormateDateTimePtBrParaBD(interacao.Horario), (int)interacao.TipoInteracao, interacao.Descricao ?? "NULL", interacao.Produto.Codigo, interacao.QuantidadeInterada, interacao.ValorInteracao, GSUtilitarios.ConvertaValorBooleano(interacao.AtualizarValorDoProdutoNoCatalogo), interacao.Origem ?? "NULL", interacao.Destino ?? "NULL")); }
public override void Insira(TEntidade entidade) { var vigencia = DateTime.UtcNow; string ComandoSQL = String.Format("INSERT INTO {0} (VIGENCIA, {1}) VALUES (CAST ('{2}' AS DATE), {3})", Tabela.ToUpper(), String.Join(", ", this.Colunas.Keys), GSUtilitarios.FormateDateTimePtBrParaBD(vigencia), ObtenhaValoresInsercao(entidade)); using (var GSBancoDeDados = new GSBancoDeDados()) { GSBancoDeDados.ExecuteComando(ComandoSQL); } }
private string ObtenhaStringColunasETiposDadosBD() { string retorno = String.Empty; foreach (var propriedade in Colunas) { retorno += String.Format("{0} {1}{2}{3}", propriedade.Key, GSUtilitarios.ConvertaTipoDadosAplicacaoBanco(propriedade.Value.PropertyType), propriedade.Value.PropertyType.Equals(typeof(string)) ? "(255)" : String.Empty, !propriedade.Equals(Colunas.Last()) ? ", " : String.Empty); } return(retorno); }
public void Insira(Produto produto) { var vigencia = DateTime.Now; string ComandoSQL = String.Format("INSERT INTO {0} (VIGENCIA, {1}) VALUES (CAST ('{2}' AS DATETIME2), {3})", Tabela, Colunas.Replace("QUANTIDADEESTOQUE, ", string.Empty), GSUtilitarios.FormateDateTimePtBrParaBD(vigencia), ObtenhaValoresInsercao(produto)); using (var GSBancoDeDados = new GSBancoDeDados()) { GSBancoDeDados.ExecuteComando(ComandoSQL); } }
public void Insira(TConceito conceito, DateTime vigencia) { var comandoSQL = $"INSERT INTO {Mapeamento.Tabela} " + $"(VIGENCIA, {Mapeamento.Colunas}) " + $"VALUES (" + $"CAST ('{GSUtilitarios.FormateDateTimePtBrParaBD(vigencia)}' AS DATETIME2)," + $"{ObtenhaValoresInsercao(ref conceito)}" + $");"; using (var GSBancoDeDados = new GSBancoDeDados()) { GSBancoDeDados.ExecuteComando(comandoSQL); } }
protected string ObtenhaValoresModificacao(TEntidade entidade) { List <string> valores = this.Colunas.Keys.ToList(); int auxiliar = 0; string dado = string.Empty; string tipoBD = string.Empty; bool propriedadeEhLista; bool entreApostrofos; foreach (var propriedade in entidade.GetType().GetProperties()) { Type tipoSistema = propriedade.PropertyType; propriedadeEhLista = GSUtilitarios.VerifiqueSeTipoEhLista(tipoSistema); if (!propriedadeEhLista) { tipoBD = GSUtilitarios.ConvertaTipoDadosAplicacaoBanco(propriedade.GetValue(entidade, null).GetType()); dado = propriedade.GetValue(entidade, null).ToString(); entreApostrofos = (tipoBD != "INT" && tipoBD != "DECIMAL") ? true : false; valores[auxiliar] = valores[auxiliar] + String.Format(" = {0}{1}{2}", entreApostrofos ? "'" : String.Empty, dado, entreApostrofos ? "'" : String.Empty); } else { Type tipoElementos = GSUtilitarios.ObtenhaTipoLista(propriedade.GetValue(entidade, null) as List <dynamic>); Type tipoChaveElementos = GSUtilitarios.EncontrePropriedadeChaveDoTipo(tipoElementos).PropertyType; var servicoMapeadorElementosLista = Activator.CreateInstance(null, Namespaces.MAPEADORES_CONCRETOS + ".Mapeador" + tipoElementos.Name).Unwrap() as IDisposable; foreach (var elemento in dado) { servicoMapeadorElementosLista.GetType() .GetMethod("Modifique", new Type[] { tipoElementos }) .Invoke(servicoMapeadorElementosLista, new object[] { elemento }); } servicoMapeadorElementosLista.Dispose(); } auxiliar++; } return(String.Join(", ", valores)); }
//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)); }
private string ObtenhaValoresInsercao(Interacao interacao) { return($"{interacao.Codigo}, " + $" CAST ('{GSUtilitarios.FormateDateTimePtBrParaBD(interacao.Horario)}' AS DATETIME2), " + $"{(int)interacao.TipoDeInteracao}, " + $"'{interacao.Observacao ?? "NULL"}', " + $"{interacao.Produto.Codigo}, " + $"{interacao.QuantidadeInterada}, " + $"{interacao.ValorInteracao.ToString(CultureInfo.InvariantCulture)}, " + $"'{GSUtilitarios.ConvertaValorBooleano(interacao.AtualizarValorDoProdutoNoCatalogo)}', " + $"'{interacao.Origem ?? "NULL"}', " + $"'{interacao.Destino ?? "NULL"}', " + $"'{interacao.NumeroDaNota ?? "NULL"}', " + $"'{GSUtilitarios.ConvertaValorBooleano(interacao.InformaNumeroDeSerie)}', " + $"{(interacao.QuantidadeAuxiliar.HasValue ? interacao.QuantidadeAuxiliar.Value.ToString() : "NULL")}, " + $" CAST('{GSUtilitarios.FormateDateTimePtBrParaBD(interacao.Horario)}' AS DATETIME2)"); }
private string ObtenhaValoresInsercao(Produto produto) { return(string.Format("{0}, {1}, '{2}', '{3}', '{4}', '{5}', {6}, {7}, {8}, {9}, '{10}', {11}, '{12}'", produto.Codigo, (int)produto.Status, produto.Nome, produto.Descricao ?? "NULL", produto.Fabricante ?? "NULL", produto.CodigoDoFabricante ?? "NULL", produto.PrecoDeCompra, produto.PrecoDeVenda, produto.PorcentagemDeLucro, produto.QuantidadeEmEstoque, GSUtilitarios.ConvertaValorBooleano(produto.AvisarQuantidade), produto.QuantidadeMinimaParaAviso, produto.Observacao ?? "NULL")); }
//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)); }
private void CarregueDataGridProdutos(List <Produto> listaDeProdutos) { dgvProdutos.Rows.Clear(); foreach (var produto in listaDeProdutos) { dgvProdutos.Rows.Add(produto.Codigo, produto.CodigoDoFabricante, produto.Status, produto.Nome, produto.Observacao, GSUtilitarios.FormateDecimalParaStringMoedaReal(produto.PrecoDeCompra), GSUtilitarios.FormateDecimalParaStringMoedaReal(produto.PrecoDeVenda), produto.QuantidadeEmEstoque); } dgvProdutos.Refresh(); }
//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, 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)); } }
/// <summary> /// Busca as informações de conexão com o banco de dados do arquivo no diretório especificado. /// </summary> /// <returns>As informações de conexão com o banco</returns> public static InformacoesConexaoBanco BusqueConfiguracoesConexaoDoArquivo(string diretorio, string nomeArquivo) { if (File.Exists(diretorio + nomeArquivo)) { string texto = File.ReadAllText(diretorio + nomeArquivo); texto = texto.Replace("\r\n", String.Empty); string[] textoDividido = texto.Split('|'); return(new InformacoesConexaoBanco() { Servidor = textoDividido[0], NomeBanco = GSUtilitarios.ApliqueCriptografiaBasica(textoDividido[1], EnumCriptografiaBasica.Desencriptar), Usuario = GSUtilitarios.ApliqueCriptografiaBasica(textoDividido[2], EnumCriptografiaBasica.Desencriptar), Senha = GSUtilitarios.ApliqueCriptografiaBasica(textoDividido[3], EnumCriptografiaBasica.Desencriptar) }); } return(null); }
/// <summary> /// Salva as informações de conexão com o banco de dados no arquivo no diretório especificado. /// </summary> public static void SalveConfiguracoesConexaoNoArquivo(InformacoesConexaoBanco informacoesConexaoBanco, string diretorio, string nomeArquivo) { //diretorio = diretorio.Remove(diretorio.Length - 1); if (File.Exists(diretorio + nomeArquivo)) { File.Delete(diretorio + nomeArquivo); } using (var writer = new StreamWriter(diretorio + nomeArquivo, true)) { writer.WriteLine(String.Format("{0}|{1}|{2}|{3}", informacoesConexaoBanco.Servidor, GSUtilitarios.ApliqueCriptografiaBasica(informacoesConexaoBanco.NomeBanco, EnumCriptografiaBasica.Encriptar), GSUtilitarios.ApliqueCriptografiaBasica(informacoesConexaoBanco.Usuario, EnumCriptografiaBasica.Encriptar), GSUtilitarios.ApliqueCriptografiaBasica(informacoesConexaoBanco.Senha, EnumCriptografiaBasica.Encriptar))); } }
//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; } }
private Interacao MonteRetorno(DataTable tabela, int linha) { var retorno = new Interacao(); retorno.Codigo = int.Parse(tabela.Rows[linha]["CODIGO"].ToString()); retorno.TipoInteracao = (EnumTipoInteracao)int.Parse(tabela.Rows[linha]["TIPO"].ToString()); retorno.Descricao = tabela.Rows[linha]["DESCRICAO"] != DBNull.Value ? tabela.Rows[linha]["DESCRICAO"].ToString() : null; retorno.Produto = new ServicoDeProduto().Consulte(int.Parse(tabela.Rows[linha]["CODIGO_PRODUTO"].ToString())); retorno.QuantidadeInterada = int.Parse(tabela.Rows[linha]["QUANTIDADE"].ToString()); retorno.ValorInteracao = decimal.Parse(tabela.Rows[linha]["VALOR"].ToString()); retorno.AtualizarValorDoProdutoNoCatalogo = GSUtilitarios.ConvertaValorBooleano(tabela.Rows[linha]["ATUALIZARVALORNOCATALOGO"].ToString()); retorno.Origem = tabela.Rows[linha]["ORIGEM"] != DBNull.Value ? tabela.Rows[linha]["ORIGEM"].ToString() : null; retorno.Destino = tabela.Rows[linha]["DESTINO"] != DBNull.Value ? tabela.Rows[linha]["DESTINO"].ToString() : null; retorno.Horario = (DateTime)tabela.Rows[linha]["HORARIO"]; return(retorno); }
public static void AjusteTextBoxMonetaria(ref TextBox textBox) { if (!textBox.Text.All(x => GSUtilitarios.EhDigitoOuPonto(x))) { textBox.Text = string.Empty; return; } string numero = string.Empty; double valor = 0; try { numero = textBox.Text.Replace(",", string.Empty) .Replace(".", string.Empty); if (numero == string.Empty) { return; } numero.PadLeft(3, '0'); if (numero.Length > 3 && numero.Substring(0, 1) == "0") { numero = numero.Substring(1, numero.Length - 1); } valor = Convert.ToDouble(numero) / 100; textBox.Text = string.Format(CultureInfo.GetCultureInfo("pt-BR"), "{0:N}", valor); textBox.SelectionStart = textBox.Text.Length; } catch (Exception) { throw new Exception("Ocorreu um erro na formatação monetária."); } }
private void CarregueDataGridInteracoes(List <Interacao> listaDeInteracoes) { dgvHistorico.Rows.Clear(); foreach (var interacao in listaDeInteracoes) { var indice = interacao.Horario.ToString(Cultura).Length - 3; dgvHistorico.Rows.Add(interacao.Codigo, interacao.HorarioProgramado.ToString(Cultura) .Remove(indice, 3), GSUtilitarios.ConvertaEnumeradorParaString(interacao.TipoDeInteracao), interacao.Produto.Nome, interacao.Observacao, interacao.QuantidadeInterada, GSUtilitarios.FormateDecimalParaStringMoedaReal(interacao.ValorInteracao), interacao.Origem, interacao.Destino); if (interacao.TipoDeInteracao == EnumTipoDeInteracao.ENTRADA) { dgvHistorico.Rows[dgvHistorico.Rows.Count - 1].DefaultCellStyle.BackColor = Color.LightBlue; } if (interacao.TipoDeInteracao == EnumTipoDeInteracao.SAIDA) { dgvHistorico.Rows[dgvHistorico.Rows.Count - 1].DefaultCellStyle.BackColor = Color.LightPink; } if (interacao.TipoDeInteracao == EnumTipoDeInteracao.BASE_DE_TROCA) { dgvHistorico.Rows[dgvHistorico.Rows.Count - 1].DefaultCellStyle.BackColor = Color.LightGreen; } } dgvHistorico.Refresh(); }
//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); }