public void HandlePublishedNewRequestEvent(NewRequestForQuoteEventPayload eventPayload) { if (eventPayload == null) { throw new ArgumentNullException("eventPayload"); } IRequestForQuote request = new RequestForQuoteImpl(); request.Legs = optionRequestParser.ParseRequest(eventPayload.NewRequestText.ToUpper(), request); request.Request = eventPayload.NewRequestText; request.Status = StatusEnum.PENDING; request.Identifier = -1; request.Client = eventPayload.NewRequestClient; request.TradeDate = DateTime.Today; if (request.Legs != null) { request.ExpiryDate = request.Legs[0].MaturityDate; } request.LotSize = 100; request.Multiplier = 10; request.Contracts = 100; request.NotionalFXRate = 1; request.NotionalMillions = 1; request.BookCode = eventPayload.NewRequestBookCode; request.DayCountConvention = 250.0; request.PremiumSettlementFXRate = 1; request.SalesCreditFXRate = 1; request.IsOTC = true; request.SalesCreditPercentage = 2; request.PremiumSettlementDaysOverride = 1; request.PremiumSettlementDate = DateTime.Today.AddDays(request.PremiumSettlementDaysOverride); request.CalculatePricing(optionRequestPricer); TodaysRequests.Add(request); Requests.Clear(); Requests.AddRange(TodaysRequests); NotifyPropertyChanged("Requests"); // TODO - add all fields with their defaults. if (log.IsDebugEnabled) { log.Debug("Received and prcoessed published new request for quote => " + request); } }
public void HandleNewSerializedRequestEvent(NewSerializedRequestEventPayload eventPayload) { if (eventPayload == null) { throw new ArgumentNullException("eventPayload"); } if (log.IsDebugEnabled) { log.Debug("Received new serialized request: " + eventPayload); } if (TodaysRequests.All(request => request.Identifier != eventPayload.NewSerializedRequest.Identifier) && eventPayload.NewSerializedRequest.TradeDate == DateTime.Today) { Requests.Add(eventPayload.NewSerializedRequest); } }