protected override void StartElement(string namespace1, string name, string name3, Hashtable attributes, bool hasInlineEnd) { strTempBuffer = new StringBuilder(); if (name.Equals("SaldosCotaAberturaD0Bean")) { posicaoClienteInfo = new PosicaoClienteInfo(); } }
/// <summary> /// /// </summary> /// <param name="fundo"></param> /// <returns></returns> public bool AtualizarPosicaoCotista(PosicaoClienteInfo fundo) { SqlConnection conn = null; try { conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ClubesFundos"].ConnectionString); conn.Open(); SqlCommand sqlCmd = new SqlCommand("prc_atualiza_posicao_cotista", conn); sqlCmd.CommandType = System.Data.CommandType.StoredProcedure; sqlCmd.Parameters.Add(new SqlParameter("@idMovimento", fundo.IDMovimento)); sqlCmd.Parameters.Add(new SqlParameter("@idProcessamento", fundo.IDProcessamento)); sqlCmd.Parameters.Add(new SqlParameter("@dsCpfCnpj", fundo.CPFCNPJ)); sqlCmd.Parameters.Add(new SqlParameter("@agencia", fundo.Agencia)); sqlCmd.Parameters.Add(new SqlParameter("@conta", fundo.Conta)); sqlCmd.Parameters.Add(new SqlParameter("@idCotista", fundo.IDCotista)); sqlCmd.Parameters.Add(new SqlParameter("@idFundo", fundo.IDFundo)); sqlCmd.Parameters.Add(new SqlParameter("@quantidadeCotas", fundo.QtdeCotas)); sqlCmd.Parameters.Add(new SqlParameter("@valorCota", fundo.ValorCota)); sqlCmd.Parameters.Add(new SqlParameter("@valorBruto", fundo.ValorBruto)); sqlCmd.Parameters.Add(new SqlParameter("@valorIR", fundo.ValorIR)); sqlCmd.Parameters.Add(new SqlParameter("@valorIOF", fundo.ValorIOF)); sqlCmd.Parameters.Add(new SqlParameter("@valorLiquido", fundo.ValorLiquido)); sqlCmd.Parameters.Add(new SqlParameter("@dtReferencia", fundo.DataReferencia)); sqlCmd.Parameters.Add(new SqlParameter("@dtProcessamento", fundo.DataProcessamento)); sqlCmd.Parameters.Add(new SqlParameter("@DigitoConta", fundo.DigitoConta)); sqlCmd.Parameters.Add(new SqlParameter("@Subconta", fundo.SubConta)); sqlCmd.Parameters.Add(new SqlParameter("@Banco", fundo.BancoCli)); sqlCmd.ExecuteNonQuery(); conn.Close(); } catch (Exception ex) { logger.Error("AtualizarPosicaoCotista():" + ex.Message, ex); if (conn != null && conn.State == ConnectionState.Open) { conn.Close(); } return(false); } return(true); }
protected override void EndElement(string param1, string param2, string param3) { if (posicaoClienteInfo != null) { switch (param2) { case "SaldosCotaAberturaD0Bean": { posicaoClienteInfo.IDCotistaItau = posicaoClienteInfo.Agencia + posicaoClienteInfo.Conta + posicaoClienteInfo.DigitoConta; lstPosicaoCliente.Add(posicaoClienteInfo); posicaoClienteInfo = null; } break; case "CDBANC": posicaoClienteInfo.BancoFundo = strTempBuffer.ToString(); break; case "CDFDO": posicaoClienteInfo.CodFundo = strTempBuffer.ToString(); break; case "CDBANCLI": posicaoClienteInfo.BancoCli = strTempBuffer.ToString(); break; case "AGENCIA": posicaoClienteInfo.Agencia = strTempBuffer.ToString(); break; case "CDCTA": posicaoClienteInfo.Conta = strTempBuffer.ToString(); break; case "DAC10": posicaoClienteInfo.DigitoConta = strTempBuffer.ToString(); break; case "SUBCONT": posicaoClienteInfo.SubConta = strTempBuffer.ToString(); break; case "DTLANCT": break; case "LANMOV": break; case "IDTIPREG": posicaoClienteInfo.IDTipoReg = strTempBuffer.ToString(); break; case "CDAPL": break; case "DTAPROCE": posicaoClienteInfo.DataProcessamento = DateTime.ParseExact(strTempBuffer.ToString() + "000000", "yyyyMMddHHmmss", CultureInfo.InvariantCulture); break; case "VLCOTAP": break; case "VLORAP": break; case "VLUFIRAP": break; case "QTCOTPAT": posicaoClienteInfo.QtdeCotas = strTempBuffer.ToString().ToDecimal(5); break; case "QTUFIR": break; case "DTACOTA": posicaoClienteInfo.DataReferencia = DateTime.ParseExact(strTempBuffer.ToString() + "000000", "yyyyMMddHHmmss", CultureInfo.InvariantCulture); break; case "VLRCOT": posicaoClienteInfo.ValorCota = strTempBuffer.ToString().ToDecimal(7); break; case "VLPATBRU": posicaoClienteInfo.ValorBruto = strTempBuffer.ToString().ToDecimal(2); break; case "VLIRRF": posicaoClienteInfo.ValorIR = strTempBuffer.ToString().ToDecimal(2); break; case "VLRIOF": posicaoClienteInfo.ValorIOF = strTempBuffer.ToString().ToDecimal(2); break; case "VLTXPRF": break; case "VALTXSAI": break; case "VLPATLIQ": posicaoClienteInfo.ValorLiquido = strTempBuffer.ToString().ToDecimal(2); break; case "LUCRPRE": break; case "DEBCRE": break; case "DTVCAR": break; case "DTULTRIB": break; case "VLCOTRIB": break; case "VLIOFUTB": break; case "QTCOTDIA": break; case "DTAULTAN": break; case "VLCOTUAN": break; case "DTPXANI": break; case "SDOPREJ": break; case "INDACAPL": break; case "INDACRSG": break; case "MTBLQ": break; case "VLRNDAPL": break; case "RDIOFPAT": break; case "RDIRFPAT": break; case "VLIRCCAC": break; case "VRNDCCAC": break; default: break; } strTempBuffer.Clear(); } }
/// <summary> /// Retornar o conteudo da tabela tbClientePosicao /// </summary> /// <returns></returns> public List <PosicaoClienteInfo> ObterPosicaoCotistas() { List <PosicaoClienteInfo> ret = new List <PosicaoClienteInfo>(); SqlConnection conn = null; try { conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ClubesFundos"].ConnectionString); conn.Open(); SqlDataAdapter lAdapter; DataSet dtSet = new DataSet(); SqlCommand sqlCmd = new SqlCommand("prc_sel_posicao_cotistas", conn); sqlCmd.CommandType = System.Data.CommandType.StoredProcedure; sqlCmd.Connection = conn; lAdapter = new SqlDataAdapter(sqlCmd); lAdapter.Fill(dtSet); for (int i = 0; i < dtSet.Tables[0].Rows.Count; i++) { DataRow lRow = dtSet.Tables[0].Rows[i]; PosicaoClienteInfo info = new PosicaoClienteInfo(); info.Agencia = lRow["Agencia"].ToString(); info.BancoCli = lRow["Banco"].ToString(); info.Conta = lRow["Conta"].ToString(); info.CPFCNPJ = lRow["dsCpfCnpj"].ToString(); info.DataProcessamento = lRow["dtProcessamento"].DBToDateTime(); info.DataReferencia = lRow["dtReferencia"].DBToDateTime(); info.DigitoConta = lRow["DigitoConta"].ToString(); info.IDCotista = lRow["idCotista"].ToString(); info.IDFundo = lRow["idFundo"].DBToInt32(); info.IDMovimento = lRow["idMovimento"].DBToInt32(); info.IDProcessamento = lRow["idProcessamento"].DBToInt32(); info.QtdeCotas = lRow["quantidadeCotas"].DBToDecimal(); info.ValorBruto = lRow["valorBruto"].DBToDecimal(); info.ValorCota = lRow["valorCota"].DBToDecimal(); info.ValorIR = lRow["valorIR"].DBToDecimal(); info.ValorIOF = lRow["valorIOF"].DBToDecimal(); info.ValorLiquido = lRow["valorLiquido"].DBToDecimal(); ret.Add(info); } logger.Debug("Obteve posicao de cotistas com [" + dtSet.Tables[0].Rows.Count + "] itens"); } catch (Exception ex) { logger.Error("ObterPosicaoCotistas(): " + ex.Message, ex); } finally { if (conn != null && conn.State == ConnectionState.Open) { conn.Close(); } } return(ret); }