Пример #1
0
        public static void Insere(this ACSOPRGCRCabecalhoEN acsCrgCab)
        {
            using (SqlConnection cnx = new SqlConnection(ConfigurationManager.ConnectionStrings["Global"].ConnectionString))
            {
                try
                {
                    string query = "[crpInsereCargaDetalhe]";

                    using (SqlCommand cmd = new SqlCommand(query, cnx))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.Add("IdArquivo", SqlDbType.Int).Value           = acsCrgCab.IdArquivo;
                        cmd.Parameters.Add("TpRegistro", SqlDbType.Char, 1).Value      = ACSOPRGCRCabecalhoEN.TpRegistro;
                        cmd.Parameters.Add("NomeLayout", SqlDbType.VarChar, 20).Value  = acsCrgCab.NomeLayout;
                        cmd.Parameters.Add("Versao", SqlDbType.VarChar, 8).Value       = acsCrgCab.Versao;
                        cmd.Parameters.Add("DataGeracao", SqlDbType.DateTime).Value    = acsCrgCab.DataGeracao;
                        cmd.Parameters.Add("SeqArquivo", SqlDbType.TinyInt).Value      = acsCrgCab.SeqArquivo;
                        cmd.Parameters.Add("NomeArquivo", SqlDbType.VarChar, 50).Value = acsCrgCab.NomeArquivo;
                        cmd.Parameters.Add("CodConvenio", SqlDbType.VarChar, 10).Value = acsCrgCab.CodConvenio;
                        cmd.Parameters.Add("CodEmpresa", SqlDbType.VarChar, 14).Value  = acsCrgCab.CodEmpresa;
                        cmd.Parameters.Add("NumLinha", SqlDbType.Int).Value            = acsCrgCab.NumLinha;
                        cmd.Parameters.Add("Linha", SqlDbType.Int).Value = acsCrgCab.Linha;

                        cnx.Open();

                        cmd.ExecuteNonQuery();
                    }
                }
                catch (SqlException sqlExc)
                {
                    if (BDGeral.TS.TraceError)
                    {
                        Trace.TraceError("{0}: {1}", new object[] { "u.CrtCorp.ACSOPRGCR.CabBD", sqlExc });
                    }
                    throw;
                }
                catch (Exception exp)
                {
                    if (BDGeral.TS.TraceError)
                    {
                        Trace.TraceError("{0}: {1}", new object[] { "u.CrtCorp.ACSOPRGCR.CabBD", exp });
                    }
                    throw;
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Gera linha cabeçalho
        /// </summary>
        /// <param name="nomeArquivo"></param>
        /// <param name="numLinha"></param>
        public ACSOPRGCRCabecalhoEN MontaACSOPRGCRCabecalhoEN(int idArquivo, string nomeArquivo, int numLinha, string codConvenio)
        {
            var cab = new ACSOPRGCRCabecalhoEN()
            {
                IdArquivo   = idArquivo,
                NomeLayout  = "ACSOPRGCR",
                Versao      = "1.1",
                CodEmpresa  = "ACS",
                CodConvenio = codConvenio,
                DataGeracao = DateTime.Now,
                SeqArquivo  = 12,
                NomeArquivo = nomeArquivo,
                NumLinha    = numLinha
            };

            return(cab);
        }
Пример #3
0
 /// <summary>
 /// Gera linha cabeçalho
 /// </summary>
 /// <param name="nomeArquivo"></param>
 /// <param name="numLinha"></param>
 public ACSOPRGCRCabecalhoEN MontaACSOPRGCRCabecalhoEN(int idArquivo, string nomeArquivo, int numLinha, string codConvenio)
 {
     var cab = new ACSOPRGCRCabecalhoEN()
                                         {
                                             IdArquivo = idArquivo,
                                             NomeLayout = "ACSOPRGCR",
                                             Versao = "1.1",
                                             CodEmpresa = "ACS",
                                             CodConvenio = codConvenio,
                                             DataGeracao = DateTime.Now,
                                             SeqArquivo = 12,
                                             NomeArquivo = nomeArquivo,
                                             NumLinha = numLinha
                                         };
     return cab;
 }
Пример #4
0
        /// <summary>
        /// Dado o arquivo ele é realizado o parser e seus dados são salvos nas tabelas correspondentes
        /// </summary>
        /// <param name="path"></param>
        public void ProcessaArquivoCarga(string path, int idEdntidade, int idArquivo = 0)
        {
            string nomeArquivo = Path.GetFileName(path);

            ENLog.MapaArquivos mapArq = new ENLog.MapaArquivos(nomeArquivo, ENLog.TipoArquivo.ACSOPRGCR, path, 0, idArquivo);

            Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.NaoProcessado, mapArq.Arquivo, "Inicia processamento de arquivo");
            int novoidArquivo = mapArq.IdArquivo;

            int linhaAtual = 0;
            int qtdCarga = 0;


            using (StreamReader sr = new StreamReader(path))
            {

                DataSet ds = new DataSet();
                DataTable dt = new DataTable();

                ENLog.TipoLog tpLog = ENLog.TipoLog.Informação;
                Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.EmProcessamento, mapArq.Arquivo, "Em processamento de arquivo");
                string descErro = String.Empty;
                while (!sr.EndOfStream)
                {
                    try
                    {
                        linhaAtual++;
                        string linha = sr.ReadLine();

                        switch (linha.Substring(0, 1))
                        {
                            case "0":
                                var cab = new ACSOPRGCRCabecalhoEN(novoidArquivo, linha);
                                cab.Insere();
                                break;
                            case "1":
                                var lot = new ACSOPRGCRLoteEN(novoidArquivo, linha);
                                lot.Insere();
                                break;
                            case "2":
                                var det = new ACSOPRGCRDetalheEN(novoidArquivo, linha);
                                dt.Rows.Add(ACSOPRGCRDetalheEN.MapeiaTXT(linha, novoidArquivo, dt, idEdntidade));
                                //det.Insere();
                                qtdCarga++;
                                break;
                            case "9":
                                var rdp = new ACSOPRGCRRodapeEN(novoidArquivo, linha);
                                rdp.Insere();
                                break;
                        }
                    }
                    catch (Exception e)
                    {
                        descErro = String.Format("Erro ao processar arquivo de Carga de Cartões. Linha: {0}", linhaAtual);
                        this.InsereLog(mapArq, linhaAtual, ENLog.TipoLog.Alerta, descErro);
                        throw;
                    }
                }

                ds.Tables.Add(dt);
                InsereCartoes(ds, idArquivo, tpLog, mapArq);

                //Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.ProcessadoOk, mapArq.Arquivo, "Finaliza processamento de arquivo");

                //descErro = String.Format("Total de cargas processadas: {0}", qtdCarga);
                //this.InsereLog(mapArq, linhaAtual, ENLog.TipoLog.Informação, descErro);
            }

            ACSPRGCRBD.InsereNovoServico(idArquivo);
        }
