예제 #1
0
 public void UpdateTrade(TradeResponse trade)
 {
     Invoke(new MethodInvoker(
                delegate
                    {
                        tradeRequestStatusTextBox.Text = "Confirmed. " + trade.Ticker + " " + trade.Price;
                    }));
 }
 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;
 }
예제 #3
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;
 }
예제 #4
0
 public void Handle(TradeResponse tradeResponse)
 {
     log.Info(string.Format("Received trade resonse.  Ticker = {0}, Price = {1}", tradeResponse.Ticker, tradeResponse.Price));
     stockController.UpdateTrade(tradeResponse);
 }
예제 #5
0
 public void UpdateTrade(TradeResponse tradeResponse)
 {
     stockForm.UpdateTrade(tradeResponse);
 }
예제 #6
0
 public void ProcessTrade(TradeRequest request, TradeResponse response)
 {
     //do nothing implementation, typical implementations would persist state to the database.
 }