public async Task Handle(NewOrderEvent @event)
        {
            var transaction = new AddOrderTransaction();

            transaction.Amount   = @event.Amount;
            transaction.Exchange = (int)@event.Exchange;
            transaction.Id       = @event.Id.ToString();
            transaction.Price    = @event.Price;
            transaction.Symbols  = @event.Symbols.ToString();
            transaction.Type     = (int)@event.Type;
            transaction.DateTime = @event.DateTime.DateTime;
            transaction.Status   = (int)OrderStatus.Opened;
            transaction.Volume   = 0;

            await bus.SendAsync(transaction);
        }
예제 #2
0
        public OrderReporting.PersistentObject MapFromAddOrderTransaction(AddOrderTransaction transaction)
        {
            var symbol = transaction.Symbols.Split('-');
            var result = new OrderReporting.PersistentObject
            {
                CreatedTimeUtc     = DateTime.UtcNow,
                Exchange           = transaction.Exchange,
                FromCurrencySymbol = symbol[1],
                Id               = transaction.Id,
                Price            = transaction.Price,
                Status           = transaction.Status,
                ToCurrencySymbol = symbol[0],
                TotalAmount      = transaction.Amount,
                Type             = transaction.Type,
                Volume           = transaction.Volume
            };

            return(result);
        }