示例#1
0
        protected override void StartElement(string namespace1, string name, string name3, Hashtable attributes, bool hasInlineEnd)
        {
            strTempBuffer = new StringBuilder();

            if (name.Equals("SaldosCotaAberturaD0Bean"))
            {
                posicaoClienteInfo = new PosicaoClienteInfo();
            }
        }
示例#2
0
        /// <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);
        }
示例#3
0
        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();
            }
        }
示例#4
0
        /// <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);
        }