public EnviarOrdemBasketResponse EnviarOrdemBasket(EnviarOrdemBasketRequest _request) { EnviarOrdemBasketResponse _response = new EnviarOrdemBasketResponse(); IServicoOrdens _gServico = Ativador.Get <IServicoOrdens>(); try { ListarItensBasketResponse _resposta = new PersistenciaOrdens().SelecionarItemsBasket(_request.CodigoBasket); foreach (BasketItemInfo info in _resposta.ListaItemsBasket) { EnviarOrdemRequest OrdemRequest = new EnviarOrdemRequest(); ClienteOrdemInfo _ClienteOrdemInfo = new ClienteOrdemInfo(); _ClienteOrdemInfo.CodigoCliente = info.CodigoCliente; _ClienteOrdemInfo.DataHoraSolicitacao = DateTime.Now; _ClienteOrdemInfo.DataValidade = info.DataValidade; if (info.LadoOferta == "C") { _ClienteOrdemInfo.DirecaoOrdem = OrdemDirecaoEnum.Compra; } else { _ClienteOrdemInfo.DirecaoOrdem = OrdemDirecaoEnum.Venda; } _ClienteOrdemInfo.Instrumento = info.Papel; _ClienteOrdemInfo.PortaControleOrdem = _request.PortaControle.ToString(); _ClienteOrdemInfo.Preco = double.Parse(info.Preco.ToString()); _ClienteOrdemInfo.Quantidade = info.Quantidade; _ClienteOrdemInfo.QuantidadeAparente = info.QuantidadeAparente; _ClienteOrdemInfo.QuantidadeMinima = info.QuantidadeMinima; _ClienteOrdemInfo.TipoDeOrdem = OrdemTipoEnum.Limitada; _ClienteOrdemInfo.ValidadeOrdem = Gradual.OMS.RoteadorOrdens.Lib.Dados.OrdemValidadeEnum.ValidaParaODia; OrdemRequest.ClienteOrdemInfo = _ClienteOrdemInfo; EnviarOrdemResponse _resp = _gServico.EnviarOrdem(OrdemRequest); } new PersistenciaOrdens().AtualizarStatusBasket("D", _request.CodigoBasket); _response.Sucesso = true; return(_response); } catch (Exception ex) { throw (ex); } }
public InativarLimiteContratoResponse InativarLimiteContrato(InativarLimiteContratoRequest InativarLimiteContratoRequest) { InativarLimiteContratoResponse response = new InativarLimiteContratoResponse(); try { PersistenciaOrdens PersistenciaOrdens = new PersistenciaOrdens(); response = PersistenciaOrdens.InativarLimiteCliente(InativarLimiteContratoRequest); } catch (Exception ex) { } return(response); }
public ExcluirLimiteBMFResponse InativarLimiteInstrumento(ExcluirLimiteBMFRequest ExcluirLimiteBMFRequest) { ExcluirLimiteBMFResponse response = new ExcluirLimiteBMFResponse(); try { PersistenciaOrdens PersistenciaOrdens = new PersistenciaOrdens(); response = PersistenciaOrdens.InativarLimiteInstrumento(ExcluirLimiteBMFRequest); } catch (Exception ex) { } return(response); }
public ListarLimiteBMFResponse ObterLimiteBMFCliente(ListarLimiteBMFRequest ListarLimiteBMFRequest) { ListarLimiteBMFResponse response = new ListarLimiteBMFResponse(); try { PersistenciaOrdens PersistenciaOrdens = new PersistenciaOrdens(); response = PersistenciaOrdens.ObterLimiteBMFCliente(ListarLimiteBMFRequest); } catch (Exception ex) { } return(response); }
public InserirLimiteBMFInstrumentoResponse AtualizarLimiteInstrumentoBMF(InserirLimiteBMFInstrumentoRequest InserirLimiteBMFInstrumentoRequest) { InserirLimiteBMFInstrumentoResponse response = new InserirLimiteBMFInstrumentoResponse(); try { PersistenciaOrdens PersistenciaOrdens = new PersistenciaOrdens(); response = PersistenciaOrdens.AtualizarLimiteInstrumentoBMF(InserirLimiteBMFInstrumentoRequest); } catch (Exception ex) { response.bSucesso = false; } return(response); }
public EnviarAtualizaoPrecoGlobalBasketResponse EnviarAtualizaoPrecoGlobal(EnviarAtualizaoPrecoGlobalRequest _request) { try { EnviarAtualizaoPrecoGlobalBasketResponse _response = new EnviarAtualizaoPrecoGlobalBasketResponse(); if (_request.IndicadorOscilacao == 'S') { _request.PrecoBasket = (_request.PrecoBasket / 100); } _response = new PersistenciaOrdens().AtualizaocaoGlobalClienteBasket(_request); return(_response); } catch (Exception ex) { throw (ex); } }
private OrdemFIXResponse <OrdemCancelamentoInfo> ParsearOrdemCancelamentoCliente(ClienteCancelamentoInfo pParametro) { OrdemFIXResponse <OrdemCancelamentoInfo> Response = new OrdemFIXResponse <OrdemCancelamentoInfo>(); try { OrdemInfo OrdemInfo = new PersistenciaOrdens().SelecionarOrdemCliente(pParametro.OrderID); OrdemCancelamentoInfo CancelamentoInfo = new OrdemCancelamentoInfo(); CancelamentoInfo.ClOrdID = CtrlNumber; CancelamentoInfo.OrigClOrdID = OrdemInfo.ClOrdID; CancelamentoInfo.ChannelID = OrdemInfo.ChannelID; CancelamentoInfo.Account = OrdemInfo.Account; CancelamentoInfo.OrderID = OrdemInfo.ExchangeNumberID; CancelamentoInfo.OrderQty = OrdemInfo.OrderQty; CancelamentoInfo.Side = OrdemInfo.Side; CancelamentoInfo.Symbol = OrdemInfo.Symbol; if ((OrdemInfo.OrdStatus != OrdemStatusEnum.NOVA) || (OrdemInfo.OrdStatus == OrdemStatusEnum.SUBSTITUIDA) || (OrdemInfo.OrdStatus == OrdemStatusEnum.PARCIALMENTEEXECUTADA)) { Lib.Info.PipeLineCriticaInfo info = new Lib.Info.PipeLineCriticaInfo(); info.Critica = "Não é possível cancelar uma oferta em processamento. Esta oferta pode estar cancelada ou cancelando / executada ou executando. "; info.CriticaTipo = CriticaRiscoEnum.ErroNegocio; info.DataHoraCritica = DateTime.Now; Response.CriticaInfo = new List <Lib.Info.PipeLineCriticaInfo>(); Response.CriticaInfo.Add(info); Response.StatusResposta = CriticaRiscoEnum.ErroNegocio; Response.DataResposta = DateTime.Now; Response.DescricaoResposta = "O Sistema de risco encontrou <" + Response.CriticaInfo.Count.ToString() + "> item(s) a serem verificados"; return(Response); } if (OrdemInfo.Symbol.Substring(OrdemInfo.Symbol.Length - 1, 1) == "F") { OrdemInfo.Symbol = OrdemInfo.Symbol.Remove(OrdemInfo.Symbol.Length - 1); } // Defini o Exchange pelo cadastro de papeis CadastroPapeisResponse <CadastroPapelInfo> CadastroPapeis = new ServicoCadastroPapeis().ObterInformacoesIntrumento( new CadastroPapeisRequest() { Instrumento = OrdemInfo.Symbol }); if (CadastroPapeis.Objeto == null) { Lib.Info.PipeLineCriticaInfo info = new Lib.Info.PipeLineCriticaInfo(); info.Critica = "Instrumento não encontrado"; info.CriticaTipo = CriticaRiscoEnum.ErroNegocio; info.DataHoraCritica = DateTime.Now; Response.CriticaInfo = new List <Lib.Info.PipeLineCriticaInfo>(); Response.CriticaInfo.Add(info); Response.StatusResposta = CriticaRiscoEnum.ErroNegocio; Response.DataResposta = DateTime.Now; Response.DescricaoResposta = "O Sistema de risco encontrou <" + Response.CriticaInfo.Count.ToString() + "> item(s) a serem verificados"; return(Response); } if (CadastroPapeis.Objeto.TipoMercado == OMS.CadastroPapeis.Lib.Enum.TipoMercadoEnum.FUTURO) { CancelamentoInfo.Exchange = "BMF"; CancelamentoInfo.SecurityID = new PersistenciaCadastroAtivos().ObterSecurityList(OrdemInfo.Symbol); } else { CancelamentoInfo.Exchange = "BOVESPA"; } Response.Objeto = CancelamentoInfo; Response.StatusResposta = CriticaRiscoEnum.Sucesso; Response.DataResposta = DateTime.Now; Response.DescricaoResposta = "Ordem parseado com sucesso"; } catch (Exception ex) { Lib.Info.PipeLineCriticaInfo info = new Lib.Info.PipeLineCriticaInfo(); info.Critica = ex.Message; info.CriticaTipo = CriticaRiscoEnum.ErroNegocio; info.DataHoraCritica = DateTime.Now; Response.CriticaInfo = new List <Lib.Info.PipeLineCriticaInfo>(); Response.CriticaInfo.Add(info); Response.StatusResposta = CriticaRiscoEnum.Exception; Response.DataResposta = DateTime.Now; Response.DescricaoResposta = "Ocorreu um erro ao parsear a mensagem"; } return(Response); }