public void AbandonQuotePrice(QuotePriceClient quotePrice, QuotePriceForInstrument quotePriceForInstrument, bool isSigle, Button btn) { if (quotePriceForInstrument != null) { List<Answer> quoteQuotations = new List<Answer>(); if (isSigle) { if (quotePrice != null) { quoteQuotations.Add(quotePrice.ToSendQutoPrice()); } } else { quoteQuotations = quotePriceForInstrument.GetSelectedQuotePriceForAccount(); } if (quoteQuotations.Count > 0) { var AbandonQuoteEventLog = new EventLogEntity(Guid.NewGuid()) { //write log }; } //Notify service string exchangeCode = string.Empty; ConsoleClient.Instance.AbandonQuote(quoteQuotations); } }
private void SendQuotePrice(QuotePriceClient quotePrice, QuotePriceForInstrument quotePriceForInstrument, bool isSingle, Button btn) { if (quotePriceForInstrument != null) { List<Answer> ToSendQutoPrices = new List<Answer>(); if (isSingle) { if (quotePrice != null) { ToSendQutoPrices.Add(quotePrice.ToSendQutoPrice()); } } else { ToSendQutoPrices = quotePriceForInstrument.GetSelectedQuotePriceForAccount(); } if (ToSendQutoPrices.Count > 0) { var ConfirmedQuoteEventLog = new EventLogEntity(Guid.NewGuid()) { //Write Log }; object[] abandonStatus = new object[] { ConfirmedQuoteEventLog, btn }; ConsoleClient.Instance.SendQuotePrice(ToSendQutoPrices); } } }
void MessageClient_QuotePriceReceived(QuoteMessage quoteMessage) { this.Dispatcher.BeginInvoke((Action<QuoteMessage>)delegate(QuoteMessage result) { //声音处理 MediaManager.PlayMedia(this._Media, MediaManager._EnquiryMediaSource); int waiteTime = 50; //取初始化数据系统参数 Guid customerId = result.CustomerID; //通过CustomerId获取Customer对象 //var customer = this._Customers.SingleOrDefault(P => P.id == customerId); var customer = new Customer(); customer.Id = result.CustomerID; customer.Code = "WF007"; QuotePriceClient quotePriceClient = new QuotePriceClient(result, waiteTime, customer); QuotePriceForInstrument clientQuotePriceForInstrument = null; clientQuotePriceForInstrument = this._ClientQuotePriceForInstrument.SingleOrDefault(P => P.InstrumentClient.Id == quotePriceClient.InstrumentId); if (clientQuotePriceForInstrument == null) { //从内存中获取Instrument //var instrumentEntity = this._Instruments.SingleOrDefault(P => P.InstrumentId == clientQuotePriceForAccount.InstrumentId); clientQuotePriceForInstrument = new QuotePriceForInstrument(); var instrument = this.GetInstrument(quotePriceClient); clientQuotePriceForInstrument.InstrumentClient = instrument; clientQuotePriceForInstrument.Origin = instrument.Origin; clientQuotePriceForInstrument.Adjust = decimal.Parse(instrument.Origin); clientQuotePriceForInstrument.AdjustLot = quotePriceClient.QuoteLot; this._ClientQuotePriceForInstrument.Add(clientQuotePriceForInstrument); } clientQuotePriceForInstrument.OnEmptyQuotePriceClient += new QuotePriceForInstrument.EmptyQuotePriceHandle(ClientQuotePriceForInstrument_OnEmptyClientQuotePriceClient); //clientQuotePriceForInstrument.OnEmptyCheckBoxClient += new QuotePriceForInstrument.EmptyCheckBoxHandle(ClientQuotePriceForInstrument_OnEmptyCheckBoxClient); clientQuotePriceForInstrument.AddNewQuotePrice(quotePriceClient); if (!this._QuoteTimer.IsEnabled) { this._QuoteTimer.Start(); } }, quoteMessage); }
void ClientQuotePriceForInstrument_OnEmptyClientQuotePriceClient(QuotePriceForInstrument clientQuotePriceForInstrument) { this._ClientQuotePriceForInstrument.Remove(clientQuotePriceForInstrument); }
public void RemoveSendQuotePrice(QuotePriceClient quotePriceClient) { bool isCurrentQuotePrice = (quotePriceClient.Id == this.QuotePriceForInstrument.QuoteId); this.QuotePriceClients.Remove(quotePriceClient); if (this.QuotePriceClients.Count == 0) { this.QuotePriceForInstrument = null; return; } bool isCurrentInstrument = (quotePriceClient.InstrumentId == this.QuotePriceClients[0].InstrumentId); if (isCurrentInstrument && this.QuotePriceClients.Count > 0) { this.QuotePriceForInstrument.SwitchNewInstrument(this.QuotePriceClients[0],false); this.QuotePriceForInstrument.SumBuyLot -= quotePriceClient.BuyLot; this.QuotePriceForInstrument.SumSellLot -= quotePriceClient.SellLot; } else { this.QuotePriceForInstrument.SwitchNewInstrument(this.QuotePriceClients[0], true); var quotePriceClients = this.QuotePriceClients.Where(P => P.InstrumentId == this.QuotePriceForInstrument.Instrument.Id); foreach (QuotePriceClient entity in quotePriceClients) { this.QuotePriceForInstrument.SumBuyLot += entity.BuyLot; this.QuotePriceForInstrument.SumSellLot += entity.SellLot; } } this.QuotePriceForInstrument.CreateBestPrice(true); }
public void AddSendQuotePrice(QuotePriceClient quotePriceClient) { this.QuotePriceClients.Add(quotePriceClient); if (this.QuotePriceForInstrument == null) { this.QuotePriceForInstrument = new QuotePriceForInstrument(quotePriceClient); if (this.OnBindingQuotePriceUIEvent != null) { this.OnBindingQuotePriceUIEvent(); } } else { bool isCurrentInstrument = (quotePriceClient.InstrumentId == this.QuotePriceForInstrument.Instrument.Id); if (isCurrentInstrument) { this.QuotePriceForInstrument.SumBuyLot += quotePriceClient.BuyLot; this.QuotePriceForInstrument.SumSellLot += quotePriceClient.SellLot; } this.QuotePriceForInstrument.CreateBestPrice(true); } }