Пример #1
0
        public AplicacaoResgateInfo SelecionaCodigoClienteFundo(string pCodigoBanco, string pCodigoAgencia, string pCodigoConta)
        {
            AplicacaoResgateInfo lRetorno = new AplicacaoResgateInfo();

            try
            {
                using (AcessaDados lAcessaDados = new AcessaDados())
                {
                    lAcessaDados.Conexao = new Conexao();
                    lAcessaDados.ConnectionStringName = "PlataformaInviXX";

                    using (DbCommand lCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_CLIENTE_FUNDO_COD_SEL"))
                    {
                        lAcessaDados.AddInParameter(lCommand, "@codigoBanco", DbType.String, pCodigoBanco);
                        lAcessaDados.AddInParameter(lCommand, "@codigoAgencia", DbType.String, pCodigoAgencia);
                        lAcessaDados.AddInParameter(lCommand, "@codigoConta", DbType.String, pCodigoConta);

                        DataTable dt = lAcessaDados.ExecuteDbDataTable(lCommand);

                        if (dt.Rows.Count > 0)
                        {
                            DataRow row = dt.Rows[0];
                            lRetorno.CodigoCliente      = int.Parse(row["CodCliente"].ToString());
                            lRetorno.CodigoInternoFundo = int.Parse(row["idProduto"].ToString());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                gLogger.ErrorFormat("Erro encontrado no método SelecionaCodigoClienteFundo = [{0}]", ex.StackTrace);
            }

            return(lRetorno);
        }
Пример #2
0
        public void AtualizaAplicacaoResgateMovimento(AplicacaoResgateInfo pInfo)
        {
            try
            {
                using (AcessaDados lAcessaDados = new AcessaDados())
                {
                    lAcessaDados.Conexao = new Conexao();
                    lAcessaDados.ConnectionStringName = "PlataformaInviXX";

                    using (DbCommand lCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_MOVIMENTO_APLICACAO_RESGATE_UPD"))
                    {
                        lAcessaDados.AddInParameter(lCommand, "@idTipoOperacao", DbType.Int32, pInfo.TipoMovimento);
                        lAcessaDados.AddInParameter(lCommand, "@idCliente", DbType.Int32, pInfo.CodigoCliente);
                        lAcessaDados.AddInParameter(lCommand, "@idProduto", DbType.Int32, pInfo.CodigoInternoFundo);
                        lAcessaDados.AddInParameter(lCommand, "@vlSolicitado", DbType.Decimal, pInfo.VlrBrutoMovimento);
                        lAcessaDados.AddInParameter(lCommand, "@dtInclusao", DbType.DateTime, pInfo.DtInclusao);
                        lAcessaDados.AddInParameter(lCommand, "@stAprovado", DbType.String, pInfo.StAprovado);
                        lAcessaDados.AddInParameter(lCommand, "@idStatusMovimento", DbType.Int32, pInfo.StatusMovimento);

                        lAcessaDados.ExecuteNonQuery(lCommand);
                    }
                }
            }
            catch (Exception ex)
            {
                gLogger.Error("Erro encontrado no método AtualizaAplicacaoResgateMovimento", ex);
            }
        }
Пример #3
0
        public List <AplicacaoResgateInfo> SelecionaAplicacaoResgateParaEnvio()
        {
            List <AplicacaoResgateInfo> lRetorno = new List <AplicacaoResgateInfo>();

            try
            {
                using (AcessaDados lAcessaDados = new AcessaDados())
                {
                    lAcessaDados.Conexao = new Conexao();
                    lAcessaDados.ConnectionStringName = "PlataformaInviXX";

                    using (DbCommand lCommand = lAcessaDados.CreateCommand(CommandType.Text, "PRC_RESGATE_APLICACAO_PROGRAMADA_EFETUAR_SEL"))
                    {
                        DataTable dt = lAcessaDados.ExecuteDbDataTable(lCommand);

                        if (dt != null && dt.Rows.Count > 0)
                        {
                            foreach (DataRow row in dt.Rows)
                            {
                                AplicacaoResgateInfo info = new AplicacaoResgateInfo();

                                string CodigoCotistaItau = string.Empty;

                                if (row["CodigoCotistaItau"] != null)
                                {
                                    CodigoCotistaItau = row["CodigoCotistaItau"].ToString();
                                }

                                info.CodigoCarteira       = int.Parse(row["codAnbima"].ToString());
                                info.CodigoAgencia        = CodigoCotistaItau.Substring(0, 4);
                                info.CodigoConta          = CodigoCotistaItau.Substring(4, 7).PadLeft(9, '0');
                                info.DigitoConferencia    = CodigoCotistaItau.Substring(11, 1);
                                info.CodigoCliente        = int.Parse(row["idcliente"].ToString());
                                info.CodigoSubConta       = " ";
                                info.VlrLiquidoSolicitado = decimal.Parse(row["vlsolicitado"].ToString(), gCultura);
                                info.TipoMovimento        = row["idTipoOperacao"].ToString() == "1" ? "030" : "105";
                                info.ContaCredito         = SelecionaContaCreditoResgate(int.Parse(row["idcliente"].ToString()));
                                info.CodigoInternoFundo   = int.Parse(row["idproduto"].ToString());
                                info.DataLancamento       = Convert.ToDateTime(row["dtInclusao"]).ToString("ddMMyyyy");
                                info.DataInclusao         = Convert.ToDateTime(row["dtInclusao"]).ToString("ddMMyyyy");
                                info.DtInclusao           = Convert.ToDateTime(row["dtInclusao"]);
                                info.CodigoFundoItau      = row["CodigoFundoItau"].ToString();
                                info.CodigoInternoFundo   = int.Parse(row["idproduto"].ToString());

                                //Preenchimento para uso da financial
                                info.QtdeCotasMovimento           = "0";
                                info.VlrCotacaoMovimento          = 0.0M;
                                info.VlrBrutoMovimento            = Convert.ToDecimal(row["vlsolicitado"].ToString(), gCultura);
                                info.VlrLiquidoCalculadoMovimento = 0.0M;
                                info.VlrIRMovimento           = 0.0M;
                                info.VlrIOFMovimento          = 0.0M;
                                info.VlrTaxaPerfomance        = 0.0M;
                                info.VlrTaxaResgateAntecipado = 0.0M;
                                info.DataProcessamento        = Convert.ToDateTime(row["dtInclusao"]).ToString("dd/MM/yyyy");
                                lRetorno.Add(info);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                gLogger.ErrorFormat("Erro encontrado no método SelecionaCodigoFundo = [{0}]", ex.StackTrace);
            }

            return(lRetorno);
        }
Пример #4
0
        public List <AplicacaoResgateInfo> SelecionaAplicacaoResgateParaEnvio(int Codigo)
        {
            var lRetorno = new List <AplicacaoResgateInfo>();

            try
            {
                using (AcessaDados lAcessaDados = new AcessaDados())
                {
                    lAcessaDados.Conexao = new Conexao();
                    lAcessaDados.ConnectionStringName = "PlataformaInviXX";

                    using (DbCommand lCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_RESG_APLIC_SERVICO_CLIENTE_SEL"))
                    {
                        //lAcessaDados.AddInParameter(lCommand, "@cd_cliente", DbType.Int32, Codigo);

                        DataTable dt = lAcessaDados.ExecuteDbDataTable(lCommand);

                        if (dt != null && dt.Rows.Count > 0)
                        {
                            foreach (DataRow row in dt.Rows)
                            {
                                var info = new AplicacaoResgateInfo();

                                info.NomeCliente        = row["ds_nome"].ToString();
                                info.NomeFundo          = row["dsNomeProduto"].ToString();
                                info.EhResgateTotal     = row["stResgateTotal"].DBToBoolean();
                                info.DtAgendamento      = row["dtAgendamento"].DBToDateTime();
                                info.TipoMovimento      = row["idTipoOperacao"].ToString() == "1" ? "030" : "105";
                                info.CodigoInternoFundo = int.Parse(row["idproduto"].ToString());
                                info.DsDiasPagResgate   = row["DsDiasPagResgate"].ToString();

                                if (row["CodigoFundoItau"] != null)
                                {
                                    info.CodigoFundoItau = row["CodigoFundoItau"].DBToString();
                                    info.EhFundoItau     = true;
                                }
                                else
                                {
                                    info.EhFundoItau = false;
                                }
                                info.CodigoCarteira       = int.Parse(row["codAnbima"].ToString());
                                info.CodigoCliente        = int.Parse(row["idcliente"].ToString());
                                info.VlrLiquidoSolicitado = decimal.Parse(row["vlsolicitado"].ToString());
                                info.DataLancamento       = row["dtAgendamento"].DBToDateTime().ToString("ddMMyyyy");
                                info.DataInclusao         = row["dtInclusao"].DBToDateTime().ToString("ddMMyyyy");
                                info.DtInclusao           = row["dtInclusao"].DBToDateTime();

                                //Preenchimento para uso da financial
                                info.QtdeCotasMovimento           = "0";
                                info.VlrCotacaoMovimento          = 0.0M;
                                info.VlrBrutoMovimento            = Convert.ToDecimal(row["vlsolicitado"].ToString());
                                info.VlrLiquidoCalculadoMovimento = 0.0M;
                                info.VlrIRMovimento           = 0.0M;
                                info.VlrIOFMovimento          = 0.0M;
                                info.VlrTaxaPerfomance        = 0.0M;
                                info.VlrTaxaResgateAntecipado = 0.0M;
                                info.DataProcessamento        = Convert.ToDateTime(row["dtInclusao"]).ToString("dd/MM/yyyy");

                                lRetorno.Add(info);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                gLogger.ErrorFormat("Erro encontrado no método SelecionaCodigoFundo = [{0}]", ex.StackTrace);
            }

            return(lRetorno);
        }
Пример #5
0
        private void EnviarEmailTesourariaControladoria(AplicacaoResgateInfo info)
        {
            try
            {
                var           lAtivador      = Ativador.Get <IServicoEmail>();
                List <string> lDestinatarios = new List <string>();

                if (info.EhFundoItau)
                {
                    lDestinatarios.Add(ConfigurationManager.AppSettings["EmailMovimentacao"].ToString());
                    lDestinatarios.Add(ConfigurationManager.AppSettings["EmailTesouraria"].ToString());
                }
                else
                {
                    lDestinatarios.Add(ConfigurationManager.AppSettings["EmailMovimentacaoWM"].ToString());
                }

                string lNomeArquivo        = "AvisoAplicacaoResgate.htm";
                string lPath               = ConfigurationManager.AppSettings["ArquivosEmail"].ToString();
                string lCaminho            = Path.Combine(lPath, lNomeArquivo);
                string lCorpoEmail         = File.ReadAllText(lCaminho);
                string lArquivoConcatenado = lCorpoEmail;

                var lVariaveis = new Dictionary <string, string>();

                string lAssunto = string.Empty;

                if (info.TipoMovimento == "1")
                {
                    lAssunto = "Aplicação Efetuada - Cliente: " + info.CodigoCliente + " no Fundo " + info.NomeFundo;

                    lVariaveis.Add("##NomeCliente##", info.NomeCliente);

                    lVariaveis.Add("##CodigoCliente##", info.CodigoCliente.ToString());

                    lVariaveis.Add("##NomeFundo##", info.NomeFundo);

                    lVariaveis.Add("##ValorSolicitado##", info.VlrBrutoMovimento.ToString("N2", gCultura));

                    lVariaveis.Add("##Data##", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));

                    lVariaveis.Add("##Operacao##", "Aplicação");

                    lVariaveis.Add("##TotalParcial##", "-");

                    lVariaveis.Add("##DataLiquidacao##", "n\\d");
                }
                else
                {
                    lAssunto = "Resgate solicitado - Cliente: " + info.CodigoCliente + " no Fundo " + info.NomeFundo;

                    lVariaveis.Add("##NomeCliente##", info.NomeCliente);

                    lVariaveis.Add("##CodigoCliente##", info.CodigoCliente.ToString());

                    lVariaveis.Add("##NomeFundo##", info.NomeFundo);

                    lVariaveis.Add("##ValorSolicitado##", info.VlrBrutoMovimento.ToString("N2"));

                    lVariaveis.Add("##Data##", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));

                    lVariaveis.Add("##Operacao##", "Resgate");

                    lVariaveis.Add("##TotalParcial##", info.EhResgateTotal ? "Resgate Total" : "Resgate Parcial");

                    lVariaveis.Add("##DataLiquidacao##", info.DsDiasPagResgate);
                }

                foreach (KeyValuePair <string, string> lItem in lVariaveis)
                {
                    gLogger.InfoFormat("PaginaBase.EnviarEmail: Arquivo [{0}], Substituindo [{1}] por [{2}]...", lCaminho, lItem.Key, lItem.Value);

                    lArquivoConcatenado = lArquivoConcatenado.Replace(lItem.Key, lItem.Value);
                }

                lCorpoEmail = lArquivoConcatenado;

                var lEmailEntrada = new EnviarEmailRequest();
                lEmailEntrada.Objeto               = new EmailInfo();
                lEmailEntrada.Objeto.Assunto       = lAssunto;
                lEmailEntrada.Objeto.Destinatarios = lDestinatarios;
                lEmailEntrada.Objeto.Remetente     = ConfigurationManager.AppSettings["EmailRemetenteGradual"].ToString();
                lEmailEntrada.Objeto.CorpoMensagem = lCorpoEmail;

                EnviarEmailResponse lEmailRetorno = lAtivador.Enviar(lEmailEntrada);

                if (lEmailRetorno.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    gLogger.InfoFormat("E-mail enviado com sucesso...Assunto - [{0}] - Corpo - ", lAssunto, lCorpoEmail);
                }
                else
                {
                    gLogger.ErrorFormat("O e-mail não foi enviado - Erro - [{0}]", lEmailRetorno.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                gLogger.Error("Erro ao enviar e-mail- ", ex);
            }
        }
Пример #6
0
        public void ThreadMonitorAplicacaoResgate(object sender, bool signed)
        {
            try
            {
                var lDb = new ImportacaoItauDbLib();

                DateTime lNow = DateTime.Now;

                gLogger.InfoFormat("Verificando STATUS de Aplicação/Resgates.");

                //List<AplicacaoResgateInfo> lListaAplicacaoResgate = CarregaMonitorAplicacaoResgaste();
                List <AplicacaoResgateInfo> lListaAplicacaoResgate = lDb.SelecionaAplicacaoResgateParaEnvio(123);

                if (lListaAplicacaoResgate.Count > 0)
                {
                    gLogger.InfoFormat("Foram encontradas o STATUS  [{0}] de Aplicação/Resgates.", lListaAplicacaoResgate.Count);
                }
                else
                {
                    gLogger.InfoFormat("NÃO FORAM encontradas Aplicação/Resgates.");
                }


                foreach (AplicacaoResgateInfo info in lListaAplicacaoResgate)
                {
                    //AplicacaoResgateInfo linfoTmp = lDb.SelecionaCodigoClienteFundo(info.CodigoBancoCliente, info.CodigoAgencia, info.CodigoConta);

                    //if (linfoTmp.CodigoInternoFundo == 0)
                    //{
                    //    gLogger.InfoFormat("Cliente não encontrato na tabela tbClientePosicaoFundos! Dados bancários: Banco [{0}], Agencia [{1}], Conta [{2}] Codigo Itaú FUNDO [{3}]", info.CodigoBancoCliente, info.CodigoAgencia, info.CodigoConta, info.CodigoFundoItau);
                    //    continue;
                    //}

                    //info.CodigoInternoFundo = linfoTmp.CodigoInternoFundo;

                    //info.CodigoCliente = linfoTmp.CodigoCliente;

                    StatusOperacaoEnum lTipoOperacao = StatusOperacaoEnum.SOLICITADO;

                    AplicacaoResgateInfo infoSalvar = new AplicacaoResgateInfo();

                    infoSalvar = info;

                    switch (info.TipoMovimento)
                    {
                    case TabelaOperacoesInfo.ESTORNOAPLICAAO_OPERACAOINTERNA:
                    case TabelaOperacoesInfo.ESTORNOAPLICACAO:
                    case TabelaOperacoesInfo.CANCELAMENTOAPLICACAO:
                        lTipoOperacao = StatusOperacaoEnum.CANCELADO;

                        break;

                    case TabelaOperacoesInfo.APLICACAO:
                    case TabelaOperacoesInfo.APLICAAOOPERACAOINTERNA:
                        lTipoOperacao = StatusOperacaoEnum.EXECUTADO;
                        break;

                    case TabelaOperacoesInfo.ESTORNORESGATE:
                        lTipoOperacao = StatusOperacaoEnum.CANCELADO;
                        break;

                    case TabelaOperacoesInfo.CANCELAMENTORESGATE:
                        lTipoOperacao = StatusOperacaoEnum.CANCELADO;
                        break;

                    case TabelaOperacoesInfo.RESGATE_OPERACAOINTERNA:
                        lTipoOperacao = StatusOperacaoEnum.EXECUTADO;
                        break;

                    case TabelaOperacoesInfo.RESGATETOTALCOTA:
                    case TabelaOperacoesInfo.RESGATE:
                        lTipoOperacao = StatusOperacaoEnum.EXECUTADO;
                        break;

                    case TabelaOperacoesInfo.RESGATETOTAL_OPERACAOINTERNA:
                        lTipoOperacao = StatusOperacaoEnum.EXECUTADO;
                        break;

                    case TabelaOperacoesInfo.RESGATETOTAL:
                        lTipoOperacao = StatusOperacaoEnum.EXECUTADO;
                        break;
                    }

                    if (lTipoOperacao == StatusOperacaoEnum.EXECUTADO)
                    {
                        infoSalvar.StAprovado = "S";
                    }
                    else
                    {
                        infoSalvar.StAprovado = "N";
                    }

                    infoSalvar.StatusMovimento = (int)lTipoOperacao;

                    infoSalvar.DtInclusao = Convert.ToDateTime(info.DataLancamento.Substring(0, 2) + "/" +
                                                               info.DataLancamento.Substring(2, 2) + "/" +
                                                               info.DataLancamento.Substring(4, 4), gCultura);

                    gLogger.InfoFormat("****Atualizando operações de aplicação e resgate********");
                    gLogger.InfoFormat("********************Tipo Movimento      : [{0}]", info.TipoMovimento);
                    gLogger.InfoFormat("********************CodigoCliente       : [{0}]", info.CodigoCliente);
                    gLogger.InfoFormat("********************Codigo Interno Fundo: [{0}]", info.CodigoInternoFundo);
                    gLogger.InfoFormat("********************VlrLiquidoSolicitado: [{0}]", info.VlrLiquidoSolicitado.ToString("N2", gCultura));
                    gLogger.InfoFormat("********************VlrBrutoMovimento   : [{0}]", info.VlrBrutoMovimento.ToString("N2", gCultura));
                    gLogger.InfoFormat("********************DtInclusao          : [{0}]", info.DtInclusao);
                    gLogger.InfoFormat("********************StAprovado          : [{0}]", info.StAprovado);
                    gLogger.InfoFormat("********************StatusMovimento     : [{0}]", info.StatusMovimento);
                    gLogger.InfoFormat("********************************************************");

                    infoSalvar.TipoMovimento = infoSalvar.TipoMovimento == "030" ? "1" : "2";

                    lDb.AtualizaAplicacaoResgateMovimento(infoSalvar);

                    string lAssunto = string.Empty;

                    this.EnviarEmailTesourariaControladoria(info);
                }
            }
            catch (Exception ex)
            {
                gLogger.Error("Ocorreu um erro ao acessar o método ThreadMonitorAplicacaoResgate:", ex);
            }
        }
Пример #7
0
        public void ExportaMovimentoParaFinancial(AplicacaoResgateInfo pOperacao)
        {
            try
            {
                //gLogger.InfoFormat("");

                OperacaoCotista.OperacaoCotistaWSSoapClient lServico = new OperacaoCotista.OperacaoCotistaWSSoapClient();

                OperacaoCotista.ValidateLogin lLogin = new OperacaoCotista.ValidateLogin();

                lLogin.Username = UsuarioFinancial;
                lLogin.Password = SenhaFinancial;

                /* TipoOperacao
                 * 1 – Aplicação
                 * 2 – Resgate Bruto
                 * 3 – Resgate Bruto
                 * 4 – Resgate em Cotas
                 * 5 – Resgate Total
                 */

                /* Tipo Resgate
                 * 2 - Fifo
                 * 3 - Lifo
                 * 4 - Menor Imposto
                 * Em branco = Aplicação
                 */

                byte   lTipoOperacao       = 0;
                byte   lTipoResgate        = 0;
                string lTipoOperacaoString = "APLICACAO";

                switch (pOperacao.TipoMovimento)
                {
                //case TabelaOperacoesInfo.ESTORNOAPLICAAO_OPERACAOINTERNA:
                //case TabelaOperacoesInfo.ESTORNOAPLICACAO:
                //case TabelaOperacoesInfo.CANCELAMENTOAPLICACAO:
                //    return;
                //break;
                case TabelaOperacoesInfo.APLICACAO:
                case TabelaOperacoesInfo.APLICAAOOPERACAOINTERNA:
                    lTipoOperacao = 1;
                    break;

                //case TabelaOperacoesInfo.ESTORNORESGATE:
                //    return;
                //break;
                //case TabelaOperacoesInfo.CANCELAMENTORESGATE:
                //    return;
                //break;
                case TabelaOperacoesInfo.RESGATE_OPERACAOINTERNA:
                    lTipoOperacao       = 2;
                    lTipoResgate        = 2;
                    lTipoOperacaoString = "RESGATE";
                    break;

                case TabelaOperacoesInfo.RESGATETOTALCOTA:
                case TabelaOperacoesInfo.RESGATE:
                    lTipoOperacao       = 4;
                    lTipoResgate        = 2;
                    lTipoOperacaoString = "RESGATE";
                    break;

                case TabelaOperacoesInfo.RESGATETOTAL_OPERACAOINTERNA:
                    lTipoOperacao       = 5;
                    lTipoResgate        = 2;
                    lTipoOperacaoString = "RESGATE";
                    break;

                case TabelaOperacoesInfo.RESGATETOTAL:
                    lTipoOperacao       = 5;
                    lTipoResgate        = 2;
                    lTipoOperacaoString = "RESGATE";
                    break;
                }

                if (lTipoOperacao == 0)
                {
                    return;
                }

                gLogger.InfoFormat("Exportando operação de [{0}] do cliente [{1}], Carteira [{2}], Cotas[{3}], Valor Liquido Calculado [{4}]",
                                   lTipoOperacaoString,
                                   pOperacao.CodigoCliente,
                                   pOperacao.CodigoCarteira,
                                   decimal.Parse(pOperacao.QtdeCotasMovimento, gCultura),
                                   pOperacao.VlrLiquidoCalculadoMovimento
                                   );

                OperacaoCotista.OperacaoCotistaViewModel lRetorno = lServico.Importa(lLogin,
                                                                                     pOperacao.CodigoCliente,
                                                                                     pOperacao.CodigoCarteira,
                                                                                     DateTime.Parse(pOperacao.DataProcessamento),
                                                                                     null,
                                                                                     null,
                                                                                     lTipoOperacao,
                                                                                     lTipoResgate,
                                                                                     decimal.Parse(pOperacao.QtdeCotasMovimento, gCultura),
                                                                                     pOperacao.VlrCotacaoMovimento,
                                                                                     pOperacao.VlrBrutoMovimento,
                                                                                     pOperacao.VlrLiquidoCalculadoMovimento,
                                                                                     pOperacao.VlrIRMovimento,
                                                                                     pOperacao.VlrIOFMovimento,
                                                                                     pOperacao.VlrTaxaPerfomance,
                                                                                     pOperacao.VlrTaxaResgateAntecipado
                                                                                     );

                ImportacaoItauDbLib lDb = new ImportacaoItauDbLib();

                pOperacao.IdOperacaoFinancial = lRetorno.IdOperacao;

                pOperacao.StatusMovimento = 3;

                switch (pOperacao.TipoMovimento)
                {
                case "105":
                    pOperacao.TipoMovimento = "2";
                    break;

                default:
                    pOperacao.TipoMovimento = "1";
                    break;
                }

                lDb.AtualizaAplicacaoResgateEmProcessamento(pOperacao);
            }
            catch (Exception ex)
            {
                gLogger.Error("Ocorreu um erro ao acessar o método ExportaMovimentoParaFinancial:" + ex.Message, ex);
            }
        }
Пример #8
0
        public List <AplicacaoResgateInfo> CarregaMonitorAplicacaoResgaste()
        {
            List <AplicacaoResgateInfo> lRetorno = new List <AplicacaoResgateInfo>();

            try
            {
                string lUsuarioItau = ConfigurationManager.AppSettings["UsuarioItau"];

                string lSenhaItau = ConfigurationManager.AppSettings["SenhaItau"];

                string CodigoGestor = ConfigurationManager.AppSettings["CodigoGestorItau"];

                br.com.itaucustodia.www.DownloadArquivoServiceService cliente = new br.com.itaucustodia.www.DownloadArquivoServiceService();

                string lXml = cliente.historicoAplicacaoResgateEstornoXML(lUsuarioItau, lSenhaItau, CodigoGestor);

                XDocument document = XDocument.Parse(lXml.Replace("<![CDATA[", "").Replace("]]>", ""));

                var lListaResgateAplicacao = from operacao in document.Descendants("HistoricoAplicacaoResgateEstornoBean")
                                             select new
                {
                    CodigoGestor             = operacao.Element("CDBANC").Value,
                    CodigoFundo              = operacao.Element("CDFDO").Value,
                    CodigoBancoCliente       = operacao.Element("CDBANCLI").Value,
                    CodigoAgencia            = operacao.Element("AGENCIA").Value,
                    CodigoConta              = operacao.Element("CDCTA").Value,
                    DigitoConferencia        = operacao.Element("DAC10").Value,
                    CodigoSubConta           = operacao.Element("SUBCONT").Value,
                    DataAplicacao            = operacao.Element("DTAPLK1").Value,
                    CodigoSequenciaAplicacao = operacao.Element("LANMOV1").Value,
                    TipoRegistro             = operacao.Element("IDTIPREG").Value,
                    DataLancamento           = operacao.Element("DTLANCT").Value,
                    TipoMovimento            = operacao.Element("OPEMOV").Value,
                    CodigoSeqLancamento      = operacao.Element("LANMOV").Value,
                    DataProcessamento        = operacao.Element("DTAPROCE").Value,
                    QtdeCotasMovimento       = operacao.Element("QTCOTMVN").Value,
                    QtdeUfirMovimento        = operacao.Element("QTMVUFIR").Value,
                    VlrCotacaoMovimento      = operacao.Element("VLCOTMVN").Value,
                    VlrBrutoMovimento        = operacao.Element("VALBRUT").Value,
                    VlrCustoMovimento        = operacao.Element("VLCUST").Value,
                    VlrCustoAplicacao        = operacao.Element("VLCUSTAP").Value,
                    VlrCustoMedioResgate     = operacao.Element("VCUSTRSG").Value,
                    VlrIRMovimento           = operacao.Element("VLIRRF").Value,
                    VlrIOFMovimento          = operacao.Element("VLIOFRMV").Value,
                    //VlrTaxaPerfomance            = operacao.Element("VLTXPRF").Value,
                    //VlrTaxaResgateAntecipado     = operacao.Element("VALTXSAI").Value,
                    VlrLiquidoCalculadoMovimento = operacao.Element("VLIQCALC").Value,
                    VlrLiquidoSolicitado         = operacao.Element("VLIQSOL").Value,
                };

                foreach (var info in lListaResgateAplicacao)
                {
                    AplicacaoResgateInfo lAplicacaoResgate = new AplicacaoResgateInfo();

                    lAplicacaoResgate.CodigoGestor                 = info.CodigoGestor;
                    lAplicacaoResgate.CodigoFundoItau              = info.CodigoFundo;
                    lAplicacaoResgate.CodigoBancoCliente           = info.CodigoBancoCliente;
                    lAplicacaoResgate.CodigoAgencia                = info.CodigoAgencia;
                    lAplicacaoResgate.CodigoConta                  = info.CodigoConta;
                    lAplicacaoResgate.DigitoConferencia            = info.DigitoConferencia;
                    lAplicacaoResgate.CodigoSubConta               = info.CodigoSubConta;
                    lAplicacaoResgate.DataAplicacao                = info.DataAplicacao;
                    lAplicacaoResgate.CodigoSequenciaAplicacao     = info.CodigoSequenciaAplicacao;
                    lAplicacaoResgate.TipoRegistro                 = info.TipoRegistro;
                    lAplicacaoResgate.DataLancamento               = info.DataLancamento;
                    lAplicacaoResgate.TipoMovimento                = info.TipoMovimento;
                    lAplicacaoResgate.CodigoSeqLancamento          = info.CodigoSeqLancamento;
                    lAplicacaoResgate.DataProcessamento            = info.DataProcessamento;
                    lAplicacaoResgate.QtdeCotasMovimento           = info.QtdeCotasMovimento;
                    lAplicacaoResgate.QtdeUfirMovimento            = info.QtdeUfirMovimento;
                    lAplicacaoResgate.VlrCotacaoMovimento          = Convert.ToDecimal(InputDotString(info.VlrCotacaoMovimento), gCultura);
                    lAplicacaoResgate.VlrBrutoMovimento            = Convert.ToDecimal(InputDotString(info.VlrBrutoMovimento), gCultura);
                    lAplicacaoResgate.VlrCustoMovimento            = Convert.ToDecimal(InputDotString(info.VlrCustoMovimento), gCultura);
                    lAplicacaoResgate.VlrCustoAplicacao            = Convert.ToDecimal(InputDotString(info.VlrCustoAplicacao), gCultura);
                    lAplicacaoResgate.VlrCustoMedioResgate         = Convert.ToDecimal(InputDotString(info.VlrCustoMedioResgate), gCultura);
                    lAplicacaoResgate.VlrIRMovimento               = Convert.ToDecimal(InputDotString(info.VlrIRMovimento), gCultura);
                    lAplicacaoResgate.VlrIOFMovimento              = Convert.ToDecimal(InputDotString(info.VlrIOFMovimento), gCultura);
                    lAplicacaoResgate.VlrLiquidoCalculadoMovimento = Convert.ToDecimal(InputDotString(info.VlrLiquidoCalculadoMovimento), gCultura);
                    lAplicacaoResgate.VlrLiquidoSolicitado         = Convert.ToDecimal(InputDotString(info.VlrLiquidoSolicitado), gCultura);
                    //lAplicacaoResgate.VlrTaxaPerfomance           = Convert.ToDecimal(info.VlrTaxaPerfomance           ,gCultura);
                    //lAplicacaoResgate.VlrTaxaResgateAntecipado    = Convert.ToDecimal(info.VlrTaxaResgateAntecipado    ,gCultura);

                    lRetorno.Add(lAplicacaoResgate);
                }
            }
            catch (Exception ex)
            {
                gLogger.Error("Ocorreu um erro ao acessar o método CarregaMonitorAplicacaoResgaste:" + ex.Message, ex);
            }
            return(lRetorno);
        }