public void Send(TradeRequest tradeRequest)
 {            
     NmsTemplate.ConvertAndSendWithDelegate(tradeRequest, delegate(IMessage message)
                                                              {
                                                                  message.NMSReplyTo = defaultReplyToQueue;
                                                                  message.NMSCorrelationID = new Guid().ToString();
                                                                  return message;
                                                              });
 }        
 public TradeResponse ExecuteTradeRequest(TradeRequest request)
 {
     TradeResponse response = new TradeResponse();
     response.OrderType = request.OrderType;
     response.Price = CalculatePrice(request.Ticker, request.Quantity, request.OrderType, request.Price, request.UserName);
     response.Quantity = request.Quantity;
     response.Ticker = request.Ticker;
     response.ConfirmationNumber = new Guid().ToString();
     return response;
 }
Example #3
0
 public void SendTradeRequest()
 {
     TradeRequest tradeRequest = new TradeRequest();
     tradeRequest.AccountName = "ACCT-123";
     tradeRequest.BuyRequest = true;
     tradeRequest.OrderType = "MARKET";
     tradeRequest.Quantity = 314000000;
     tradeRequest.RequestID = "REQ-1";
     tradeRequest.Ticker = "CSCO";
     tradeRequest.UserName = "******";
     
     stockService.Send(tradeRequest);
 }       
Example #4
0
 public TradeResponse Handle(TradeRequest tradeRequest)
 {
     TradeResponse tradeResponse;
     ArrayList errors = new ArrayList();
     if (creditCheckService.CanExecute(tradeRequest, errors))
     {
         tradeResponse = executionVenueService.ExecuteTradeRequest(tradeRequest);
     }
     else
     {
         tradeResponse = new TradeResponse();
         tradeResponse.Error = true;
         tradeResponse.ErrorMessage = StringUtils.ArrayToCommaDelimitedString(errors.ToArray());
         
     }
     tradingService.ProcessTrade(tradeRequest, tradeResponse);
     return tradeResponse;
 }
 public void ProcessTrade(TradeRequest request, TradeResponse response)
 {
     //do nothing implementation, typical implementations would persist state to the database.
 }
 public TradeResponse Send(TradeRequest tradeRequest)
 {
     RequestReplyNmsTemplate requestReplyNmsTemplate = (RequestReplyNmsTemplate) NmsTemplate;
     return (TradeResponse)requestReplyNmsTemplate.ConvertAndSendRequestReply(tradeRequest);
 }
 public bool CanExecute(TradeRequest tradeRequest, IList errors)
 {
     return true;
 }