public JsonResult Update(String NumeroLoteRps, string Data, String ArquivoImportacao, String ConteudoArquivoImportacao, String ArquivoRemessa, String XMLRemessa, String ArquivoRetorno, String XMLRetorno, Int32 Id) { string auxMsgErro = string.Empty; string auxMsgSucesso = string.Empty; DadosEnvioTO obj = new DadosEnvioTO { NumeroLoteRps = NumeroLoteRps, Data = Data, ArquivoImportacao = ArquivoImportacao, ConteudoArquivoImportacao = ConteudoArquivoImportacao, ArquivoRemessa = ArquivoRemessa, XMLRemessa = XMLRemessa, ArquivoRetorno = ArquivoRetorno, XMLRetorno = XMLRetorno, Id = Id }; if (DadosEnvioDAL.Update(obj) == null) { auxMsgErro = "Falha ao tentar alterar o registro, favor tente novamente"; } else { auxMsgSucesso = "Registro alterado com sucesso"; } return(Json(new { msgErro = auxMsgErro, msgSucesso = auxMsgSucesso })); }
public static int?Delete(DadosEnvioTO obj) { int? nrLinhas; SqlConnection con = new SqlConnection(); con.ConnectionString = Util.CONNECTION_STRING; try { SqlCommand comm = new SqlCommand(); comm.Connection = con; comm.CommandText = @" DELETE DadosEnvio WHERE Id = @Id "; con.Open(); comm.Parameters.Add(new SqlParameter("Id", obj.Id)); nrLinhas = comm.ExecuteNonQuery(); } catch (Exception ex) { nrLinhas = null; } finally { con.Close(); } return(nrLinhas); }
public static int?Update(DadosEnvioTO obj) { int? nrLinhas; SqlConnection con = new SqlConnection(); con.ConnectionString = Util.CONNECTION_STRING; try { SqlCommand comm = new SqlCommand(); comm.Connection = con; comm.CommandText = @" UPDATE DadosEnvio SET NumeroLoteRps = @NumeroLoteRps, Data = @Data, ArquivoImportacao = @ArquivoImportacao, ConteudoArquivoImportacao = @ConteudoArquivoImportacao, ArquivoRemessa = @ArquivoRemessa, XMLRemessa = @XMLRemessa, ArquivoRetorno = @ArquivoRetorno, XMLRetorno = @XMLRetorno WHERE Id = @Id "; con.Open(); comm.Parameters.Add(new SqlParameter("NumeroLoteRps", obj.NumeroLoteRps)); comm.Parameters.Add(new SqlParameter("Data", DateTime.Now)); comm.Parameters.Add(new SqlParameter("ArquivoImportacao", obj.ArquivoImportacao)); comm.Parameters.Add(new SqlParameter("ConteudoArquivoImportacao", obj.ConteudoArquivoImportacao)); comm.Parameters.Add(new SqlParameter("ArquivoRemessa", obj.ArquivoRemessa)); comm.Parameters.Add(new SqlParameter("XMLRemessa", obj.XMLRemessa)); comm.Parameters.Add(new SqlParameter("ArquivoRetorno", obj.ArquivoRetorno)); comm.Parameters.Add(new SqlParameter("XMLRetorno", obj.XMLRetorno)); comm.Parameters.Add(new SqlParameter("Id", obj.Id)); nrLinhas = comm.ExecuteNonQuery(); } catch (Exception ex) { nrLinhas = null; } finally { con.Close(); } return(nrLinhas); }
public JsonResult Delete(Int32 Id) { string auxMsgErro = string.Empty; string auxMsgSucesso = string.Empty; DadosEnvioTO obj = new DadosEnvioTO { Id = Id }; if (DadosEnvioDAL.Delete(obj) == null) { auxMsgErro = "Falha ao tentar excluir o registro, favor tente novamente"; } else { auxMsgSucesso = "Registro excluído com sucesso"; } return(Json(new { msgErro = auxMsgErro, msgSucesso = auxMsgSucesso })); }
public static int?Insert(DadosEnvioTO obj) { int? nrLinhas; SqlConnection con = new SqlConnection(); con.ConnectionString = Util.CONNECTION_STRING; try { SqlCommand comm = new SqlCommand(); comm.Connection = con; comm.CommandText = @" INSERT INTO DadosEnvio (NumeroLoteRps, Data, ArquivoImportacao, ConteudoArquivoImportacao, ArquivoRemessa, XMLRemessa, ArquivoRetorno, XMLRetorno) VALUES (@NumeroLoteRps, @Data, @ArquivoImportacao, @ConteudoArquivoImportacao, @ArquivoRemessa, @XMLRemessa, @ArquivoRetorno, @XMLRetorno) "; con.Open(); comm.Parameters.Add(new SqlParameter("NumeroLoteRps", obj.NumeroLoteRps)); comm.Parameters.Add(new SqlParameter("Data", DateTime.Now)); comm.Parameters.Add(new SqlParameter("ArquivoImportacao", obj.ArquivoImportacao)); comm.Parameters.Add(new SqlParameter("ConteudoArquivoImportacao", obj.ConteudoArquivoImportacao)); comm.Parameters.Add(new SqlParameter("ArquivoRemessa", obj.ArquivoRemessa)); comm.Parameters.Add(new SqlParameter("XMLRemessa", obj.XMLRemessa)); comm.Parameters.Add(new SqlParameter("ArquivoRetorno", obj.ArquivoRetorno)); comm.Parameters.Add(new SqlParameter("XMLRetorno", obj.XMLRetorno)); nrLinhas = comm.ExecuteNonQuery(); } catch (Exception ex) { nrLinhas = null; } finally { con.Close(); } return(nrLinhas); }
private void SalvarDadosEnvio(Rps dados, string xmlDados, string xmlRetorno, string arquivoImportacao, string conteudoImportacao, string arquivoRemessa, string arquivoRetorno) { try { DadosEnvioTO dadosEnvio = new DadosEnvioTO(); dadosEnvio.NumeroLoteRps = Convert.ToString(dados.NumeroLote); dadosEnvio.Data = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); dadosEnvio.XMLRemessa = xmlDados; dadosEnvio.XMLRetorno = xmlRetorno; dadosEnvio.ArquivoImportacao = arquivoImportacao; dadosEnvio.ArquivoRemessa = arquivoRemessa; dadosEnvio.ArquivoRetorno = arquivoRetorno; dadosEnvio.ConteudoArquivoImportacao = conteudoImportacao; DadosEnvioDAL.Insert(dadosEnvio); } catch (Exception ex) { throw; } }
private void SalvarDados(Rps dados, int count, int seq, string xmlDados, string xmlRetorno, string arquivoImportacao, string conteudoImportacao, string arquivoRemessa, string arquivoRetorno) { try { // Inserindo informacoes na tabela LoteRPS LoteRpsTO loteRps = new LoteRpsTO(); loteRps.NumeroLote = dados.NumeroLote; loteRps.CpfCnpj = dados.CpfCnpj; loteRps.InscricaoMunicipal = dados.InscricaoMunicipal; loteRps.Quantidade = count; int?IdLote = LoteRpsDAL.Insert(loteRps); RpsTO rps = new RpsTO(); rps.IdLoteRps = IdLote; rps.Numero = Convert.ToInt32(dados.InfDeclaracaoPrestacaoServico.IdentificacaoRps.Numero); rps.Serie = dados.InfDeclaracaoPrestacaoServico.IdentificacaoRps.Serie; rps.Tipo = Convert.ToInt32(dados.InfDeclaracaoPrestacaoServico.IdentificacaoRps.Tipo); rps.DataEmissao = dados.InfDeclaracaoPrestacaoServico.DataEmissao; rps.Status = 1; //Identificar rps.Competencia = rps.DataEmissao; rps.ValorServico = dados.InfDeclaracaoPrestacaoServico.Servico.Valores.ValorServicos.Replace(".", ","); rps.ISSRetido = dados.InfDeclaracaoPrestacaoServico.Servico.IssRetido; rps.ItemListaServico = dados.InfDeclaracaoPrestacaoServico.Servico.ItemListaServico; rps.CodigoCnae = dados.InfDeclaracaoPrestacaoServico.Servico.CodigoCnae; rps.CodigoTributacaoMunicipio = dados.InfDeclaracaoPrestacaoServico.Servico.CodigoTributacaoMunicipio; rps.Discriminacao = dados.InfDeclaracaoPrestacaoServico.Servico.Discriminacao; rps.CodigoMunicipio = dados.InfDeclaracaoPrestacaoServico.Servico.CodigoMunicipio; rps.ExigibilidadeISS = Convert.ToInt16(dados.InfDeclaracaoPrestacaoServico.Servico.ExigibilidadeISS); rps.MunicipioIncidencia = dados.InfDeclaracaoPrestacaoServico.Servico.MunicipioIncidencia; rps.CpfCnpj_Prestador = dados.InfDeclaracaoPrestacaoServico.Prestador.CpfCnpj; /* * //Obter CNPJ do prestador, verificar na tabela se existe * PrestadorTO prestador = new PrestadorTO(); * prestador.CpfCnpj_Prestador = dados.InfDeclaracaoPrestacaoServico.Prestador.CpfCnpj; * prestador.InscricaoMunicipal = dados.InfDeclaracaoPrestacaoServico.Prestador.InscricaoMunicipal; * * //Obter CNPJ do tomador, verificar na tabela se existe * TomadorTO tomador = new TomadorTO(); * tomador.CpfCnpj_Tomador = dados.InfDeclaracaoPrestacaoServico.Tomador.CpfCnpj; * tomador.RazaoSocial = dados.InfDeclaracaoPrestacaoServico.Tomador.RazaoSocial; * tomador.Endereco = dados.InfDeclaracaoPrestacaoServico.Tomador.Endereco.Logradouro; * tomador.Numero = dados.InfDeclaracaoPrestacaoServico.Tomador.Endereco.Numero; * tomador.Bairro = dados.InfDeclaracaoPrestacaoServico.Tomador.Endereco.Bairro; * tomador.CodigoMunicipio = dados.InfDeclaracaoPrestacaoServico.Tomador.Endereco.CodigoMunicipio; * tomador.Uf = dados.InfDeclaracaoPrestacaoServico.Tomador.Endereco.Uf; * tomador.Cep = dados.InfDeclaracaoPrestacaoServico.Tomador.Endereco.Cep; * tomador.Telefone = dados.InfDeclaracaoPrestacaoServico.Tomador.Contato.Telefone; * tomador.Email = dados.InfDeclaracaoPrestacaoServico.Tomador.Contato.Email; */ rps.CpfCnpj_Tomador = dados.InfDeclaracaoPrestacaoServico.Tomador.CpfCnpj; rps.OptanteSimplesNacional = Convert.ToInt16(dados.InfDeclaracaoPrestacaoServico.OptanteSimplesNacional); rps.IncentivoFiscal = Convert.ToInt16(dados.InfDeclaracaoPrestacaoServico.IncentivoFiscal); DadosEnvioTO dadosEnvio = new DadosEnvioTO(); dadosEnvio.NumeroLoteRps = Convert.ToString(dados.NumeroLote); dadosEnvio.XMLRemessa = xmlDados; dadosEnvio.XMLRetorno = xmlRetorno; dadosEnvio.ArquivoImportacao = arquivoImportacao; dadosEnvio.ArquivoRemessa = arquivoRemessa; dadosEnvio.ArquivoRetorno = arquivoRetorno; dadosEnvio.ConteudoArquivoImportacao = conteudoImportacao; //RpsDAL.InsertTransaction(loteRps, rps, dadosEnvio); RpsDAL.Insert(rps); } catch (Exception ex) { throw; } }
public static IList <DadosEnvioTO> Get(int start, int pageSize, ref int totRegistros, string textoFiltro, ref int totRegistrosFiltro, string sortColumn, string sortColumnDir) { IList <DadosEnvioTO> objs = new List <DadosEnvioTO>(); SqlConnection con = new SqlConnection(); con.ConnectionString = Util.CONNECTION_STRING; try { SqlCommand comm = new SqlCommand(); comm.Connection = con; string ordenacao; if (string.IsNullOrEmpty(sortColumn)) { ordenacao = "ORDER BY Id"; } else { ordenacao = string.Format("ORDER BY {0} {1}", sortColumn, sortColumnDir); } StringBuilder queryGet = new StringBuilder(@" SELECT TOP (@pageSize) * FROM ( SELECT Id, NumeroLoteRps, Data, ArquivoImportacao, ConteudoArquivoImportacao, ArquivoRemessa, XMLRemessa, ArquivoRetorno, XMLRetorno, (ROW_NUMBER() OVER (").Append(ordenacao).Append(@")) AS 'numeroLinha', (SELECT COUNT(Id) FROM DadosEnvio) AS 'totRegistros', (SELECT COUNT(Id) FROM DadosEnvio WHERE Id like @textoFiltro OR NumeroLoteRps collate Latin1_General_CI_AI like @textoFiltro OR Data like @textoFiltro OR ArquivoImportacao collate Latin1_General_CI_AI like @textoFiltro OR ConteudoArquivoImportacao collate Latin1_General_CI_AI like @textoFiltro OR ArquivoRemessa collate Latin1_General_CI_AI like @textoFiltro OR XMLRemessa collate Latin1_General_CI_AI like @textoFiltro OR ArquivoRetorno collate Latin1_General_CI_AI like @textoFiltro OR XMLRetorno collate Latin1_General_CI_AI like @textoFiltro ) AS 'totRegistrosFiltro' FROM DadosEnvio WHERE Id like @textoFiltro OR NumeroLoteRps collate Latin1_General_CI_AI like @textoFiltro OR Data like @textoFiltro OR ArquivoImportacao collate Latin1_General_CI_AI like @textoFiltro OR ConteudoArquivoImportacao collate Latin1_General_CI_AI like @textoFiltro OR ArquivoRemessa collate Latin1_General_CI_AI like @textoFiltro OR XMLRemessa collate Latin1_General_CI_AI like @textoFiltro OR ArquivoRetorno collate Latin1_General_CI_AI like @textoFiltro OR XMLRetorno collate Latin1_General_CI_AI like @textoFiltro) AS todasLinhas WHERE todasLinhas.numeroLinha > (@start)"); comm.Parameters.Add(new SqlParameter("pageSize", pageSize)); comm.Parameters.Add(new SqlParameter("start", start)); comm.Parameters.Add(new SqlParameter("textoFiltro", string.Format("%{0}%", textoFiltro))); comm.CommandText = queryGet.ToString(); con.Open(); SqlDataReader rd = comm.ExecuteReader(); DadosEnvioTO obj; if (rd.Read()) { totRegistros = rd.GetInt32(10); totRegistrosFiltro = rd.GetInt32(11); obj = new DadosEnvioTO { Id = rd.GetInt32(0), NumeroLoteRps = rd.GetString(1), Data = rd.GetDateTime(2).ToString("dd/MM/yyyy hh:mm:ss"), ArquivoImportacao = rd.GetString(3).Replace("\\", "\\\\"), ConteudoArquivoImportacao = rd.GetString(4), ArquivoRemessa = rd.GetString(5).Replace("\\", "\\\\"), XMLRemessa = rd.GetString(6).Replace("\"", ""), ArquivoRetorno = rd.GetString(7).Replace("\\", "\\\\"), XMLRetorno = rd.GetString(8).Replace("\"", "") }; objs.Add(obj); } while (rd.Read()) { obj = new DadosEnvioTO { Id = rd.GetInt32(0), NumeroLoteRps = rd.GetString(1), Data = rd.GetDateTime(2).ToString("dd/MM/yyyy hh:mm:ss"), ArquivoImportacao = rd.GetString(3).Replace("\\", "\\\\"), ConteudoArquivoImportacao = rd.GetString(4).Replace("\\", "\\\\"), ArquivoRemessa = rd.GetString(5).Replace("\\", "\\\\"), XMLRemessa = rd.GetString(6).Replace("\"", ""), ArquivoRetorno = rd.GetString(7).Replace("\\", "\\\\"), XMLRetorno = rd.GetString(8).Replace("\"", "") }; objs.Add(obj); } rd.Close(); } catch (Exception ex) { objs.Clear(); } finally { con.Close(); } return(objs); }
public static int?InsertTransaction(LoteRpsTO obj0, RpsTO obj1, DadosEnvioTO obj2) { int? nrLinhas; SqlConnection con = new SqlConnection(); con.ConnectionString = Util.CONNECTION_STRING; SqlCommand comm0 = new SqlCommand(); comm0.Connection = con; comm0.CommandText = @" INSERT INTO LoteRps (NumeroLote, CpfCnpj, InscricaoMunicipal, Quantidade) OUTPUT Inserted.Id VALUES (@NumeroLote, @CpfCnpj, @InscricaoMunicipal, @Quantidade) "; SqlCommand comm1 = new SqlCommand(); comm1.Connection = con; comm1.CommandText = @" INSERT INTO Rps (IdLoteRps, Numero, Serie, Tipo, DataEmissao, Status, Competencia, ValorServico, ISSRetido, ItemListaServico, CodigoCnae, CodigoTributacaoMunicipio, Discriminacao, CodigoMunicipio, ExigibilidadeISS, MunicipioIncidencia, CpfCnpj_Prestador, CpfCnpj_Tomador, OptanteSimplesNacional, IncentivoFiscal) VALUES (@IdLoteRps, @Numero, @Serie, @Tipo, @DataEmissao, @Status, @Competencia, @ValorServico, @ISSRetido, @ItemListaServico, @CodigoCnae, @CodigoTributacaoMunicipio, @Discriminacao, @CodigoMunicipio, @ExigibilidadeISS, @MunicipioIncidencia, @CpfCnpj_Prestador, @CpfCnpj_Tomador, @OptanteSimplesNacional, @IncentivoFiscal) "; SqlCommand comm2 = new SqlCommand(); comm2.Connection = con; comm2.CommandText = @" INSERT INTO DadosEnvio (NumeroLoteRps, Data, ArquivoImportacao, ConteudoArquivoImportacao, ArquivoRemessa, XMLRemessa, ArquivoRetorno, XMLRetorno) VALUES (@NumeroLoteRps, @Data, @ArquivoImportacao, @ConteudoArquivoImportacao, @ArquivoRemessa, @XMLRemessa, @ArquivoRetorno, @XMLRetorno) "; object NumeroLote = DBNull.Value; if (null != obj0.NumeroLote) { NumeroLote = obj0.NumeroLote; } object CpfCnpj = DBNull.Value; if (null != obj0.CpfCnpj) { CpfCnpj = obj0.CpfCnpj; } object InscricaoMunicipal = DBNull.Value; if (null != obj0.InscricaoMunicipal) { InscricaoMunicipal = obj0.InscricaoMunicipal; } object Quantidade = DBNull.Value; if (null != obj0.Quantidade) { Quantidade = obj0.Quantidade; } object Numero = DBNull.Value; if (null != obj1.Numero) { Numero = obj1.Numero; } object Serie = DBNull.Value; if (null != obj1.Serie) { Serie = obj1.Serie; } object Tipo = DBNull.Value; if (null != obj1.Tipo) { Tipo = obj1.Tipo; } object DataEmissao = DBNull.Value; if (null != obj1.DataEmissao) { DataEmissao = obj1.DataEmissao; } object Status = DBNull.Value; if (null != obj1.Status) { Status = obj1.Status; } object Competencia = DBNull.Value; if (null != obj1.Competencia) { Competencia = obj1.Competencia; } object ValorServico = DBNull.Value; if (null != obj1.ValorServico) { ValorServico = obj1.ValorServico; } object ISSRetido = DBNull.Value; if (null != obj1.ISSRetido) { ISSRetido = obj1.ISSRetido; } object ItemListaServico = DBNull.Value; if (null != obj1.ItemListaServico) { ItemListaServico = obj1.ItemListaServico; } object CodigoCnae = DBNull.Value; if (null != obj1.CodigoCnae) { CodigoCnae = obj1.CodigoCnae; } object CodigoTributacaoMunicipio = DBNull.Value; if (null != obj1.CodigoTributacaoMunicipio) { CodigoTributacaoMunicipio = obj1.CodigoTributacaoMunicipio; } object Discriminacao = DBNull.Value; if (null != obj1.Discriminacao) { Discriminacao = obj1.Discriminacao; } object CodigoMunicipio = DBNull.Value; if (null != obj1.CodigoMunicipio) { CodigoMunicipio = obj1.CodigoMunicipio; } object ExigibilidadeISS = DBNull.Value; if (null != obj1.ExigibilidadeISS) { ExigibilidadeISS = obj1.ExigibilidadeISS; } object MunicipioIncidencia = DBNull.Value; if (null != obj1.MunicipioIncidencia) { MunicipioIncidencia = obj1.MunicipioIncidencia; } object CpfCnpj_Prestador = DBNull.Value; if (null != obj1.CpfCnpj_Prestador) { CpfCnpj_Prestador = obj1.CpfCnpj_Prestador; } object CpfCnpj_Tomador = DBNull.Value; if (null != obj1.CpfCnpj_Tomador) { CpfCnpj_Tomador = obj1.CpfCnpj_Tomador; } object OptanteSimplesNacional = DBNull.Value; if (null != obj1.OptanteSimplesNacional) { OptanteSimplesNacional = obj1.OptanteSimplesNacional; } object IncentivoFiscal = DBNull.Value; if (null != obj1.IncentivoFiscal) { IncentivoFiscal = obj1.IncentivoFiscal; } con.Open(); SqlTransaction tran = con.BeginTransaction(); try { comm0.Transaction = tran; comm0.Parameters.Add(new SqlParameter("NumeroLote", NumeroLote)); comm0.Parameters.Add(new SqlParameter("CpfCnpj", CpfCnpj)); comm0.Parameters.Add(new SqlParameter("InscricaoMunicipal", InscricaoMunicipal)); comm0.Parameters.Add(new SqlParameter("Quantidade", Quantidade)); nrLinhas = comm0.ExecuteNonQuery(); comm1.Transaction = tran; //comm1.Parameters.Add(new SqlParameter("IdLoteRps", obj1.IdLoteRps)); comm1.Parameters.Add(new SqlParameter("IdLoteRps", nrLinhas)); comm1.Parameters.Add(new SqlParameter("Numero", Numero)); comm1.Parameters.Add(new SqlParameter("Serie", Serie)); comm1.Parameters.Add(new SqlParameter("Tipo", Tipo)); comm1.Parameters.Add(new SqlParameter("DataEmissao", DataEmissao)); comm1.Parameters.Add(new SqlParameter("Status", Status)); comm1.Parameters.Add(new SqlParameter("Competencia", Competencia)); comm1.Parameters.Add(new SqlParameter("ValorServico", ValorServico)); comm1.Parameters.Add(new SqlParameter("ISSRetido", ISSRetido)); comm1.Parameters.Add(new SqlParameter("ItemListaServico", ItemListaServico)); comm1.Parameters.Add(new SqlParameter("CodigoCnae", CodigoCnae)); comm1.Parameters.Add(new SqlParameter("CodigoTributacaoMunicipio", CodigoTributacaoMunicipio)); comm1.Parameters.Add(new SqlParameter("Discriminacao", Discriminacao)); comm1.Parameters.Add(new SqlParameter("CodigoMunicipio", CodigoMunicipio)); comm1.Parameters.Add(new SqlParameter("ExigibilidadeISS", ExigibilidadeISS)); comm1.Parameters.Add(new SqlParameter("MunicipioIncidencia", MunicipioIncidencia)); comm1.Parameters.Add(new SqlParameter("CpfCnpj_Prestador", CpfCnpj_Prestador)); comm1.Parameters.Add(new SqlParameter("CpfCnpj_Tomador", CpfCnpj_Tomador)); comm1.Parameters.Add(new SqlParameter("OptanteSimplesNacional", OptanteSimplesNacional)); comm1.Parameters.Add(new SqlParameter("IncentivoFiscal", IncentivoFiscal)); nrLinhas = comm1.ExecuteNonQuery(); comm2.Transaction = tran; comm2.Parameters.Add(new SqlParameter("NumeroLoteRps", obj2.NumeroLoteRps)); comm2.Parameters.Add(new SqlParameter("Data", obj2.Data)); comm2.Parameters.Add(new SqlParameter("ArquivoImportacao", obj2.ArquivoImportacao)); comm2.Parameters.Add(new SqlParameter("ConteudoArquivoImportacao", obj2.ConteudoArquivoImportacao)); comm2.Parameters.Add(new SqlParameter("ArquivoRemessa", obj2.ArquivoRemessa)); comm2.Parameters.Add(new SqlParameter("XMLRemessa", obj2.XMLRemessa)); comm2.Parameters.Add(new SqlParameter("ArquivoRetorno", obj2.ArquivoRetorno)); comm2.Parameters.Add(new SqlParameter("XMLRetorno", obj2.XMLRetorno)); nrLinhas = comm2.ExecuteNonQuery(); tran.Commit(); } catch (Exception ex) { tran.Rollback(); nrLinhas = null; } finally { con.Close(); } return(nrLinhas); }