Пример #1
0
 internal void Process(Protocal.TradingCommand bookCommand, ICommandBroadcast broadcast)
 {
     try
     {
         if (string.IsNullOrEmpty(bookCommand.Content))
         {
             return;
         }
         XElement accountElement = XElement.Parse(bookCommand.Content);
         Guid     accountId      = accountElement.AttrToGuid("ID");
         var      account        = (Account)AccountRepository.Default.Get(accountId);
         if (account == null)
         {
             return;
         }
         Protocal.Commands.ChangedFund changedFund;
         var changes = account.Update(accountElement, out changedFund);
         var tran    = (Transaction)changes.Single().Tran;
         Protocal.Commands.TransactionMapping.Default.Update(account, changes);
         var affectedOrders = this.CreateAffectedOrders(tran);
         broadcast.BoardcastBookResult(StateServer.Token, tran.ToXml().ToXmlNode(), account.ToXml().ToXmlNode(), affectedOrders);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
     }
 }
Пример #2
0
 internal void Initialize(ICommandBroadcast broadcast, string connectionString, TransactionAdaptor transactionAdaptor)
 {
     _broadcast                      = broadcast;
     _connectionString               = connectionString;
     _transactionAdaptor             = transactionAdaptor;
     _changedContentCommandProcessor = new ChangedContentCommandProcessor(_token, _broadcast);
 }
 internal ChangedContentCommandProcessor(Token token, ICommandBroadcast broadcast)
 {
     _broadcast = broadcast;
     _token     = token;
     _mapper    = new Mapper(broadcast);
     _mapper.Start();
 }
Пример #4
0
 internal Mapper(ICommandBroadcast broadcast)
 {
     _broadcast = broadcast;
 }
Пример #5
0
 internal TransactionAdaptor(string systemControllerUrl, string quotationServiceUrl, ICommandBroadcast commandBroadcast, string connectionString)
 {
     Logger.InfoFormat("in constructor,systemControllerUrl = {0}", systemControllerUrl);
     _proxy            = new SystemControllerProxy(systemControllerUrl);
     _outerService     = new OuterTransactionService(connectionString, _proxy);
     _connectionString = connectionString;
     CommandManager.Default.Initialize(commandBroadcast, connectionString, this);
     this.InitializeDBData(connectionString);
     this.RegisterToSystemController();
     _quotationManager = new QuotationManager(quotationServiceUrl);
     DBHelper.Initialize(connectionString);
 }