public List <OrdensAlteradasInfo> ObterOrdensAlteradasIntraday() { AcessaDados lAcessaDados = new AcessaDados(); List <OrdensAlteradasInfo> lstOrdensAlterada = new List <OrdensAlteradasInfo>(); OrdensAlteradasInfo OrdensAlterada; try { lAcessaDados.ConnectionStringName = gNomeConexaoSinacor; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_corpo_ordensalteradas_c1")) { DataTable lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand); if (null != lDataTable && lDataTable.Rows.Count > 0) { for (int i = 0; i <= lDataTable.Rows.Count - 1; i++) { OrdensAlterada = new OrdensAlteradasInfo(); OrdensAlterada.NumeroSeqOrdem = (lDataTable.Rows[i]["NR_SEQORD"]).DBToInt32(); OrdensAlterada.DataAlteracao = (lDataTable.Rows[i]["DataAlteracao"]).DBToDateTime(); OrdensAlterada.Assessor = (lDataTable.Rows[i]["NM_ASSESSOR"]).DBToString(); OrdensAlterada.CodigoCliente = (lDataTable.Rows[i]["CD_CLIENTE"]).DBToInt32(); string ContaErro = (lDataTable.Rows[i]["CTA_ERRO"]).DBToString(); if (ContaErro != "") { OrdensAlterada.ContaErro = true; } else { OrdensAlterada.ContaErro = false; } string Vinculado = (lDataTable.Rows[i]["IN_PESS_VINC"]).DBToString(); if (Vinculado == "S") { OrdensAlterada.Vinculado = true; } else { OrdensAlterada.Vinculado = false; } OrdensAlterada.DescontoCorretagem = (lDataTable.Rows[i]["PC_REDACR"]).DBToDecimal(); OrdensAlterada.Instrumento = (lDataTable.Rows[i]["CD_NEGOCIO"]).DBToString(); OrdensAlterada.Quantidade = (lDataTable.Rows[i]["QT_ORDEM"]).DBToInt32(); OrdensAlterada.Sentido = (lDataTable.Rows[i]["CD_NATOPE"]).DBToString(); OrdensAlterada.TipoPessoa = (lDataTable.Rows[i]["TP_PESSOA"]).DBToString(); OrdensAlterada.Usuario = (lDataTable.Rows[i]["NM_CLIENTE"]).DBToString(); OrdensAlterada.UsuarioAlteracao = (lDataTable.Rows[i]["NM_USUARIO_ALT"]).DBToString(); lstOrdensAlterada.Add(OrdensAlterada); } } } return(lstOrdensAlterada); } catch (Exception ex) { throw (ex); } return(lstOrdensAlterada); }
public List <string> ListarLinhasArquivosIRPlanoFechado(GerarArquivoRequest pRequest) { List <string> lRetorno = new List <string>(); AcessaDados lAcesso = new AcessaDados(); AcessaDados _AcessaDados = new AcessaDados(); AcessaDados _AcessaDadosMyCapital = new AcessaDados("ResultSet"); Conexao Conexao = new Generico.Dados.Conexao(); DbCommand cmdIR; DbCommand cmdDataCobranca; DataTable tabelaIR; lAcesso.ConnectionStringName = _ConnStringControleAcesso; _AcessaDados.ConnectionStringName = _ConnStringControleAcesso; _AcessaDadosMyCapital.ConnectionStringName = _ConnStringControleMyCapital; using (DbCommand cmd = lAcesso.CreateCommand(CommandType.StoredProcedure, "Prc_ClientesAtivos_lst")) { lAcesso.AddInParameter(cmd, "@pSt_situacao", DbType.AnsiString, pRequest.StSituacao); lAcesso.AddInParameter(cmd, "@ID_PRODUTO_PLANO", DbType.Int32, GerarArquivoRequest.Plano.IRIntervalo); DataTable table = lAcesso.ExecuteDbDataTable(cmd); foreach (DataRow dr in table.Rows) { cmdIR = _AcessaDadosMyCapital.CreateCommand(CommandType.StoredProcedure, "SP_MC_VERIFICA_INTEGRACAO"); _AcessaDadosMyCapital.AddInParameter(cmdIR, "piCodCliente", DbType.Int32, dr["CD_CBLC"]); tabelaIR = _AcessaDadosMyCapital.ExecuteOracleDataTable(cmdIR); if (tabelaIR.Rows.Count < 1) //significa que já foi importado para o sistema da mycapital { try { //PEGA A PROXIMA DATA UTIL PARA COBRANÇA DateTime dataCobranca = this.BuscarProximoDiaUtil(); //Monta detalhe do arquivo lRetorno.Add(this.MontaDetalheArquivo(dataCobranca, dr["cd_cblc"], dr["vl_preco"], "1014")); //Valor cobrado com virgula no número decimal string valorCobrado = "0"; if (dr["vl_preco"].ToString() != string.Empty && dr["vl_preco"].ToString() != "0") { valorCobrado = dr["vl_preco"].ToString().Insert(dr["vl_preco"].ToString().Length - 2, "."); } cmdDataCobranca = _AcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_ATUALIZA_DATA_COBRANCA"); _AcessaDados.AddInParameter(cmdDataCobranca, "@CODIGO_CBLC", DbType.Int32, dr["CD_CBLC"]); _AcessaDados.AddInParameter(cmdDataCobranca, "@DATA_COBRANCA", DbType.DateTime, dataCobranca); _AcessaDados.AddInParameter(cmdDataCobranca, "@ID_PRODUTO_PLANO", DbType.Int32, GerarArquivoRequest.Plano.IRIntervalo); _AcessaDados.AddInParameter(cmdDataCobranca, "@VL_COBRADO", DbType.String, valorCobrado); _AcessaDados.ExecuteNonQuery(cmdDataCobranca); //Envia e-mail notificando cliente EnviaNotificacaoAtivacaoPlanoIR(Convert.ToInt32(dr["CD_CBLC"]), (int)GerarArquivoRequest.Plano.IRIntervalo); } catch (Exception ex) { logger.ErrorFormat("Erro ao atualizar a tabela de cobrança para o Plano IRFechado - {0} - StackTrace - {1}", ex.Message, ex.StackTrace); } } } } return(lRetorno); }
/// <summary> /// Monta o arquivo XML com o estado da conta dos clientes cadastrados com sua projeção DN e Conta Margem. /// </summary> public SaldoContaCorrenteRiscoResponse <ContaCorrenteRiscoInfo> AlimentarConsultaDN(SaldoContaCorrenteRiscoRequest pParametro) { var lRetorno = new SaldoContaCorrenteRiscoResponse <ContaCorrenteRiscoInfo>(); var lAcessaDados = new AcessaDados(); try { lAcessaDados.ConnectionStringName = gNomeConexaoSinacor; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "pccsaldoprojetado_lst")) { lAcessaDados.AddInParameter(lDbCommand, "pCdCliente", DbType.Int32, null); lAcessaDados.AddInParameter(lDbCommand, "pCdAssessor", DbType.Int32, null); lAcessaDados.AddInParameter(lDbCommand, "pStNegativoD0", DbType.Byte, null); lAcessaDados.AddInParameter(lDbCommand, "pStNegativoD1", DbType.Byte, null); lAcessaDados.AddInParameter(lDbCommand, "pStNegativoD2", DbType.Byte, null); lAcessaDados.AddInParameter(lDbCommand, "pStNegativoD3", DbType.Byte, null); var lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand); { //--> Gravando em XML para teste. //lDataTable.TableName = "pccsaldoprojetado"; //lDataTable.WriteXmlSchema(@"c:\pccsaldoprojetado.xsd"); //lDataTable.WriteXml(@"c:\pccsaldoprojetado.xml"); } if (null != lDataTable) { for (int i = 0; i < lDataTable.Rows.Count; i++) { lRetorno.Objeto = new ContaCorrenteRiscoInfo(); // SALDOS lRetorno.Objeto.SaldoD0 = lDataTable.Rows[i]["D0"].DBToDecimal(); lRetorno.Objeto.SaldoD1 = lDataTable.Rows[i]["D1"].DBToDecimal(); lRetorno.Objeto.SaldoD2 = lDataTable.Rows[i]["D2"].DBToDecimal(); lRetorno.Objeto.SaldoD3 = lDataTable.Rows[i]["D3"].DBToDecimal(); lRetorno.Objeto.SaldoContaMargem = ObtemSaldoContaMargem(lDataTable.Rows[i]["cd_cliente"].DBToInt32()); // OUTRAS INFORMACOES lRetorno.Objeto.IdClienteSinacor = lDataTable.Rows[i]["cd_cliente"].DBToInt32(); lRetorno.Objeto.NomeCliente = lDataTable.Rows[i]["nm_cliente"].DBToString(); lRetorno.Objeto.DsCpfCnpj = lDataTable.Rows[i]["cd_cpfcgc"].DBToString(); lRetorno.Objeto.IdAssessor = lDataTable.Rows[i]["cd_assessor"].DBToInt32(); lRetorno.ObjetoLista.Add(lRetorno.Objeto); } ColecaoObjetos.Remover(); ColecaoObjetos.AdicionarItem("SaldoContaCorrenteRiscoResponse", lRetorno); gLogger.Debug(string.Format("{0} registros encontrados", lDataTable.Rows.Count.ToString())); } ColecaoObjetos.DataHoraUltimaAtualizacao = DateTime.Now; lRetorno.StatusResposta = CriticaMensagemEnum.OK; } } catch (Exception ex) { gLogger.Error("AlimentarConsultaDN", ex); lRetorno.DescricaoResposta = ex.Message; lRetorno.StackTrace = ex.StackTrace; lRetorno.StatusResposta = CriticaMensagemEnum.Exception; lRetorno.Objeto = null; } return(lRetorno); }
/// <summary> /// Busca ordens inseridas no sinacor /// </summary> /// <param name="pRequest"></param> /// <returns></returns> public BuscarOrdensResponse BuscarOrdensSinacor(BuscarOrdensRequest pRequest) { BuscarOrdensResponse lReturn = new BuscarOrdensResponse(); OrdemInfo lOrdem = new OrdemInfo(); AcessaDados lAcessaDados = new AcessaDados(); lAcessaDados.ConnectionStringName = ClienteDbLib.gNomeConexaoSinacorTrade; ///PRC_ACOMP_ORDENS_BMF_LST //PRC_ACOMPANHAMENTO_ORDENS_LST //string lProc = (pRequest.Canal == 0) ? "PRC_ACOMP_ORDENS_BMF_LST" : "PRC_ACOMPANHAMENTO_ORDENS_LST"; string lProc = (pRequest.Canal == 0) ? "PRC_ACOMP_ORDENS_BMF_LST" : "PRC_ACOMPA_ORDENS_LST"; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, lProc)) { lAcessaDados.AddInParameter(lDbCommand, "pDtDe", DbType.Date, pRequest.DataDe); lAcessaDados.AddInParameter(lDbCommand, "pDtAte", DbType.Date, pRequest.DataAte); lAcessaDados.AddInParameter(lDbCommand, "pPapel", DbType.AnsiString, pRequest.Instrumento); lAcessaDados.AddInParameter(lDbCommand, "pCodCliente", DbType.Int32, pRequest.ContaDoCliente); lAcessaDados.AddInParameter(lDbCommand, "pPaginaCorrente", DbType.Int32, pRequest.PaginaCorrente); lAcessaDados.AddInParameter(lDbCommand, "pQtdRegs", DbType.Int32, pRequest.QtdeLimiteRegistros); lAcessaDados.AddInParameter(lDbCommand, "pCodAssessor", DbType.Int32, pRequest.CodigoAssessor); lAcessaDados.AddInParameter(lDbCommand, "pStatusOrdem", DbType.Int32, pRequest.Status == null ? new Nullable <int>() : (int)pRequest.Status); lAcessaDados.AddInParameter(lDbCommand, "pStPortaTryd", DbType.String, "TRYD".Equals(pRequest.Origem) ? pRequest.Origem : null); lAcessaDados.AddOutParameter(lDbCommand, "pTotalRegistros", DbType.Int32, 12); DataTable lDados = lAcessaDados.ExecuteOracleDataTable(lDbCommand); lReturn.Ordens = new List <OrdemInfo>(); lReturn.TotalItens = lDados.Rows.Count; foreach (DataRow lRow in lDados.Rows) { lOrdem = new OrdemInfo(); lOrdem.IdOrdem = Convert.ToInt32(lRow["OrderId"]); lOrdem.Account = lRow["CD_CLIENTE"].DBToInt32(); lOrdem.ChannelID = lRow["ChannelId"].DBToInt32(); lOrdem.ExpireDate = lRow["ExpireDate"].DBToDateTime(); lOrdem.OrderQty = lRow["OrderQty"].DBToInt32(); lOrdem.OrderQtyRemmaining = lRow["OrderQtyRemaining"].DBToInt32(); lOrdem.OrdStatus = (OrdemStatusEnum)lRow["OrdStatusId"].DBToInt32(); lOrdem.ClOrdID = lRow["OrderId"].ToString(); lOrdem.OrdType = (OrdemTipoEnum)50; lOrdem.RegisterTime = DateTime.ParseExact(lRow["RegisterTime"].ToString(), "dd/MM/yyyy HH:mm:ss", CultureInfo.CurrentCulture); lOrdem.Side = (OrdemDirecaoEnum)lRow["Side"].DBToInt32(); lOrdem.Symbol = lRow["SYMBOL"].DBToString(); if (lRow["Price"] != DBNull.Value) { lOrdem.Price = Convert.ToDouble(lRow["Price"]); } lOrdem.Acompanhamentos = new List <AcompanhamentoOrdemInfo>(); lReturn.Ordens.Add(lOrdem); } List <OrdemInfo> lTempOrdens = lReturn.Ordens; this.BuscarAssessoresFiltro(pRequest.CodigoAssessor, ref lTempOrdens); lReturn.Ordens = lTempOrdens; } return(lReturn); }
private void BuscarNotaDeCorretagem_Rodape(ref NotaDeCorretagemExtratoRequest pParametros, ref AcessaDados pAcessoDados, ref NotaDeCorretagemExtratoResponse pRetorno) { /*"prc_NC_DadosFinanceiro_Sel"))*/ using (DbCommand lDbCommand = pAcessoDados.CreateCommand(CommandType.StoredProcedure, "prc_notacorretagem_finan_hist")) { pAcessoDados.AddInParameter(lDbCommand, "pcd_cliente", DbType.Int32, pParametros.ConsultaCodigoCliente); pAcessoDados.AddInParameter(lDbCommand, "ptp_negocio", DbType.String, pParametros.ConsultaTipoDeMercado == "VIS" ? "NOR" : "FUT"); pAcessoDados.AddInParameter(lDbCommand, "pdt_datmov", DbType.Date, pParametros.ConsultaDataMovimento); if (pParametros.ConsultaProvisorio) { pAcessoDados.AddInParameter(lDbCommand, "in_broker", DbType.String, "C"); } using (DataTable lDataTable = pAcessoDados.ExecuteOracleDataTable(lDbCommand)) { if (null != lDataTable && lDataTable.Rows.Count > 0) { pRetorno.Relatorio.Rodape.Debentures = lDataTable.Rows[0]["VL_DEBENT"].DBToDecimal(); pRetorno.Relatorio.Rodape.VendaVista = lDataTable.Rows[0]["VL_VDAVIS"].DBToDecimal(); pRetorno.Relatorio.Rodape.CompraVista = lDataTable.Rows[0]["VL_CPAVIS"].DBToDecimal(); pRetorno.Relatorio.Rodape.CompraOpcoes = lDataTable.Rows[0]["VL_CPAOPC"].DBToDecimal(); pRetorno.Relatorio.Rodape.VendaOpcoes = lDataTable.Rows[0]["VL_VDAOPC"].DBToDecimal(); pRetorno.Relatorio.Rodape.OperacoesTermo = lDataTable.Rows[0]["VL_TERMO"].DBToDecimal(); pRetorno.Relatorio.Rodape.OperacoesTitulosPublicos = lDataTable.Rows[0]["VL_TITPUB"].DBToDecimal(); pRetorno.Relatorio.Rodape.ValorDasOperacoes = lDataTable.Rows[0]["VL_TOTNEG"].DBToDecimal(); pRetorno.Relatorio.Rodape.ValorLiquidoOperacoes = pParametros.ConsultaTipoDeMercado == "VIS" ? lDataTable.Rows[0]["VL_LIQ_OPERACOES_VIS"].DBToDecimal() : lDataTable.Rows[0]["VL_LIQ_OPERACOES_OPC"].DBToDecimal(); pRetorno.Relatorio.Rodape.TaxaLiquidacao = lDataTable.Rows[0]["VL_EMOLUM_CB"].DBToDecimal(); pRetorno.Relatorio.Rodape.TaxaLiquidacao_DC = "D"; pRetorno.Relatorio.Rodape.TaxaDeRegistro = lDataTable.Rows[0]["VL_TAXREG_CB"].DBToDecimal(); pRetorno.Relatorio.Rodape.TaxaDeRegistro_DC = (lDataTable.Rows[0]["VL_TAXREG_CB"].DBToDecimal() > 0 ? "C" : "D"); pRetorno.Relatorio.Rodape.TaxaANA = lDataTable.Rows[0]["VL_TAXANA"].DBToDecimal(); pRetorno.Relatorio.Rodape.TaxaANA_DC = (lDataTable.Rows[0]["VL_TAXANA"].DBToDecimal() > 0 ? "C" : "D"); pRetorno.Relatorio.Rodape.Emolumentos = lDataTable.Rows[0]["VL_EMOLUM_BV"].DBToDecimal(); pRetorno.Relatorio.Rodape.Emolumentos_DC = (lDataTable.Rows[0]["VL_EMOLUM_BV"].DBToDecimal() > 0 ? "C" : "D"); pRetorno.Relatorio.Rodape.Corretagem = lDataTable.Rows[0]["VL_VALCOR"].DBToDecimal(); pRetorno.Relatorio.Rodape.Corretagem_DC = (lDataTable.Rows[0]["VL_VALCOR"].DBToDecimal() > 0 ? "C" : "D"); pRetorno.Relatorio.Rodape.ISS = lDataTable.Rows[0]["VL_ISS"].DBToDecimal(); pRetorno.Relatorio.Rodape.ISS_DC = "D"; pRetorno.Relatorio.Rodape.Outras = lDataTable.Rows[0]["VL_DESP_NOTA"].DBToDecimal(); pRetorno.Relatorio.Rodape.ValorLiquidoNota = lDataTable.Rows[0]["VL_LIQNOT"].DBToDecimal(); //--> Total Bovespa/Soma pRetorno.Relatorio.Rodape.DataLiquidoPara = lDataTable.Rows[0]["PZ_PROJ_CC"].DBToDateTime(); // this.RecuperarDataLiquidoPara(pRetorno.Relatorio.CabecalhoCorretora.DataPregao, pParametros.ConsultaTipoDeMercado); pRetorno.Relatorio.Rodape.OperacoesFuturo = lDataTable.Rows[0]["VL_FUTURO"].DBToDecimal(); pRetorno.Relatorio.Rodape.ValorAjusteFuturo = lDataTable.Rows[0]["VL_FUTURO"].DBToDecimal(); pRetorno.Relatorio.Rodape.IRSobreCorretagem = lDataTable.Rows[0]["VL_IRCORR"].DBToDecimal(); pRetorno.Relatorio.Rodape.IRRFSobreDayTrade = lDataTable.Rows[0]["VL_IRRF_DESPESA"].DBToDecimal(); pRetorno.Relatorio.Rodape.Total_123_A = lDataTable.Rows[0]["VL_LIQNOT_CB"].DBToDecimal(); pRetorno.Relatorio.Rodape.Total_123_A_DC = (lDataTable.Rows[0]["VL_LIQNOT_CB"].DBToDecimal() > 0 ? "C" : "D"); pRetorno.Relatorio.Rodape.TaxaTerOpcFut = lDataTable.Rows[0]["VL_TAXPTA"].DBToDecimal(); pRetorno.Relatorio.Rodape.TaxaTerOpcFut_DC = (lDataTable.Rows[0]["VL_TAXPTA"].DBToDecimal() > 0 ? "C" : "D"); pRetorno.Relatorio.Rodape.IRRFOperacoes = lDataTable.Rows[0]["VL_IROPER"].DBToDecimal(); pRetorno.Relatorio.Rodape.IRRFOperacoes_DC = (lDataTable.Rows[0]["VL_IROPER"].DBToDecimal() > 0 ? "C" : "D"); pRetorno.Relatorio.Rodape.VLBaseOperacoesIRRF = lDataTable.Rows[0]["VL_BASEIROPER"].DBToDecimal(); pRetorno.Relatorio.Rodape.VLBaseOperacoesIRRF_DC = (lDataTable.Rows[0]["VL_BASEIROPER"].DBToDecimal() > 0 ? "C" : "D"); //pRetorno.Relatorio.Rodape.DescOutras = lDataTable.Rows[0]["DS_DESP_NOTA"].DBToString(); pRetorno.Relatorio.Rodape.IRRFSobreDayTradeBase = lDataTable.Rows[0]["VL_BASEIRDT_DAYTRADE"].DBToDecimal(); pRetorno.Relatorio.Rodape.IRRFSobreDayTradeProjecao = lDataTable.Rows[0]["VL_IRRETIDO_DAYTRADE"].DBToDecimal(); pRetorno.Relatorio.Rodape.IRRFSemOperacoesBase = lDataTable.Rows[0]["VL_BASEIRDT_RESUMO"].DBToDecimal(); pRetorno.Relatorio.Rodape.IRRFSemOperacoesValor = lDataTable.Rows[0]["VL_IRRETIDO_RESUMO"].DBToDecimal(); } } } }
public ChurningIntradayInfo ObterMonitoramentoIntradiario(ChurningIntradayInfo pRequest) { var lRetorno = new ChurningIntradayInfo(); var lAcessaDados = new AcessaDados(); lAcessaDados.ConnectionStringName = "SinacorExportacao"; lRetorno.Resultado = new List <ChurningIntradayInfo>(); using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_TURNOVER_PERIODO_SEL")) { lAcessaDados.AddInParameter(lDbCommand, "pCodigoCliente", DbType.Int32, pRequest.CodigoCliente); lAcessaDados.AddInParameter(lDbCommand, "pDataDe", DbType.DateTime, pRequest.DataDe); lAcessaDados.AddInParameter(lDbCommand, "pDataAte", DbType.DateTime, pRequest.DataAte); var lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand); if (lDataTable != null && lDataTable.Rows.Count > 0) { for (int i = 0; i < lDataTable.Rows.Count; i++) { DataRow lRow = lDataTable.Rows[i]; var lChurning = new ChurningIntradayInfo(); int lCodigoCliente = int.Parse(lRow["CodigoCliente"].ToString()); lChurning = lRetorno.Resultado.Find(churning => { return(churning.CodigoCliente == lCodigoCliente); }); if (lRetorno.Resultado.Count == 0 || lChurning == null) { lChurning = new ChurningIntradayInfo(); lChurning.NomeAssessor = lRow["NomeAssessor"].ToString(); lChurning.CodigoAssessor = int.Parse(lRow["CodigoAssessor"].ToString()); lChurning.NomeCliente = lRow["NomeCliente"].ToString(); lChurning.CodigoCliente = int.Parse(lRow["CodigoCliente"].ToString()); lChurning.Data = lRow["DATA_POSI"].DBToDateTime(); lChurning.ValorVendas = lRow["VlVendas"].DBToDecimal(); lChurning.ValorCompras = lRow["VlCompras"].DBToDecimal(); lChurning.ValorCarteira = lRow["VlCarteira"].DBToDecimal(); lChurning.ValorCarteiraMedia = lRow["vlCarteiramedia"].DBToDecimal(); DateTime lData = this.GetDateBrockage(lRow["DATA_POSI"].DBToDateTime(), pRequest.ListaFeriados); lChurning.ValorL1 = SelecionarValorL1(lChurning.CodigoCliente.Value, lData); //lChurning.ValorCorretagem = SelecionaValorCorretagem(lChurning.CodigoCliente.Value, lData); lRetorno.Resultado.Add(lChurning); } else { lRetorno.Resultado.Remove(lChurning); lChurning.ValorVendas += lRow["VlVendas"].DBToDecimal(); lChurning.ValorCompras += lRow["VlCompras"].DBToDecimal(); lChurning.ValorCarteira += lRow["VlCarteira"].DBToDecimal(); lChurning.ValorCarteiraMedia = lRow["vlCarteiramedia"].DBToDecimal(); //DateTime lData = this.GetDateBrockage(lRow["DATA_POSI"].DBToDateTime(), pRequest.ListaFeriados); //lChurning.ValorCorretagem += SelecionaValorCorretagem(lChurning.CodigoCliente.Value , lData); lRetorno.Resultado.Add(lChurning); } } } } ObterCorretagemPeriodo(pRequest, ref lRetorno); ObterCorretagemDia(pRequest, ref lRetorno); ObterCarteiraDiaria(pRequest, ref lRetorno); EfetuaCalculoTR(pRequest, ref lRetorno); EfetuaCalculoCE(pRequest, ref lRetorno); EfetuaFiltroChurningIntraday(pRequest, ref lRetorno); EfetuaFiltroChurningIntradayPorta(pRequest, ref lRetorno); return(lRetorno); }
private void ObterCarteiraDiaria(ChurningIntradayInfo pRequest, ref ChurningIntradayInfo pRetorno) { List <CarteiraChurningDia> lRetorno = new List <CarteiraChurningDia>(); var lAcessaDados = new AcessaDados(); CarteiraChurningDia lChurning = null; /* * lAcessaDados.ConnectionStringName = "RISCO_GRADUALOMS"; * * using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_churning_carteira_dia_sel")) * { * lAcessaDados.AddInParameter(lDbCommand, "@CodigoCliente", DbType.Int32, pRequest.CodigoCliente); * * var lDataTable = lAcessaDados.ExecuteDbDataTable(lDbCommand); * * if (lDataTable != null && lDataTable.Rows.Count > 0) * { * for (int i = 0; i < lDataTable.Rows.Count; i++) * { * DataRow lRow = lDataTable.Rows[i]; * lChurning = new CarteiraChurningDia(); * * lChurning.CodigoCliente = lRow["CodigoCliente"].DBToInt32(); * lChurning.ValorCarteiraDia = lRow["VlCarteiraDia"].DBToDecimal(); * lChurning.Data = lRow["Data"].DBToDateTime(); * lChurning.ValorComprasDia = lRow["ValorCompras"].DBToDecimal(); * lChurning.ValorVendasDia = lRow["ValorVendas"].DBToDecimal(); * * * lRetorno.Add(lChurning); * } * } * } */ lAcessaDados.ConnectionStringName = "SinacorExportacao"; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_TURNOVER_CARTEIRA_DIA_SEL")) { lAcessaDados.AddInParameter(lDbCommand, "pCodigoCliente", DbType.Int32, pRequest.CodigoCliente); var lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand); if (lDataTable != null && lDataTable.Rows.Count > 0) { for (int i = 0; i < lDataTable.Rows.Count; i++) { DataRow lRow = lDataTable.Rows[i]; lChurning = new CarteiraChurningDia(); lChurning.CodigoCliente = lRow["CodigoCliente"].DBToInt32(); lChurning.ValorCarteiraDia = lRow["VlCarteiraDia"].DBToDecimal(); lChurning.Data = lRow["Data"].DBToDateTime(); lChurning.ValorComprasDia = lRow["ValorCompras"].DBToDecimal(); lChurning.ValorVendasDia = lRow["ValorVendas"].DBToDecimal(); //lChurning.ValorCorretagemDia = this.SelecionaValorCorretagem(lChurning.CodigoCliente, DateTime.Now); lRetorno.Add(lChurning); } } } var lListaChannel = ListarClientesPortas(pRequest); var lListaCliente = new List <int>(); lRetorno.ForEach(cliente => { lListaCliente.Add(cliente.CodigoCliente); }); foreach (ChurningIntradayInfo info in pRetorno.Resultado) { var lLista = lRetorno.Find(churn => { return(churn.CodigoCliente == info.CodigoCliente); }); if (lLista != null) { info.ValorCarteiraDia = lLista.ValorCarteiraDia; info.ValorComprasDia = lLista.ValorComprasDia; info.ValorVendasDia = lLista.ValorVendasDia; } var lEncontradoChannel = lListaChannel.Find(channel => { return(channel.CodigoCliente == info.CodigoCliente); }); if (lEncontradoChannel.CodigoCliente != 0) { lEncontradoChannel.ListaPortas.ForEach(portas => { if (info.Porta != null) { if (!info.Porta.Contains(portas.ToString())) { info.Porta += portas + ","; } } else { info.Porta += portas + ","; } }); } info.TipoPessoa = SelecionarClienteTipo(info.CodigoCliente.Value); } }
private void BuscarFax_RODAPE(ref FaxRequest pParametros, ref AcessaDados pAcessoDados, ref FaxResponse plRetorno) { using (DbCommand lDbCommand = pAcessoDados.CreateCommand(CommandType.StoredProcedure, "PRC_FAX_RODAPE_BOV_BR")) { pAcessoDados.AddInParameter(lDbCommand, "pClienteCodigo", DbType.Int32, pParametros.ConsultaCodigoCliente); pAcessoDados.AddInParameter(lDbCommand, "pData", DbType.Date, pParametros.ConsultaDataMovimento); using (var lDataTable = pAcessoDados.ExecuteOracleDataTable(lDbCommand)) { if (null != lDataTable && lDataTable.Rows.Count > 0) { for (int i = 0; i < lDataTable.Rows.Count; i++) { if (lDataTable.Rows[i]["TP_NEGOCIO"].DBToString() == "FUT") { plRetorno.Relatorio.RodapeTotalComprasOpcao = lDataTable.Rows[i]["TOTAL_COMPRAS_OPCAO"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalVendasOpcao = lDataTable.Rows[i]["TOTAL_VENDAS_OPCAO"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalTermoOpcao = lDataTable.Rows[i]["TOTAL_TERMO"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalAjusteOpcao = lDataTable.Rows[i]["TOTAL_AJUSTE"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalNegociosOpcao = lDataTable.Rows[i]["TOTAL_NEGOCIOS"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalCorretagemOpcao = lDataTable.Rows[i]["TOTAL_CORRETAGEM"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaCblcOpcao = lDataTable.Rows[i]["TAXAS_CBLC"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaBovespaOpcao = lDataTable.Rows[i]["TAXAS_BOVESPA"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaOperacionaisOpcao = lDataTable.Rows[i]["TAXAS_OPERACIONAIS"].DBToDecimal(); plRetorno.Relatorio.RodapeOutrasDepesasOpcao = lDataTable.Rows[i]["OUTRAS_DESPESAS"].DBToDecimal(); plRetorno.Relatorio.RodapeIRDayTradeOpcao = lDataTable.Rows[i]["IR_DAY_TRADE"].DBToDecimal(); plRetorno.Relatorio.RodapeIrOperacoesOpcao = lDataTable.Rows[i]["IR_OPERACOES"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalLiquidoOpcao = lDataTable.Rows[i]["TOTAL_LIQUIDO"].DBToDecimal(); plRetorno.Relatorio.RodapeBaseIRDTOpcao = lDataTable.Rows[i]["BASE_IR_DT"].DBToDecimal(); plRetorno.Relatorio.RodapeBaseIROperacoesOpcao = lDataTable.Rows[i]["BASE_IR_OPER"].DBToDecimal(); plRetorno.Relatorio.RodapeEmolumentoBolsaOpcao = lDataTable.Rows[i]["EMOLUMENTO_BOLSA"].DBToDecimal(); plRetorno.Relatorio.RodapeEmolumentoTotalOpcao = lDataTable.Rows[i]["EMOLUMENTO_TOTAL"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaLiquidacaoOpcao = lDataTable.Rows[i]["TAXA_LIQUIDACAO"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaRegistroBolsaOpcao = lDataTable.Rows[i]["TAXA_REGISTRO_BOLSA"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaRegistroTotalOpcao = lDataTable.Rows[i]["TAXA_REGISTRO_TOTAL"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaRegistroOpcao = lDataTable.Rows[i]["TAXA_REGISTRO"].DBToDecimal(); } else { plRetorno.Relatorio.RodapeTotalComprasVista = lDataTable.Rows[i]["TOTAL_COMPRAS_VISTA"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalVendasVista = lDataTable.Rows[i]["TOTAL_VENDAS_VISTA"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalTermoVista = lDataTable.Rows[i]["TOTAL_TERMO"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalAjusteVista = lDataTable.Rows[i]["TOTAL_AJUSTE"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalNegociosVista = lDataTable.Rows[i]["TOTAL_NEGOCIOS"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalCorretagemVista = lDataTable.Rows[i]["TOTAL_CORRETAGEM"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaCblcVista = lDataTable.Rows[i]["TAXAS_CBLC"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaBovespaVista = lDataTable.Rows[i]["TAXAS_BOVESPA"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaOperacionaisVista = lDataTable.Rows[i]["TAXAS_OPERACIONAIS"].DBToDecimal(); plRetorno.Relatorio.RodapeOutrasDepesasVista = lDataTable.Rows[i]["OUTRAS_DESPESAS"].DBToDecimal(); plRetorno.Relatorio.RodapeIRDayTradeVista = lDataTable.Rows[i]["IR_DAY_TRADE"].DBToDecimal(); plRetorno.Relatorio.RodapeIrOperacoesVista = lDataTable.Rows[i]["IR_OPERACOES"].DBToDecimal(); plRetorno.Relatorio.RodapeTotalLiquidoVista = lDataTable.Rows[i]["TOTAL_LIQUIDO"].DBToDecimal(); plRetorno.Relatorio.RodapeBaseIRDTVista = lDataTable.Rows[i]["BASE_IR_DT"].DBToDecimal(); plRetorno.Relatorio.RodapeBaseIROperacoesVista = lDataTable.Rows[i]["BASE_IR_OPER"].DBToDecimal(); plRetorno.Relatorio.RodapeEmolumentoBolsaVista = lDataTable.Rows[i]["EMOLUMENTO_BOLSA"].DBToDecimal(); plRetorno.Relatorio.RodapeEmolumentoTotalVista = lDataTable.Rows[i]["EMOLUMENTO_TOTAL"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaLiquidacaoVista = lDataTable.Rows[i]["TAXA_LIQUIDACAO"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaRegistroBolsaVista = lDataTable.Rows[i]["TAXA_REGISTRO_BOLSA"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaRegistroTotalVista = lDataTable.Rows[i]["TAXA_REGISTRO_TOTAL"].DBToDecimal(); plRetorno.Relatorio.RodapeTaxaRegistroVista = lDataTable.Rows[i]["TAXA_REGISTRO"].DBToDecimal(); } } } } } }
public InformacaoClienteResponse ObterListaClientesSaldoDevedor(InformacaoClienteRequest request) { AcessaDados lAcessaDados = new AcessaDados(); InformacaoClienteResponse response = new InformacaoClienteResponse(); response.ListaInformacoesCliente = new Dictionary <int, InformacoesClienteInfo>(); response.Retorno = InformacaoClienteResponse.RETORNO_ERRO; try { lAcessaDados.ConnectionStringName = gNomeConexaoSinacor; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_obter_saldo_devedor")) { lAcessaDados.AddInParameter(lDbCommand, "dtMovimento", DbType.DateTime, request.DadosCliente.DataMovimento); DataTable lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand); if (null != lDataTable && lDataTable.Rows.Count > 0) { for (int i = 0; i <= lDataTable.Rows.Count - 1; i++) { InformacoesClienteInfo ClienteInfo = new InformacoesClienteInfo(); ClienteInfo.CodigoAssessor = (lDataTable.Rows[i]["cd_assessor"]).DBToInt32(); ClienteInfo.NomeAssessor = (lDataTable.Rows[i]["nm_assessor"]).DBToString(); ClienteInfo.CodigoCliente = (lDataTable.Rows[i]["cd_cliente"]).DBToInt32(); ClienteInfo.NomeCliente = (lDataTable.Rows[i]["nm_cliente"]).DBToString(); ClienteInfo.EmailCliente = (lDataTable.Rows[i]["nm_e_mail"]).DBToString(); ClienteInfo.SaldoDisponivel = (lDataTable.Rows[i]["vl_disponivel"]).DBToDecimal(); ClienteInfo.SaldoTotal = (lDataTable.Rows[i]["vl_total"]).DBToDecimal(); ClienteInfo.SaldoProjetadoD1 = (lDataTable.Rows[i]["vl_projet1"]).DBToDecimal(); ClienteInfo.SaldoProjetadoD2 = (lDataTable.Rows[i]["vl_projet2"]).DBToDecimal(); ClienteInfo.DataMovimento = request.DadosCliente.DataMovimento; ClienteInfo.NrDiasNegativo = ObterQuantidadeDiasNegativoCliente(ClienteInfo.CodigoCliente, ClienteInfo.DataMovimento); ClienteInfo.JurosCalculado = CalcularJurosSaldoDevedor(ClienteInfo.SaldoDisponivel); if (ClienteInfo.SaldoTotal >= 0) { ClienteInfo.Desenquadrado = 0; } else { ClienteInfo.Desenquadrado = (ClienteInfo.SaldoTotal > ClienteInfo.SaldoDisponivel ? ClienteInfo.SaldoTotal : ClienteInfo.SaldoDisponivel); } if (!response.ListaInformacoesCliente.ContainsKey(ClienteInfo.CodigoCliente)) { response.ListaInformacoesCliente.Add(ClienteInfo.CodigoCliente, ClienteInfo); } } } } response.Retorno = InformacaoClienteResponse.RETORNO_OK; } catch (Exception ex) { logger.Error("ObterListaClientesSaldoDevedor(): Ocorreu um erro ao acessar o banco de dados: " + ex.Message); } return(response); }