/// <summary> /// Mapeio os dados para geração do CRI tanto para identificação quanto para solicitação /// </summary> /// <param name="criEn"></param> public void CompoeCarga(CARD criEn, decimal Valor) { criEn.ACCOUNTID = "00"; criEn.ACTION = "2"; criEn.ADDRIND = "0"; criEn.COUNTRY = "076"; criEn.COUNTY = "SP"; criEn.INSTCODE = "ACS"; criEn.CURRCODE = "BRL"; criEn.INSTCODE = "ACS"; criEn.ISOLANG = "PT"; criEn.LANG = "6"; criEn.LOADTYPE = "1"; criEn.MAILSHOTS = ""; criEn.RECID = CriBaseCN.GeraRecID(); ADDDETLIST clsADDDETLIST = new ADDDETLIST(); clsADDDETLIST.ADDDET = new List <ADDDET>(); ADDDET clsADDDET = new ADDDET(); clsADDDET.REFCODE = "OPERATION"; clsADDDET.VALUE = "RECARGA"; clsADDDETLIST.ADDDET.Add(clsADDDET); criEn.ADDDETLIST = clsADDDETLIST; criEn.AMTLOAD = Valor.ToString(".00").Replace(".", "").Replace(",", "."); }
/// <summary> /// Mapeio os dados para geração do CRI tanto para identificação quanto para solicitação /// </summary> /// <param name="criEn"></param> public void CompoeCriEn(CARD criEn) { switch (criEn.STATCODE) { case "00": criEn.ACTION = "6"; break; case "09": criEn.ACTION = "1"; break; } criEn.INSTCODE = "ACS"; criEn.RENEW = "0"; criEn.ADDRIND = "0"; criEn.LOADTYPE = "1"; criEn.CURRCODE = "BRL"; criEn.MAILSHOTS = "1"; criEn.LANG = "6"; criEn.PRODUCEPIN = "1"; criEn.DLVMETHOD = "0"; criEn.ISOLANG = "PT"; criEn.ACCOUNTID = "00"; criEn.NEWACC = "1"; criEn.RECID = CriBaseCN.GeraRecID(); }
/// <summary> /// Mapeio os dados do detalhe do arquivo cri de carga /// </summary> /// <param name="dr"></param> /// <returns></returns> private static void MapeiaDetalheCard(SqlDataReader dr, CARD criEn, TpStatCode tpStatusCode) { criEn.CUSTPROFILE = dr["CUSTPROFILE"].ToString(); criEn.PROGRAMID = dr["PROGRAMID"].ToString(); criEn.BRNCODE = dr["BRNCODE"].ToString(); criEn.STATCODE = dr["StatCode"].ToString(); criEn.CRDPROFILE = dr["CRDPROFILE"].ToString(); switch (criEn.STATCODE) { case "00": criEn.PAN = Base.ObtemValorBD(dr["pan"]); break; case "09": criEn.DESIGNREF = Base.ObtemValorBD(dr["DesignRef"]); criEn.CRDPRODUCT = dr["CRDPRODUCT"].ToString(); break; default: break; } switch (tpStatusCode) { case TpStatCode.Carga: criEn.CRDPRODUCT = dr["CRDPRODUCT"].ToString(); break; } }
/// <summary> /// Obtem parâmetros para compor o CRI(CarProfile, CustomerProfile, BranchCode, ProgramId e StatCode) /// </summary> /// <param name="card"></param> public static CARD ObtemParametroCRI(TpStatCode tpParametro, int idProduto, int idArquivo) { using (SqlConnection cnx = new SqlConnection(upSight.Consulta.Base.BD.Conexao.StringConexaoBDGlobal)) { CARD criEn = null; try { string query = "[crtObtemParametroCri]"; using (SqlCommand cmd = new SqlCommand(query, cnx)) { cmd.CommandType = CommandType.StoredProcedure; var cmdParameter = cmd.Parameters; cmdParameter.Add("idProduto", SqlDbType.Int).Value = idProduto; cmdParameter.Add("idParametro", SqlDbType.Int).Value = Convert.ToInt32(tpParametro); cmdParameter.Add("idProcesso", SqlDbType.Int).Value = idArquivo; cnx.Open(); criEn = new CARD(); using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleRow)) { while (dr.Read()) { MapeiaDetalheCard(dr, criEn, tpParametro); } } } } catch (SqlException sqlExc) { if (Base.TS.TraceError) { Trace.TraceWarning("{0}: {1}", new object[] { "CRTPG.T.TSQL", sqlExc }); } } catch (Exception e) { if (Base.TS.TraceError) { Trace.TraceWarning("{0}: {1}", new object[] { "CRTPG.T.T", e }); } } finally { if (cnx.State == ConnectionState.Open) { cnx.Close(); } } return(criEn); } }
/// <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); }
/// <summary> /// Mapeio os dados para geração do CRI tanto para identificação quanto para solicitação /// </summary> /// <param name="criEn"></param> public void CompoeCriEn(CARD criEn) { switch (criEn.STATCODE) { case "00": criEn.ACTION = "6"; break; case "09": criEn.ACTION = "1"; break; } criEn.INSTCODE = "ACS"; criEn.RENEW = "0"; criEn.ADDRIND = "0"; criEn.LOADTYPE = "1"; criEn.CURRCODE = "BRL"; criEn.MAILSHOTS = "1"; criEn.LANG = "6"; criEn.PRODUCEPIN = "1"; criEn.DLVMETHOD = "0"; criEn.ISOLANG = "PT"; criEn.ACCOUNTID = "00"; criEn.NEWACC = "1"; criEn.RECID = CriBaseCN.GeraRecID(); }
/// <summary> /// Mapeio os dados para geração do CRI tanto para identificação quanto para solicitação /// </summary> /// <param name="criEn"></param> public void CompoeCarga(CARD criEn, decimal Valor) { criEn.ACCOUNTID = "00"; criEn.ACTION = "2"; criEn.ADDRIND = "0"; criEn.COUNTRY = "076"; criEn.COUNTY = "SP"; criEn.INSTCODE = "ACS"; criEn.CURRCODE = "BRL"; criEn.INSTCODE = "ACS"; criEn.ISOLANG = "PT"; criEn.LANG = "6"; criEn.LOADTYPE = "1"; criEn.MAILSHOTS = ""; criEn.RECID = CriBaseCN.GeraRecID(); ADDDETLIST clsADDDETLIST = new ADDDETLIST(); clsADDDETLIST.ADDDET = new List<ADDDET>(); ADDDET clsADDDET = new ADDDET(); clsADDDET.REFCODE = "OPERATION"; clsADDDET.VALUE = "RECARGA"; clsADDDETLIST.ADDDET.Add(clsADDDET); criEn.ADDDETLIST = clsADDDETLIST; criEn.AMTLOAD = Valor.ToString(".00").Replace(".", "").Replace(",", "."); }
/// <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; }
/// <summary> /// Mapeio os dados do detalhe do arquivo cri de carga /// </summary> /// <param name="dr"></param> /// <returns></returns> private static void MapeiaDetalheCard(SqlDataReader dr, CARD criEn, TpStatCode tpStatusCode) { criEn.CUSTPROFILE = dr["CUSTPROFILE"].ToString(); criEn.PROGRAMID = dr["PROGRAMID"].ToString(); criEn.BRNCODE = dr["BRNCODE"].ToString(); criEn.STATCODE = dr["StatCode"].ToString(); criEn.CRDPROFILE = dr["CRDPROFILE"].ToString(); switch (criEn.STATCODE) { case "00": criEn.PAN = Base.ObtemValorBD(dr["pan"]); break; case "09": criEn.DESIGNREF = Base.ObtemValorBD(dr["DesignRef"]); criEn.CRDPRODUCT = dr["CRDPRODUCT"].ToString(); break; default: break; } switch (tpStatusCode) { case TpStatCode.Carga: criEn.CRDPRODUCT = dr["CRDPRODUCT"].ToString(); break; } }
/// <summary> /// Obtem parâmetros para compor o CRI(CarProfile, CustomerProfile, BranchCode, ProgramId e StatCode) /// </summary> /// <param name="card"></param> public static CARD ObtemParametroCRI(TpStatCode tpParametro, int idProduto, int idArquivo) { using (SqlConnection cnx = new SqlConnection(upSight.Consulta.Base.BD.Conexao.StringConexaoBDGlobal)) { CARD criEn = null; try { string query = "[crtObtemParametroCri]"; using (SqlCommand cmd = new SqlCommand(query, cnx)) { cmd.CommandType = CommandType.StoredProcedure; var cmdParameter = cmd.Parameters; cmdParameter.Add("idProduto", SqlDbType.Int).Value = idProduto; cmdParameter.Add("idParametro", SqlDbType.Int).Value = Convert.ToInt32(tpParametro); cmdParameter.Add("idProcesso", SqlDbType.Int).Value = idArquivo; cnx.Open(); criEn = new CARD(); using (SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.SingleRow)) { while (dr.Read()) MapeiaDetalheCard(dr, criEn, tpParametro); } } } catch (SqlException sqlExc) { if (Base.TS.TraceError) Trace.TraceWarning("{0}: {1}", new object[] { "CRTPG.T.TSQL", sqlExc }); } catch (Exception e) { if (Base.TS.TraceError) Trace.TraceWarning("{0}: {1}", new object[] { "CRTPG.T.T", e }); } finally { if (cnx.State == ConnectionState.Open) cnx.Close(); } return criEn; } }