Пример #5
0
        /// <summary>
        /// Dado o arquivo ele é realizado o parser e seus dados são salvos nas tabelas correspondentes
        /// </summary>
        /// <param name="path"></param>
        public void ProcessaArquivoCarga(string path, int idEdntidade, int idArquivo = 0)
        {
            string nomeArquivo = Path.GetFileName(path);

            ENLog.MapaArquivos mapArq = new ENLog.MapaArquivos(nomeArquivo, ENLog.TipoArquivo.ACSOPRGCR, path, 0, idArquivo);

            Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.NaoProcessado, mapArq.Arquivo, "Inicia processamento de arquivo");
            int novoidArquivo = mapArq.IdArquivo;

            int linhaAtual = 0;
            int qtdCarga = 0;

            using (StreamReader sr = new StreamReader(path))
            {

                DataSet ds = new DataSet();
                DataTable dt = new DataTable();

                ENLog.TipoLog tpLog = ENLog.TipoLog.Informação;
                Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.EmProcessamento, mapArq.Arquivo, "Em processamento de arquivo");
                string descErro = String.Empty;
                while (!sr.EndOfStream)
                {
                    try
                    {
                        linhaAtual++;
                        string linha = sr.ReadLine();

                        switch (linha.Substring(0, 1))
                        {
                            case "0":
                                var cab = new ACSOPRGCRCabecalhoEN(novoidArquivo, linha);
                                cab.Insere();
                                break;
                            case "1":
                                var lot = new ACSOPRGCRLoteEN(novoidArquivo, linha);
                                lot.Insere();
                                break;
                            case "2":
                                var det = new ACSOPRGCRDetalheEN(novoidArquivo, linha);
                                dt.Rows.Add(ACSOPRGCRDetalheEN.MapeiaTXT(linha, novoidArquivo, dt, idEdntidade));
                                //det.Insere();
                                qtdCarga++;
                                break;
                            case "9":
                                var rdp = new ACSOPRGCRRodapeEN(novoidArquivo, linha);
                                rdp.Insere();
                                break;
                        }
                    }
                    catch (Exception e)
                    {
                        descErro = String.Format("Erro ao processar arquivo de Carga de Cartões. Linha: {0}", linhaAtual);
                        this.InsereLog(mapArq, linhaAtual, ENLog.TipoLog.Alerta, descErro);
                        throw;
                    }
                }

                ds.Tables.Add(dt);
                InsereCartoes(ds, idArquivo, tpLog, mapArq);

                //Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.ProcessadoOk, mapArq.Arquivo, "Finaliza processamento de arquivo");

                //descErro = String.Format("Total de cargas processadas: {0}", qtdCarga);
                //this.InsereLog(mapArq, linhaAtual, ENLog.TipoLog.Informação, descErro);
            }

            ACSPRGCRBD.InsereNovoServico(idArquivo);
        }