示例#1
0
        /// <summary>
        /// Compoe os dados para geraçõa de CRI de carga
        /// </summary>
        /// <param name="idArquivo"></param>
        private List <CARD> GeraListaDeCartoesParaCarga(int idArquivo)
        {
            List <CARD> lstCriEn = null;

            try
            {
                var prmCard = CriBD.ObtemCartoesCarga(idArquivo);

                lstCriEn = new List <CARD>();
                foreach (CriCartao crt in prmCard)
                {
                    var cargaPan = CriBD.ObtemParametroCRI(TpStatCode.Carga, crt.IdProduto, idArquivo);

                    this.CompoeCarga(cargaPan, crt.Valor);

                    CriBD.InsereCRICargaDet(idArquivo, cargaPan.RECID, upSight.CartaoCorp.EnumRetornoBase.TipoIdentificacao.PAN, crt.PanProxy, (upSight.CartaoCorp.EnumRetornoBase.StatusCartao)(Convert.ToByte(cargaPan.STATCODE)), crt.Valor);

                    lstCriEn.Add(cargaPan);
                }
            }
            catch (Exception e)
            {
                if (Base.TS.TraceError)
                {
                    Trace.TraceWarning("{0}: {1}", new object[] { "CRTCorp.CRI.CRICN", e });
                }
            }

            return(lstCriEn);
        }
示例#2
0
        /// <summary>
        /// Compoe os dados para geraçõa de CRI de solicitação
        /// </summary>
        /// <param name="idArquivo"></param>
        private List <CARD> GeraListaDeCartoesParaSolicitacao(int idArquivo)
        {
            List <CARD> lstCriEn = null;

            try
            {
                var prmCrg = CriBD.ObtemQuantidadeCartoesEmissao(idArquivo);
                var criEn  = CriBD.ObtemParametroCRI(TpStatCode.Solicitação, prmCrg.IdProduto, idArquivo);
                lstCriEn = new List <CARD>();
                for (int i = 0; i < prmCrg.Quantitade; i++)
                {
                    this.CompoeCriEn(criEn);
                    lstCriEn.Add(criEn);
                }
            }
            catch (Exception e)
            {
                if (Base.TS.TraceError)
                {
                    Trace.TraceWarning("{0}: {1}", new object[] { "CRTCorp.CRI.CRICN", e });
                }
            }

            return(lstCriEn);
        }
示例#3
0
        /// <summary>
        /// Gera o arquivio CRI de carga de cartões.
        /// </summary>
        /// <param name="idArquivo"></param>
        public void GeraArquivoCRIDeCarga(int idArquivo)
        {
            try
            {
                var lstCriEn = this.GeraListaDeCartoesParaCarga(idArquivo);
                var sw       = CriBaseCN.SerializaDados(lstCriEn);

                string nomeArquivoCompleto;
                //Serializo os dados e gero o arquivo
                string pathOrigem = String.Empty;
                CriBaseCN.GeraArquivoFisicoCRI(sw.ToString(), out nomeArquivoCompleto);

                string nomeArquivo = Path.GetFileName(nomeArquivoCompleto);

                var log = new CNLog.Logging();
                log.IdEntidade = 1;
                log.IdUsuario  = 1;
                this.Log       = log;

                var mapArq = new ENLog.MapaArquivos(nomeArquivo, ENLog.TipoArquivo.FISUkArquivoCRIGeracao, nomeArquivoCompleto);
                log.AtualizaArquivo <ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.EmProcessamento, nomeArquivoCompleto, "Inicia processamento de arquivo");
                //Insere serviço para processamento do arquivo de retorno
                CriBD.CriFinaliza(idArquivo, pathOrigem, nomeArquivo);
                this.InsereLog(mapArq);
                log.AtualizaArquivo <ENLog.MapaArquivos>(mapArq, ENLog.StatusProcessamentoArquivo.ProcessadoOk, nomeArquivoCompleto, "Finaliza processamento de arquivo");
            }
            catch (Exception e)
            {
                if (Base.TS.TraceError)
                {
                    Trace.TraceWarning("{0}: {1}", new object[] { "CRTCorp.CRI.CRICN", e });
                }
            }
        }
示例#4
0
        /// <summary>
        /// Gera o arquivio CRI de solicitação de cartões.
        /// </summary>
        /// <param name="idArquivo"></param>
        public void GeraArquivoCRIDeSolicitacao(int idArquivo)
        {
            try
            {
                var    lstCriEn   = this.GeraListaDeCartoesParaSolicitacao(idArquivo);
                var    sw         = CriBaseCN.SerializaDados(lstCriEn);
                string pathOrigem = String.Empty;
                CriBaseCN.GeraArquivoFisicoCRI(sw.ToString(), out pathOrigem);

                CriBD.CriFinaliza(idArquivo, pathOrigem, Path.GetFileName(pathOrigem));
            }
            catch (Exception e)
            {
                if (Base.TS.TraceError)
                {
                    Trace.TraceWarning("{0}: {1}", new object[] { "CRTCorp.CRI.CRICN", e });
                }
            }
        }
示例#5
0
        /// <summary>
        /// Gera os cartões a serem identificados
        /// </summary>
        /// <param name="cartao"></param>
        /// <returns></returns>
        public static CARD CompoeDadosIdentificacaoSimplifCrtCRI(CriCartao crt, int idArquivo, TpStatCode tpStateCode)
        {
            CARD card = new CARD();

            CriCN criCn = new CriCN();

            var criEn = CriBD.ObtemParametroCRI(tpStateCode, crt.IdProduto, idArquivo);

            criCn.CompoeCriEn(criEn);

            //Registro cada item do arquivo(CPF e RECID)
            CriBD.InsereCRIIdentificacaoDet(idArquivo, crt.Cpf, card.RECID, (crt.PanProxy.Length > 16) ? CriBaseCN.TipoIdentificacao.PROXY : CriBaseCN.TipoIdentificacao.PAN, crt.PanProxy, (CriBaseCN.StatusCartao)Convert.ToByte(card.STATCODE));


            var nomeAbreviado = WebServiceBLL.AbreviadorNome(WebCommom.Adapter.TextHelper.TrataTexto(crt.Nome)).Split(new char[] { ' ' }, 2);

            card.LASTNAME  = nomeAbreviado.Last();
            card.FIRSTNAME = nomeAbreviado.First();
            card.DOB       = (crt.DtNascimento.HasValue) ? crt.DtNascimento.Value.ToString("yyyy-MM-dd") : String.Empty;

            ADDDETLIST addetList = new ADDDETLIST();

            addetList.ADDDET = new List <ADDDET>();

            ADDDET addet = new ADDDET();

            addet.REFCODE = "ACS_CPF";
            addet.VALUE   = crt.Cpf;
            addetList.ADDDET.Add(addet);


            List <String> NomeMae = crt.NomeMae.ToUpper().Split(' ').ToList();

            addet         = new ADDDET();
            addet.REFCODE = "MOTHER_NAME";
            addet.VALUE   = WebCommom.Adapter.TextHelper.TrataTexto((NomeMae.Count >= 2) ? NomeMae.First() + " " + NomeMae.Last() : NomeMae.First());
            addetList.ADDDET.Add(addet);
            card.ADDDETLIST = addetList;

            return(card);
        }