private void InsereCartoes(DataSet ds, int idArquivo, ENLog.TipoLog tpLog, ENLog.MapaArquivos mapArq, int qtdCartoes, int qtdCartoesErro)
        {
            List<ValidationResult> lstVr = null;
            var ptr = new Portador();
            var ptrCn = new PortadorCN();

            int numLinha = 0;

            string descErro = string.Empty;

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                try
                {

                    if (!String.IsNullOrEmpty(dr["CPF"].ToString()))
                    {
                        lstVr = ptr.Mapeia(dr, ptrCn.CriaMapaColuna(dr));
                        numLinha++;

                        if (lstVr.Count == 0)
                        {
                            lstVr = ptrCn.Valida(ptr);
                            if (lstVr.Count == 0)
                            {
                                qtdCartoes++;
                                ptr.Insere(idArquivo, numLinha);
                            }
                            else
                            {
                                qtdCartoesErro++;
                                tpLog = ENLog.TipoLog.Erro;
                                this.InsereLogErros(mapArq, tpLog, qtdCartoes, numLinha, lstVr);
                            }
                        }
                        else
                        {
                            tpLog = ENLog.TipoLog.Erro;
                            this.InsereLogErros(mapArq, tpLog, qtdCartoes, numLinha, lstVr);
                        }
                    }
                }

                catch (Exception)
                {
                    tpLog = ENLog.TipoLog.Erro;
                    descErro = "Erro ao processar arquivo de Identificação Simplificada de Cartões";
                    this.InsereLog(mapArq, qtdCartoes, tpLog, descErro, string.Empty);
                }
            }

            switch (tpLog)
            {
                case upSight.Global.Log.EN.TipoLog.Erro:
                    Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.NaoProcessado, mapArq.Arquivo, "Finaliza processamento de arquivo");
                    break;
                default:
                    Log.AtualizaArquivo<ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.ProcessadoOk, mapArq.Arquivo, "Finaliza processamento de arquivo");
                    break;
            }

            if (qtdCartoesErro > 0)
            {
                qtdCartoes = qtdCartoes - qtdCartoesErro;
                descErro = String.Format("Total de cartões com erro: {0}", qtdCartoesErro);
                this.InsereLog(mapArq, qtdCartoes, ENLog.TipoLog.Informação, descErro, string.Empty);
            }

            descErro = String.Format("Total de cartões identificados: {0}", qtdCartoes);
            this.InsereLog(mapArq, qtdCartoes, ENLog.TipoLog.Informação, descErro, string.Empty);
        }
예제 #2
0
        private void InsereCartoes(DataSet ds, int idArquivo, ENLog.TipoLog tpLog, ENLog.MapaArquivos mapArq, int qtdCartoes, int qtdCartoesErro)
        {
            List <ValidationResult> lstVr = null;
            var ptr   = new Portador();
            var ptrCn = new PortadorCN();

            int numLinha = 0;

            string descErro = string.Empty;


            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                try
                {
                    if (!String.IsNullOrEmpty(dr["CPF"].ToString()))
                    {
                        lstVr = ptr.Mapeia(dr, ptrCn.CriaMapaColuna(dr));
                        numLinha++;

                        if (lstVr.Count == 0)
                        {
                            lstVr = ptrCn.Valida(ptr);
                            if (lstVr.Count == 0)
                            {
                                qtdCartoes++;
                                ptr.Insere(idArquivo, numLinha);
                            }
                            else
                            {
                                qtdCartoesErro++;
                                tpLog = ENLog.TipoLog.Erro;
                                this.InsereLogErros(mapArq, tpLog, qtdCartoes, numLinha, lstVr);
                            }
                        }
                        else
                        {
                            tpLog = ENLog.TipoLog.Erro;
                            this.InsereLogErros(mapArq, tpLog, qtdCartoes, numLinha, lstVr);
                        }
                    }
                }

                catch (Exception)
                {
                    tpLog    = ENLog.TipoLog.Erro;
                    descErro = "Erro ao processar arquivo de Identificação Simplificada de Cartões";
                    this.InsereLog(mapArq, qtdCartoes, tpLog, descErro, string.Empty);
                }
            }

            switch (tpLog)
            {
            case upSight.Global.Log.EN.TipoLog.Erro:
                Log.AtualizaArquivo <ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.NaoProcessado, mapArq.Arquivo, "Finaliza processamento de arquivo");
                break;

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

            if (qtdCartoesErro > 0)
            {
                qtdCartoes = qtdCartoes - qtdCartoesErro;
                descErro   = String.Format("Total de cartões com erro: {0}", qtdCartoesErro);
                this.InsereLog(mapArq, qtdCartoes, ENLog.TipoLog.Informação, descErro, string.Empty);
            }

            descErro = String.Format("Total de cartões identificados: {0}", qtdCartoes);
            this.InsereLog(mapArq, qtdCartoes, ENLog.TipoLog.Informação, descErro, string.Empty);
        }