private static SalvarEntidadeResponse <MonitoramentoRiscoLucroPrejuizoParametrosInfo> Salvar(SalvarObjetoRequest <MonitoramentoRiscoLucroPrejuizoParametrosInfo> pParametros) { var lRetorno = new SalvarEntidadeResponse <MonitoramentoRiscoLucroPrejuizoParametrosInfo>(); lRetorno.Objeto = new MonitoramentoRiscoLucroPrejuizoParametrosInfo(); lRetorno.Objeto = pParametros.Objeto; var lAcessaDados = new AcessaDados(); lAcessaDados.ConnectionStringName = ClienteDbLib.gNomeConexaoRisco; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_monitores_risco_janela_ins")) { lAcessaDados.AddInParameter(lDbCommand, "@id_usuario", DbType.Int32, pParametros.Objeto.IdUsuario); lAcessaDados.AddInParameter(lDbCommand, "@ds_nomejanela", DbType.AnsiString, pParametros.Objeto.NomeJanela); lAcessaDados.AddInParameter(lDbCommand, "@ds_colunas", DbType.AnsiString, pParametros.Objeto.Colunas); lAcessaDados.AddInParameter(lDbCommand, "@ds_consulta", DbType.AnsiString, pParametros.Objeto.Consulta); lAcessaDados.AddOutParameter(lDbCommand, "@id_janela", DbType.Int32, 8); lAcessaDados.ExecuteNonQuery(lDbCommand); lRetorno.Objeto.IdJanela = Convert.ToInt32(lDbCommand.Parameters["@id_janela"].Value); } return(lRetorno); }
/// <summary> /// Obtem o saldo em conta corrente do cliente /// </summary> /// <param name="pParametro">Objeto com parametros do cliente</param> /// <returns>Objeto SaldoContaCorrenteResponse com as informacoes de saldo em conta corrente do cliente </returns> public SaldoContaCorrenteResponse <ContaCorrenteInfo> ObterSaldoContaCorrente(SaldoContaCorrenteRequest pParametro) { AcessaDados lAcessaDados = new AcessaDados(); SaldoContaCorrenteResponse <ContaCorrenteInfo> _SaldoContaCorrente = new SaldoContaCorrenteResponse <ContaCorrenteInfo>(); try { ContaCorrenteInfo lRetorno = new ContaCorrenteInfo(); lAcessaDados.ConnectionStringName = gNomeConexao; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "pccsaldoprojetado")) { lAcessaDados.AddInParameter(lDbCommand, "PCODCLIENTE", DbType.AnsiString, pParametro.IdCliente.DBToString()); lAcessaDados.AddOutParameter(lDbCommand, "PSALDO", DbType.Decimal, 12); lAcessaDados.AddOutParameter(lDbCommand, "PD1", DbType.Decimal, 12); lAcessaDados.AddOutParameter(lDbCommand, "PD2", DbType.Decimal, 12); lAcessaDados.AddOutParameter(lDbCommand, "PD3", DbType.Decimal, 12); lAcessaDados.ExecuteNonQuery(lDbCommand); lRetorno.SaldoD0 = lAcessaDados.GetParameterValue(lDbCommand, "PSALDO").DBToDecimal(); lRetorno.SaldoD1 = lAcessaDados.GetParameterValue(lDbCommand, "PD1").DBToDecimal(); lRetorno.SaldoD2 = lAcessaDados.GetParameterValue(lDbCommand, "PD2").DBToDecimal(); lRetorno.SaldoD3 = lAcessaDados.GetParameterValue(lDbCommand, "PD3").DBToDecimal(); lRetorno.SaldoContaMargem = this.ObtemSaldoContaMargem(pParametro.IdCliente); _SaldoContaCorrente.Objeto = lRetorno; _SaldoContaCorrente.DescricaoResposta = string.Format("Saldo de conta corrente do cliente: {0} carregado com sucesso", pParametro.IdCliente.DBToString()); _SaldoContaCorrente.StatusResposta = CriticaMensagemEnum.OK; } } catch (Exception ex) { _SaldoContaCorrente.DescricaoResposta = ex.Message; _SaldoContaCorrente.StackTrace = ex.StackTrace; _SaldoContaCorrente.StatusResposta = CriticaMensagemEnum.Exception; _SaldoContaCorrente.Objeto = null; } return(_SaldoContaCorrente); }
public static SalvarEntidadeResponse <AlteracaoDeVendaInfo> SalvarAlteracaoDeVenda(SalvarObjetoRequest <AlteracaoDeVendaInfo> pParametros) { try { SalvarEntidadeResponse <AlteracaoDeVendaInfo> lResponse; AcessaDados lAcessaDados = new AcessaDados(); lAcessaDados.ConnectionStringName = VendasDbLib.NomeDaConexaoDeVendas; using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_venda_alteracao_ins")) { lAcessaDados.AddInParameter(lDbCommand, "id_venda", DbType.Int32, pParametros.Objeto.IdVenda); lAcessaDados.AddInParameter(lDbCommand, "ds_propriedades", DbType.String, pParametros.Objeto.DsPropriedades); lAcessaDados.AddInParameter(lDbCommand, "ds_valores_anteriores", DbType.String, pParametros.Objeto.DsValoresAnteriores); lAcessaDados.AddInParameter(lDbCommand, "ds_valores_modificados", DbType.String, pParametros.Objeto.DsValoresModificados); lAcessaDados.AddInParameter(lDbCommand, "dt_data", DbType.DateTime, pParametros.Objeto.DtData); lAcessaDados.AddInParameter(lDbCommand, "ds_usuario", DbType.String, pParametros.Objeto.DsUsuario); lAcessaDados.AddInParameter(lDbCommand, "ds_motivo", DbType.String, pParametros.Objeto.DsMotivo); lAcessaDados.AddOutParameter(lDbCommand, "CodigoVendaAlteracao", DbType.Int32, 8); lAcessaDados.ExecuteNonQuery(lDbCommand); lResponse = new SalvarEntidadeResponse <AlteracaoDeVendaInfo>(); lResponse.Codigo = lDbCommand.Parameters["CodigoVendaAlteracao"].Value.DBToInt32(); LogCadastro.Logar(pParametros.Objeto, pParametros.IdUsuarioLogado, pParametros.DescricaoUsuarioLogado, LogCadastro.eAcao.Inserir); return(lResponse); } } catch (Exception ex) { LogCadastro.Logar(pParametros.Objeto, pParametros.IdUsuarioLogado, pParametros.DescricaoUsuarioLogado, LogCadastro.eAcao.Inserir, ex); throw ex; } }
/// <summary> /// Realiza a consulta do extrato de conta corrente de um cliente. /// </summary> /// <param name="pParametros">Data início/fim da pesquisa, código do cliente no Sinacor e nome do cliente.</param> /// <returns>Lista com dados do extrato do cliente.</returns> public ContaCorrenteExtratoResponse ConsultarExtratoContaCorrente(ContaCorrenteExtratoRequest pParametros) { var lAcessaDados = new AcessaDados(); var lDataTable = new DataTable(); var lRetorno = new ContaCorrenteExtratoResponse(); var lContaCorrenteMovimentoRelInfo = new ContaCorrenteMovimentoInfo(); decimal lSaldoDAnterior, lSaldoDisponivel, lSaldoTotal, lLancamento; try { gLogger.Debug(String.Format("Inicio ConsultarExtratoContaCorrente. Cliente: {0}", pParametros.ConsultaCodigoCliente)); if (pParametros.ConsultaCodigoCliente == 0) { return(null); } lAcessaDados = new AcessaDados(); lAcessaDados.ConnectionStringName = "SINACOR"; var lProcedure = EnumTipoExtradoDeConta.Liquidacao.Equals(pParametros.ConsultaTipoExtratoDeConta) ? "PRC_EXTRATO_CC_LIQUI_SEL" : "PRC_EXTRATO_CC_MOVTO_SEL"; using (DbCommand lComando = lAcessaDados.CreateCommand(CommandType.StoredProcedure, lProcedure)) { lAcessaDados.AddInParameter(lComando, "pcd_cliente", DbType.Int32, pParametros.ConsultaCodigoCliente); lAcessaDados.AddInParameter(lComando, "pdt_inicio", DbType.DateTime, pParametros.ConsultaDataInicio); lAcessaDados.AddInParameter(lComando, "pdt_fim", DbType.DateTime, pParametros.ConsultaDataFim); lAcessaDados.AddOutParameter(lComando, "psaldo_d_anterior", DbType.VarNumeric, 4); lAcessaDados.AddOutParameter(lComando, "psaldo_disponivel", DbType.VarNumeric, 4); lAcessaDados.AddOutParameter(lComando, "psaldo_total", DbType.VarNumeric, 4); lDataTable = lAcessaDados.ExecuteOracleDataTable(lComando); lSaldoDAnterior = Convert.ToDecimal(lAcessaDados.GetParameterValue(lComando, "psaldo_d_anterior")); lSaldoDisponivel = Convert.ToDecimal(lAcessaDados.GetParameterValue(lComando, "psaldo_disponivel")); lSaldoTotal = Convert.ToDecimal(lAcessaDados.GetParameterValue(lComando, "psaldo_total")); } lLancamento = 0; lRetorno.Relatorio.CodigoCliente = pParametros.ConsultaCodigoCliente.Value; lRetorno.Relatorio.NomeCliente = BuscarNomeDoClienteSeNecessario(pParametros.ConsultaCodigoCliente, pParametros.ConsultaNomeCliente); // pParametros.CodigoCliente.ToString(); //TODO: De onde vem o nome do cliente? lRetorno.Relatorio.SaldoAnterior = lSaldoDAnterior; lRetorno.Relatorio.SaldoDisponivel = lSaldoDisponivel; lRetorno.Relatorio.SaldoTotal = lSaldoTotal; foreach (DataRow lRow in lDataTable.Rows) { lContaCorrenteMovimentoRelInfo = new ContaCorrenteMovimentoInfo(); if (!Convert.IsDBNull(lRow["Credito"])) { lLancamento = Convert.ToDecimal(lRow["Credito"]); lContaCorrenteMovimentoRelInfo.ValorCredito = lLancamento; lSaldoDAnterior += lLancamento; } else { lLancamento = (Math.Abs(Convert.ToDecimal(lRow["Debito"])) * -1); lContaCorrenteMovimentoRelInfo.ValorDebito = lLancamento; lSaldoDAnterior += lLancamento; } lContaCorrenteMovimentoRelInfo.DataMovimento = lRow["dt_lancamento"].DBToDateTime(); lContaCorrenteMovimentoRelInfo.DataLiquidacao = lRow["dt_liquidacao"].DBToDateTime(); lContaCorrenteMovimentoRelInfo.ValorSaldo = lSaldoDAnterior; lContaCorrenteMovimentoRelInfo.Historico = lRow["ds_lancamento"].ToString(); //lSaldoDAnterior += lLancamento; lRetorno.Relatorio.ListaContaCorrenteMovimento.Add(lContaCorrenteMovimentoRelInfo); } lRetorno.StatusResposta = CriticaMensagemEnum.OK; } catch (Exception ex) { gLogger.Error("ConsultarExtratoContaCorrente", ex); lRetorno.DescricaoResposta = ex.ToString(); lRetorno.StackTrace = ex.StackTrace; lRetorno.StatusResposta = CriticaMensagemEnum.Exception; } finally { lAcessaDados = null; lDataTable.Dispose(); lDataTable = null; } gLogger.Debug(String.Format("Fim ConsultarExtratoContaCorrente. Cliente: {0}. Descrição Resposta: {1}, count: {2}, consulta de {3} até {4}", pParametros.ConsultaCodigoCliente, lRetorno.StatusResposta, lRetorno.Relatorio.ListaContaCorrenteMovimento.Count.ToString(), pParametros.ConsultaDataInicio.ToString(), pParametros.ConsultaDataFim.ToString())); 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); }