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 }));
        }
示例#2
0
        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);
        }
示例#3
0
        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 }));
        }
示例#5
0
        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);
        }
示例#6
0
        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;
            }
        }
示例#7
0
        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;
            }
        }
示例#8
0
        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);
        }
示例#9
0
        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);
        }