/// <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> /// 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> /// 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; } }