Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pAccount"></param>
        /// <param name="pCodBmf"></param>
        /// <param name="pDataDe"></param>
        /// <param name="pDataAte"></param>
        /// <param name="pChannelId"></param>
        /// <param name="pSymbol"></param>
        /// <param name="pOrderStatusId"></param>
        /// <param name="pCodigoAssessor"></param>
        /// <returns></returns>
        public BuscarOrdensResponse BuscarOrdens(BuscarOrdensRequest pRequest)
        {
            AcessaDados lAcessaDados = new AcessaDados();

            lAcessaDados.ConnectionStringName = ClienteDbLib.gNomeConexaoRisco;

            BuscarOrdensResponse lRetorno = new BuscarOrdensResponse();

            lRetorno.Ordens = new List <OrdemInfo>();

            List <OrdemInfo> lResponseOrdens = new List <OrdemInfo>();

            using (DbCommand lDbCommand = lAcessaDados.CreateCommand(System.Data.CommandType.StoredProcedure, "prc_buscar_ordens"))
            {
                lAcessaDados.AddInParameter(lDbCommand, "@Account", DbType.Int32, pRequest.ContaDoCliente);
                lAcessaDados.AddInParameter(lDbCommand, "@CodBmf", DbType.Int32, pRequest.CodigoBmfDoCliente);
                lAcessaDados.AddInParameter(lDbCommand, "@DataDe", DbType.DateTime, pRequest.DataDe);
                lAcessaDados.AddInParameter(lDbCommand, "@DataAte", DbType.DateTime, pRequest.DataAte);
                lAcessaDados.AddInParameter(lDbCommand, "@ChannelId", DbType.Int32, pRequest.Canal);
                lAcessaDados.AddInParameter(lDbCommand, "@Symbol", DbType.AnsiString, pRequest.Instrumento);
                lAcessaDados.AddInParameter(lDbCommand, "@OrdStatusId", DbType.Int32, pRequest.Status == null ? new Nullable <int>() : (int)pRequest.Status);
                lAcessaDados.AddInParameter(lDbCommand, "@CodigoAssessor", DbType.Int32, pRequest.CodigoAssessor);
                //lAcessaDados.AddInParameter(lDbCommand, "@id_sistema", DbType.Int32, pRequest.IdSistemaOrigem);

                DataTable lDataTable = lAcessaDados.ExecuteDbDataTable(lDbCommand);

                lResponseOrdens = PreencherOrdensInfoDaVwOrderDetails(lDataTable);

                this.BuscarAssessoresFiltro(pRequest.CodigoAssessor, ref lResponseOrdens);

                lRetorno.Ordens = lResponseOrdens;
            }
            return(lRetorno);
        }
        public List <TransporteResultadoOrdens> ToListTransporteResultadoOrdens(BuscarOrdensResponse pInfo)
        {
            var lRetorno = new List <TransporteResultadoOrdens>();

            pInfo.Ordens.ForEach(delegate(OrdemInfo orfo)
            {
                lRetorno.Add(new TransporteResultadoOrdens()
                {
                    Id            = string.IsNullOrWhiteSpace(orfo.ClOrdID.Trim()) ? orfo.IdOrdem.ToString() : orfo.ClOrdID,
                    IdOrdem       = orfo.IdOrdem.ToString(),
                    CompraVenda   = OrdemDirecaoEnum.Compra.Equals(orfo.Side) ? "C" : "V",
                    CodigoCliente = orfo.Account.ToString(),
                    //Envida              = o,
                    Hora                = orfo.RegisterTime.ToString("HH:mm"),
                    NumeroOrdem         = orfo.ClOrdID,
                    Papel               = orfo.Symbol,
                    Preco               = orfo.Price.ToString("N2"),
                    Quantidade          = orfo.OrderQty.DBToString(),
                    QuantidadeExecutada = (orfo.OrderQty - orfo.OrderQtyRemmaining).DBToString(),
                    Status              = this.TraduzirStatus(orfo.OrdStatus),
                    Tipo                = orfo.TimeInForce.ToString(),
                    Validade            = (orfo.ExpireDate.Value.ToString("dd/MM/yyyy") != "01/01/0001") ? orfo.ExpireDate.Value.ToString("dd/MM/yyyy") : "-",
                    Porta               = orfo.ChannelID.ToString()
                });
            });

            return(lRetorno);
        }
Example #3
0
        /// <summary>
        /// Retorna uma busca pelos itens da listagem simples
        /// </summary>
        /// <returns></returns>
        private string ResponderBuscarItensParaListagemSimples()
        {
            this.Session["HoraInicial"] = null;
            this.Session["HoraFinal"]   = null;
            //lRequest.Canal = GetBolsa;
            gRequest.Instrumento         = GetPapel;
            gRequest.Origem              = GetOrigem;
            gRequest.Status              = GetStatus;
            gRequest.DataDe              = GetDataHoraInicial;
            gRequest.DataAte             = GetDataHoraFinal;
            gRequest.ContaDoCliente      = GetTermoBusca;
            gRequest.CodigoAssessor      = CodigoAssessor;
            gRequest.PaginaCorrente      = 1;
            gRequest.QtdeLimiteRegistros = 20;
            gRequest.TotalRegistros      = 0;
            gRequest.IdSistemaOrigem     = this.GetIdSistemaOrigem;

            string lRetorno = string.Empty;

            try
            {
                TransporteDeListaPaginada lLista = new TransporteDeListaPaginada();

                MonitoramentoOrdemDbLib lServico = new MonitoramentoOrdemDbLib();

                BuscarOrdensResponse lResponse = null;

                if (GetOrigem != null && (GetOrigem.Equals("HB") || GetOrigem.Equals("GTI") || GetOrigem.Equals("PORTAL")))
                {
                    lResponse = lServico.BuscarOrdensNovoOMS(gRequest);

                    lResponse.TotalItens = lResponse.Ordens.Count;

                    this.SessionUltimoResultadoDeBusca = this.FiltrarSentidoBolsaOrigem(lResponse.Ordens).ToList();
                }


                lLista = BuscarPaginaDeResultados(1);

                if (lLista.TotalDeItens > 0)
                {
                    lRetorno = RetornarSucessoAjax(lLista, string.Format("Foram encontrados {0} registros", lLista.TotalDeItens.ToString())); //O grid espera o objeto direto, sem estar encapsulado
                    base.RegistrarLogConsulta();
                }
                else
                {
                    lRetorno = RetornarSucessoAjax(lLista, "Nenhum registro encontrado!");
                }
            }
            catch (Exception exBusca)
            {
                base.RetornarErroAjax("Erro ao buscar dados de ordem", exBusca);
            }
            return(lRetorno);
        }
Example #4
0
        /// <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);
        }