public void ExecuteSql(string nomeDoMetodo = null, bool zerarQuery = true) { try { if (G1.Nada(Cmd.CommandText)) { Cmd.CommandText = Convert.ToString(query); } Cmd.ExecuteNonQuery(); Cmd.CommandText = null; if (query != null && zerarQuery) { query.Clear(); } } catch (Exception e) { Cmd.CommandText = null; query = null; if (!G1.Nada(nomeDoMetodo) && nomeDoMetodo.IndexOf(".AtualizaTabela") < 0) { throw new Exception(nomeDoMetodo + " - " + e.Message, e.InnerException); //exceção será disparada somente para os comandos DML (Insert,Update,Delete e Select) } } }
/// <summary>michele, 25/06/2014 - Monta o StringBuider(query) de acordo com o parametro trecho. /// Para criar uma nova instância, defina o parâmetro novo com true</summary> public void Query(string trecho = null, bool novo = false) { if (query == null || novo) { query = new StringBuilder(); } if (!G1.Nada(trecho)) { query.Append(trecho); } }
/// <summary>coloca '' para montar o parâmetro quando for varchar, facilitando a montagem da query</summary> public string Str(string valor = "", bool semAcento = false) { try { if (G1.Nada(valor)) { return("NULL"); } return($"'{(semAcento ? G1.RemoveAcentos(valor) : valor.Replace("'", ""))}'"); } catch { return("NULL"); } }
/// <summary>michele, 18/08/2015 - retorna o texto sem acentos</summary> public static string RemoveAcentos(string text = null) { if (G1.Nada(text)) { return(""); } StringBuilder s = new StringBuilder(); var arrayText = text.Normalize(NormalizationForm.FormD).ToCharArray(); foreach (char letter in arrayText) { if (CharUnicodeInfo.GetUnicodeCategory(letter) != UnicodeCategory.NonSpacingMark) { s.Append(letter); } } return(Convert.ToString(s).Replace("’", "").Replace("'", "").Replace("–", "").Replace("'", "").Replace("Ç", "C").Replace("ç", "c").Replace("à", "a").Replace("À", "A").Replace("º", "").Replace("ª", "").Replace(" - ", "").Replace("-", "").Trim()); }
public List <Cliente> Listar(Cliente cli, string conString) { List <Cliente> lista = new List <Cliente>(); DataTable d; using (Conexao c = new Conexao(conString)) { c.Query("Select Id,Nome,Cpf From Cliente"); c.Query(cli.Id > 0 ? c.WhereAnd($"Id = {cli.Id}") : ""); c.Query(!G1.Nada(cli.Nome) ? c.WhereAnd($"Nome Like {c.StrLike(cli.Nome)}") : ""); c.Query(!G1.Nada(cli.Cpf) ? c.WhereAnd($"Cpf = {c.Str(cli.Cpf)}") : ""); d = c.DtSql(); } if (G1.DtOk(d)) { lista = JsonConvert.DeserializeObject <List <Cliente> >(G1.DtToJson(d), G1.CfJson()); } return(lista); }
public List <ItensLocacao> Listar(ItensLocacao iloc, string conString) { List <ItensLocacao> lista = new List <ItensLocacao>(); DataTable d; using (Conexao c = new Conexao(conString)) { c.Query("Select IdItem, IdLocacao, Status, IdFilme From ItensLocacao"); c.Query(iloc.IdItem > 0 ? c.WhereAnd($"IdItem = {iloc.IdItem}") : ""); c.Query(!G1.Nada(iloc.IdLocacao) ? c.WhereAnd($"IdLocacao Like {(iloc.IdLocacao)}") : ""); c.Query(!G1.Nada(iloc.Status) ? c.WhereAnd($"Status Like {(iloc.Status)}") : ""); c.Query(!G1.Nada(iloc.IdFilme) ? c.WhereAnd($"IdFilme = {(iloc.IdFilme)}") : ""); d = c.DtSql(); } if (G1.DtOk(d)) { lista = JsonConvert.DeserializeObject <List <ItensLocacao> >(G1.DtToJson(d), G1.CfJson()); } return(lista); }
public List <Filmes> Listar(Filmes film, string conString) { List <Filmes> lista = new List <Filmes>(); DataTable d; using (Conexao c = new Conexao(conString)) { c.Query("Select Id,Titulo,Genero, Status From Filmes"); c.Query(film.Id > 0 ? c.WhereAnd($"Id = {film.Id}") : ""); c.Query(!G1.Nada(film.Titulo) ? c.WhereAnd($"Titulo Like {c.StrLike(film.Titulo)}") : ""); c.Query(!G1.Nada(film.Genero) ? c.WhereAnd($"Genero = {c.Str(film.Genero)}") : ""); c.Query(!G1.Nada(film.Status) ? c.WhereAnd($"Status = {film.Status}") : ""); d = c.DtSql(); } if (G1.DtOk(d)) { lista = JsonConvert.DeserializeObject <List <Filmes> >(G1.DtToJson(d), G1.CfJson()); } return(lista); }
/// <summary>michele, 25/06/2014 - Facilita na criação de parâmetros para montar as Querys /// O parâmetro "trechoQuery" é opcional, mas se informado, cria o parâmetro e o trecho da Query que irá utilizá-lo</summary> public void Param(string parametro, object valor, string trechoQuery = null) { try { if (Cmd.Parameters.IndexOf(parametro) >= 0) { Cmd.Parameters.RemoveAt(parametro); //caso já exista, será removido para evitar erros } if (valor == null) { valor = (string)string.Empty; } if (valor is bool) { valor = Convert.ToInt16(valor); } if (valor is DateTime) { if (!G1.IsDate(valor)) { valor = DBNull.Value; } else { valor = new DateTime (Convert.ToDateTime(valor).Year, Convert.ToDateTime(valor).Month, Convert.ToDateTime(valor).Day, Convert.ToDateTime(valor).Hour, Convert.ToDateTime(valor).Minute, Convert.ToDateTime(valor).Second); } } Cmd.Parameters.AddWithValue(parametro, valor); if (!G1.Nada(trechoQuery)) { Query(trechoQuery); } } catch (Exception e) { throw e; } }
public bool RegistroExiste(string nomeTabela, string nomeColuna = null, object valor = null, string nomeColuna2 = null, object valor2 = null, string nomeColuna3 = null, object valor3 = null) { try { bool existe = false; Query("Select Count(*) as Existe From ", true); Query(nomeTabela); if (!G1.Nada(nomeColuna) && !G1.Nada(Convert.ToString(valor))) { Param("@v", valor); Query($" Where {nomeColuna} = @v "); if (!G1.Nada(nomeColuna2) && !G1.Nada(Convert.ToString(valor2))) { Param("@v2", valor2); Query($" And {(nomeColuna2)} = @v2 "); if (!G1.Nada(nomeColuna3) && !G1.Nada(Convert.ToString(valor3))) { Param("@v3", valor3); Query($" And {nomeColuna3} = @v3"); } } } Cmd.CommandText = Convert.ToString(query); SqlDataReader dr = Cmd.ExecuteReader(); if (dr.Read()) { existe = G1.GetBool(dr["Existe"]); } dr.Close(); dr.Dispose(); Cmd.CommandText = null; query.Clear(); return(existe); } catch (Exception e) { throw e; } }
/// <summary>michele, 01/06/2014 - retorna um número inteiro</summary> public static int GetInt(object valor, bool isNullRetorna1Negativo = false) { try { if (G1.Nada(valor)) { return(isNullRetorna1Negativo ? -1 : 0); } int numero = 0; var tipo = valor.GetType().ToString().ToLower().Replace("system.", ""); if (tipo == "dbnull") { return(0); } if (valor is bool || tipo == "int16") { numero = Convert.ToInt16(valor); } else if (tipo == "int32" || tipo == "int64" || tipo == "double" || tipo == "decimal" || tipo == "float") { numero = Convert.ToInt32(valor); } else if (tipo == "string") { string v = Convert.ToString(valor).ToLower(); if (Nada(v)) { if (isNullRetorna1Negativo) { return(-1); } else { return(0); } } if (v == "sim" || v == "s" || v == "ativo" || v == "true") { return(1); } else if (v == "não" || v == "n" || v == "inativo" || v == "false") { return(0); } else { numero = int.Parse(valor.ToString()); } } //if (numero is int) numero = int.Parse(valor.ToString()); if (numero >= -32768 && numero <= 32767) { return(Convert.ToInt16(numero)); } else { return(Convert.ToInt32(numero)); } //return numero; } catch (Exception) { return(0);//retorna 0 se algo der errado na conversão } }