private void EfetuaCalculoTR(ChurningIntradayInfo pRequest, ref ChurningIntradayInfo lRetorno) { TimeSpan lSpan = pRequest.DataAte - pRequest.DataDe; decimal lTotalMeses = Decimal.Parse((lSpan.TotalDays / 30).ToString()); foreach (ChurningIntradayInfo info in lRetorno.Resultado) { /* * decimal lTotalComprasMes = info.ValorCompras * 12M; * decimal lTotalComprasDia = info.ValorComprasDia *0.03334M; * decimal lCarteira = info.ValorCarteiraMedia * (lTotalMeses < 1 ? 1 : lTotalMeses); */ decimal lTotalPeriodo = (((info.ValorCompras == 0 ? 0.000001M : info.ValorCompras) * 12) / ((info.ValorCarteiraMedia != 0 ? info.ValorCarteiraMedia : 1) * lTotalMeses)); decimal lTotalDia = (info.ValorComprasDia == 0 ? 0.000001M : info.ValorComprasDia) / (info.ValorCompras != 0 ? info.ValorCompras : 1); info.PercentualTRnoPeriodo = lTotalPeriodo; info.PercentualTRnoDia = lTotalDia; //info.PercentualTRnoPeriodo = (lTotalComprasMes / lCarteira ); //info.PercentualTRnoDia = (lTotalComprasDia / (info.ValorCarteiraDia == 0 ? 1 : (info.ValorCarteiraDia))); //info.PercentualTRnoPeriodo = (info.ValorCompras / lCarteira); //info.PercentualTRnoDia = (info.ValorComprasDia / (info.ValorCarteiraDia == 0 ? 100 : (info.ValorCarteiraDia * 100))); } }
private void EfetuaFiltroChurningIntradayPorta(ChurningIntradayInfo pRequest, ref ChurningIntradayInfo lRetorno) { IEnumerable <ChurningIntradayInfo> lRetornoValor = from a in lRetorno.Resultado select a; if (!string.IsNullOrWhiteSpace(pRequest.Porta)) { lRetornoValor = from a in lRetorno.Resultado where a.Porta != null && a.Porta.Contains(pRequest.Porta) select a; } lRetorno.Resultado = lRetornoValor.ToList(); }
private void ObterCorretagemPeriodo(ChurningIntradayInfo pRequest, ref ChurningIntradayInfo pRetorno) { var lListaCorreta = new List <CorretagemChurning>(); var lAcessaDados = new AcessaDados(); CorretagemChurning lChurning; lAcessaDados.ConnectionStringName = "SinacorExportacao"; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_TURNOVER_CORRETA_PER_SEL")) { var lDataInicial = this.GetDateBrockage(pRequest.DataDe, pRequest.ListaFeriados); var lDataFinal = this.GetDateBrockage(pRequest.DataAte, pRequest.ListaFeriados); lAcessaDados.AddInParameter(lDbCommand, "pDataInicial", DbType.DateTime, lDataInicial); lAcessaDados.AddInParameter(lDbCommand, "pDataFinal", DbType.DateTime, lDataFinal); 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 CorretagemChurning(); lChurning.CodigoCliente = lRow["cd_cliente"].DBToInt32(); lChurning.DataPosicao = lRow["dt_datmov"].DBToDateTime(); lChurning.ValorCorretagem = lRow["VL_VALCOR"].DBToDecimal(); lListaCorreta.Add(lChurning); } } } foreach (CorretagemChurning info in lListaCorreta) { var lChurnFounded = pRetorno.Resultado.Find(churn => { return(churn.CodigoCliente == info.CodigoCliente); }); if (lChurnFounded != null) { lChurnFounded.ValorCorretagem += info.ValorCorretagem; } } }
private List <ChannelClienteLista> ListarClientesPortas(ChurningIntradayInfo pRequest) { var lRetorno = new List <ChannelClienteLista>(); var lAcessaDados = new AcessaDados(); lAcessaDados.ConnectionStringName = "SINACOR"; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_CHANNELID_CLIENTE_DT_LST")) { lAcessaDados.AddInParameter(lDbCommand, "DtDe", DbType.DateTime, pRequest.DataDe); lAcessaDados.AddInParameter(lDbCommand, "DtAte", 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]; string lCodigoCliente = lRow["CodigoCliente"].DBToString().Substring(0, lRow["CodigoCliente"].DBToString().Length - 2); int CodigoCliente = lCodigoCliente.DBToInt32(); int lChannelID = lRow["ChannelID"].DBToInt32(); ChannelClienteLista lEncontrado = lRetorno.Find(channel => { return(channel.CodigoCliente == CodigoCliente); }); if (lEncontrado.CodigoCliente != 0) { lEncontrado.ListaPortas.Add(lChannelID); } else { var lChannelCliente = new ChannelClienteLista(); lChannelCliente.CodigoCliente = CodigoCliente; lChannelCliente.ListaPortas = new List <int>(); lChannelCliente.ListaPortas.Add(lChannelID); lRetorno.Add(lChannelCliente); } } } } return(lRetorno); }
private void ObterCorretagemDia(ChurningIntradayInfo pRequest, ref ChurningIntradayInfo pRetorno) { var lListaCorreta = new List <CorretagemChurning>(); var lAcessaDados = new AcessaDados(); CorretagemChurning lChurning; lAcessaDados.ConnectionStringName = "SINACOR"; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_CORRETA_ULT_DIA_SEL")) { var lDataAtual = this.GetDateBrockage(DateTime.Now.AddDays(-1).Date, pRequest.ListaFeriados); lAcessaDados.AddInParameter(lDbCommand, "pDataAtual", DbType.DateTime, lDataAtual); 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 CorretagemChurning(); lChurning.CodigoCliente = lRow["cd_cliente"].DBToInt32(); lChurning.ValorCorretagemDia = lRow["VL_VALCOR"].DBToDecimal(); lListaCorreta.Add(lChurning); } } } foreach (CorretagemChurning info in lListaCorreta) { var lChurnFounded = pRetorno.Resultado.Find(churn => { return(churn.CodigoCliente == info.CodigoCliente); }); if (lChurnFounded != null) { lChurnFounded.ValorCorretagemDia = info.ValorCorretagemDia; } } }
/// <summary> /// Método que busca no sinacor(Corrwin) informações de churning avulso /// Procedure: PRC_TURNOVER_SEL - Sinacor (Corrwin) /// Procedure: prc_churning_intraday_ins - SQl /// </summary> /// <param name="pDataPosicao">Dara de posição para consulta</param> /// <returns>Retorna a listagem de objetos do tipo churninhIntradayInfo preenchidos</returns> public List <ChurningIntradayInfo> ImportarChurningIntraday() { var lAcessaDados = new AcessaDados(); var lRetorno = new List <ChurningIntradayInfo>(); var lChurning = new ChurningIntradayInfo(); try { lAcessaDados.ConnectionStringName = gNomeConexaoCorrwin; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_TURNOVER_SEL")) { DataTable lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand); if (null != lDataTable && lDataTable.Rows.Count > 0) { for (int i = 0; i <= lDataTable.Rows.Count - 1; i++) { lChurning = new ChurningIntradayInfo(); lChurning.Data = (lDataTable.Rows[i]["DATA_POSI"]).DBToDateTime(); lChurning.CodigoCliente = (lDataTable.Rows[i]["CD_CLIENTE"]).DBToInt32(); lChurning.CodigoAssessor = (lDataTable.Rows[i]["CD_ASSESSOR"]).DBToInt32(); lChurning.NomeCliente = (lDataTable.Rows[i]["NM_CLIENTE"]).DBToString(); lChurning.NomeAssessor = (lDataTable.Rows[i]["NM_ASSESSOR"]).DBToString(); lChurning.VlCarteira = (lDataTable.Rows[i]["CARTEIRA"]).DBToDecimal(); lChurning.VlCompra = (lDataTable.Rows[i]["VL_COMPRAS"]).DBToDecimal(); lChurning.VlVendas = (lDataTable.Rows[i]["VL_VENDAS"]).DBToDecimal(); lRetorno.Add(lChurning); } } } lAcessaDados.ConnectionStringName = gNomeConexaoGradualOMS; if (lRetorno.Count > 0) { foreach (ChurningIntradayInfo info in lRetorno) { //decimal TR = using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_churning_intraday_ins")) { lAcessaDados.AddInParameter(lDbCommand, "@Data", DbType.DateTime, info.Data); lAcessaDados.AddInParameter(lDbCommand, "@CodigoCliente", DbType.Int32, info.CodigoCliente); lAcessaDados.AddInParameter(lDbCommand, "@CodigoAssessor", DbType.Int32, info.CodigoAssessor); lAcessaDados.AddInParameter(lDbCommand, "@NomeCliente", DbType.String, info.NomeCliente); lAcessaDados.AddInParameter(lDbCommand, "@NomeAssessor", DbType.String, info.NomeAssessor); lAcessaDados.AddInParameter(lDbCommand, "@VlCompras", DbType.Decimal, info.VlCompra); lAcessaDados.AddInParameter(lDbCommand, "@VlVendas", DbType.Decimal, info.VlVendas); lAcessaDados.AddInParameter(lDbCommand, "@VlCarteira", DbType.Decimal, info.VlCarteira); //lAcessaDados.AddInParameter(lDbCommand, "@VlCarteiraMedia", DbType.Decimal, info.VlCarteiraMedia); //lAcessaDados.AddInParameter(lDbCommand, "@PercentualTRnoDia", DbType.Decimal, info.PercentualTRnoDia); //lAcessaDados.AddInParameter(lDbCommand, "@PercentualTRnoPeriodo", DbType.Decimal, info.PercentualTRnoPeriodo); //lAcessaDados.AddInParameter(lDbCommand, "@PercentualCEnoDia", DbType.Decimal, info.PercentualCEnoDia); //lAcessaDados.AddInParameter(lDbCommand, "@PercentualCEnoPeriodo", DbType.Decimal, info.PercentualCEnoPeriodo); lAcessaDados.ExecuteNonQuery(lDbCommand); } } } } catch (Exception ex) { throw (ex); } return(lRetorno); }
private string ResponderBuscarItensParaListagemSimples() { ChurningIntradayDbLib lServico = new ChurningIntradayDbLib(); string lRetorno = string.Empty; string lColunas = string.Empty; ChurningIntradayInfo lRequest = new ChurningIntradayInfo(); TransporteDeListaPaginada lRetornoLista = null; if (Session["Usuario"] == null) { return(string.Empty); } if (null != this.GetCdCliente) { lRequest.CodigoCliente = this.GetCdCliente.Value; } if (null != this.GetCdAssessor) { lRequest.CodigoAssessor = this.GetCdAssessor.Value; } if (base.CodigoAssessor != null) { lRequest.CodigoAssessor = base.CodigoAssessor.Value; lRequest.CodigoLogin = this.UsuarioLogado.Id; } if (this.GetPorta != null) { lRequest.Porta = this.GetPorta.Value.ToString(); } lRequest.enumPercentualCE = this.GetPercentualCE; lRequest.enumPercentualTR = this.GetPercentualTR; lRequest.enumTotalCompras = this.GetTotalCompras; lRequest.enumTotalVendas = this.GetTotalVendas; lRequest.enumCarteiraMedia = this.GetCarteiraMedia; lRequest.ListaFeriados = base.ListaFeriados; var lFeriados = base.ListaFeriados; var lDataInicial = this.GetDataDe; var lDataFinal = this.GetDataAte; bool lEFeriado = lFeriados.Contains(lDataInicial); bool lEhDiaUtilIntervaloValido = false; int lDiasUteis = 0; if (ValidaDataDiaUtil(lDataInicial)) { lRetorno = base.RetornarErroAjax("A data inicial deve ser um dia útil"); return(lRetorno); } if (ValidaDataDiaUtil(lDataFinal)) { lRetorno = base.RetornarErroAjax("A data final deve ser um dia útil"); return(lRetorno); } //Primeiro elimina sabados domigos e feriados do intervalo while (lDiasUteis < 1) { lDataInicial = lDataInicial.AddDays(1); lEhDiaUtilIntervaloValido = lDataInicial.DayOfWeek == DayOfWeek.Saturday || lDataInicial.DayOfWeek == DayOfWeek.Sunday || lFeriados.Contains(lDataInicial); if (!lEhDiaUtilIntervaloValido) { lDiasUteis++; } } lDiasUteis = 0; lEhDiaUtilIntervaloValido = false; //Primeiro elimina sabados domigos e feriados do intervalo while (lDiasUteis < 1) { lDataFinal = lDataFinal.AddDays(1); lEhDiaUtilIntervaloValido = lDataFinal.DayOfWeek == DayOfWeek.Saturday || lDataFinal.DayOfWeek == DayOfWeek.Sunday || lFeriados.Contains(lDataFinal); if (!lEhDiaUtilIntervaloValido) { lDiasUteis++; } } lRequest.DataDe = lDataInicial; lRequest.DataAte = lDataFinal; this.PeriodoFiltro = "De : " + lRequest.DataDe + " Até : " + lRequest.DataAte; ChurningIntradayInfo lRetornoConsulta = new ChurningIntradayInfo(); Session["Sessao_Filtro"] = lRequest; lRetornoConsulta = lServico.ObterMonitoramentoIntradiario(lRequest); if (lRetornoConsulta != null && lRetornoConsulta.Resultado != null) { List <TransporteChurningIntraday> lListaTransporte = new TransporteChurningIntraday().TraduzirLista(lRetornoConsulta.Resultado); this.SessaoUltimaConsulta = lListaTransporte; lRetornoLista = new TransporteDeListaPaginada(lListaTransporte); this.ResponderFiltrarPorColuna(); lRetorno = JsonConvert.SerializeObject(lRetornoLista); lRetornoLista.TotalDeItens = lRetornoConsulta.Resultado.Count; lRetornoLista.PaginaAtual = 1; lRetornoLista.TotalDePaginas = 0; return(lRetorno); } else { lRetorno = base.RetornarErroAjax("Ocorreu um erro ao processar a requisição"); } return(lRetorno); }
private string ResponderExportarExcell() { ChurningIntradayInfo lRequest = Session["Sessao_Filtro"] as ChurningIntradayInfo; ChurningIntradayDbLib lServico = new ChurningIntradayDbLib(); TransporteDeListaPaginada lRetornoLista = null; var lListaTransporte = new List <TransporteChurningIntraday>(); var lRetornoConsulta = lServico.ObterMonitoramentoIntradiario(lRequest); if (lRetornoConsulta != null && lRetornoConsulta.Resultado != null) { lListaTransporte = new TransporteChurningIntraday().TraduzirLista(lRetornoConsulta.Resultado); lRetornoLista = new TransporteDeListaPaginada(lListaTransporte); } StringBuilder lContent = new StringBuilder(); lContent.AppendFormat("Data de consulta: " + DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss") + "\t \t \t \t \t \t \t \t \t \t Período De: {0} até: {1} \t\r", this.GetDataDe, this.GetDataAte); lContent.Append("Cliente" + "\t"); lContent.Append("Nome Cliente" + "\t"); lContent.Append("Assessor" + "\t"); lContent.Append("Nome Assessor" + "\t"); lContent.Append("% TR do dia" + "\t"); lContent.Append("% TR no Período" + "\t"); lContent.Append("Total de Compras" + "\t"); lContent.Append("Corretagem" + "\t"); lContent.Append("% CE no dia" + "\t"); lContent.Append("% CE no Período" + "\t"); lContent.Append("Total de Vendas" + "\t"); lContent.Append("Carteira Média" + "\t"); lContent.Append("Carteira Dia" + "\t"); lContent.Append("L1" + "\t"); lContent.Append("Data" + "\t"); lContent.Append("Portas" + "\t"); lContent.Append("Tipo Pessoa\r"); lListaTransporte.ForEach(chu => { lContent.AppendFormat("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t{6}\t{7}\t{8}\t{9}\t{10}\t{11}\t{12}\t{13}\t{14}\t{15}\t{16}\r", chu.CodigoCliente, chu.NomeCliente, chu.CodigoAssessor, chu.NomeAssessor, chu.PercentualTRnoDia, chu.PercentualTRnoPeriodo, chu.ValorCompras, chu.Corretagem, chu.PercentualCEnoDia, chu.PercentualCEnoPeriodo, chu.ValorVendas, chu.CarteiraMedia, chu.ValorCarteiraDia, chu.ValorL1, chu.Data, chu.Portas, chu.TipoPessoa ); }); this.Response.Clear(); this.Response.ContentType = "text/xls"; this.Response.ContentEncoding = Encoding.GetEncoding("iso-8859-1"); this.Response.Charset = "iso-8859-1"; this.Response.AddHeader("content-disposition", "attachment;filename=Churning.xls"); this.Response.Write(lContent.ToString()); this.Response.End(); return(string.Empty); }
private void EfetuaFiltroChurningIntraday(ChurningIntradayInfo pRequest, ref ChurningIntradayInfo lRetorno) { IEnumerable <ChurningIntradayInfo> lRetornoValor; switch (pRequest.enumPercentualCE) { case enumPercentualCE.ABAIXO_10: lRetornoValor = from a in lRetorno.Resultado where a.PercentualCEnoPeriodo <= 10 select a; break; case enumPercentualCE.ENTRE_10_E_15: lRetornoValor = from a in lRetorno.Resultado where a.PercentualCEnoPeriodo > 10 && a.PercentualCEnoPeriodo < 15 select a; break; case enumPercentualCE.ENTRE_15_E_20: lRetornoValor = from a in lRetorno.Resultado where a.PercentualCEnoPeriodo > 15 && a.PercentualCEnoPeriodo < 20 select a; break; case enumPercentualCE.ACIMA_20: lRetornoValor = from a in lRetorno.Resultado where a.PercentualCEnoPeriodo > 20 select a; break; default: lRetornoValor = from a in lRetorno.Resultado select a; break; } lRetorno.Resultado = lRetornoValor.ToList(); switch (pRequest.enumPercentualTR) { case enumPercentualTR.ABAIXO_2: lRetornoValor = from a in lRetorno.Resultado where a.PercentualTRnoPeriodo <= 2 select a; break; case enumPercentualTR.ENTRE_2_E_8: lRetornoValor = from a in lRetorno.Resultado where a.PercentualTRnoPeriodo > 2 && a.PercentualTRnoPeriodo < 8 select a; break; case enumPercentualTR.ACIMA_8: lRetornoValor = from a in lRetorno.Resultado where a.PercentualTRnoPeriodo > 8 select a; break; default: lRetornoValor = from a in lRetorno.Resultado select a; break; } lRetorno.Resultado = lRetornoValor.ToList(); //switch(pRequest.enumTotalCompras) //{ // case enumTotalCompras.ABAIXO_500M: // lRetornoValor = from a in lRetorno.Resultado where a.ValorCompras <= 500000 select a; // break; // case enumTotalCompras.ENTRE_500M_E_1000M: // lRetornoValor = from a in lRetorno.Resultado where a.ValorCompras > 500000 && a.ValorCompras < 1000000 select a; // break; // case enumTotalCompras.ACIMA_1000M : // lRetornoValor = from a in lRetorno.Resultado where a.ValorCompras > 1000000 select a; // break; // default: // lRetornoValor = from a in lRetorno.Resultado select a; // break; //} //lRetorno.Resultado = lRetornoValor.ToList(); //switch (pRequest.enumTotalVendas) //{ // case enumTotalVendas.ABAIXO_500M: // lRetornoValor = from a in lRetorno.Resultado where a.ValorVendas <= 500000 select a; // break; // case enumTotalVendas.ENTRE_500M_E_1000M: // lRetornoValor = from a in lRetorno.Resultado where a.ValorVendas > 500000 && a.ValorVendas < 1000000 select a; // break; // case enumTotalVendas.ACIMA_1000M: // lRetornoValor = from a in lRetorno.Resultado where a.ValorVendas > 1000000 select a; // break; // default: // lRetornoValor = from a in lRetorno.Resultado select a; // break; //} //lRetorno.Resultado = lRetornoValor.ToList(); //switch (pRequest.enumCarteiraMedia) //{ // case enumCarteiraMedia.ABAIXO_500M: // lRetornoValor = from a in lRetorno.Resultado where a.ValorCarteiraMedia <= 500000 select a; // break; // case enumCarteiraMedia.ENTRE_500M_E_1000M: // lRetornoValor = from a in lRetorno.Resultado where a.ValorCarteiraMedia > 500000 && a.ValorCarteiraMedia < 1000000 select a; // break; // case enumCarteiraMedia.ACIMA_1000M: // lRetornoValor = from a in lRetorno.Resultado where a.ValorCarteiraMedia > 1000000 select a; // break; // default: // lRetornoValor = from a in lRetorno.Resultado select a; // break; //} //lRetorno.Resultado = lRetornoValor.ToList(); if (pRequest.CodigoAssessor.HasValue) { List <int> lClientes = ClienteDbLib.ReceberListaClientesAssessoresVinculados(pRequest.CodigoAssessor.Value); lRetornoValor = from a in lRetornoValor where lClientes.Contains(a.CodigoCliente.Value) select a; lRetorno.Resultado = lRetornoValor.ToList(); } }
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); } }