Пример #1
0
        public Common.Entities.Deal MakeDeal(UnitOfWork unit, Common.Entities.Order order, DateTime dateTime, decimal price)
        {
            Random rnd = new Random();

            Common.Entities.Deal deal = new Common.Entities.Deal()
            {
                Number      = rnd.Next(7000, 900000),
                OrderNumber = order.Number,
                Code        = order.Code,
                Time        = dateTime.ToString("HH:mm"),
                Date        = dateTime.ToString("dd:MM:yyyy"),
                Operation   = order.OrderOperation.ToString(),
                Account     = order.Account,
                Price       = price,
                Count       = order.Count,
                Volume      = price * order.Count,
                Class       = order.Class
            };

            unit.DealRepository.Create(deal);

            MoneyLimit money = unit.MoneyLimitRepository.Query <MoneyLimit>(m => m.Type == "T2").Single();

            if (order.OrderOperation == OrderOperationEnum.Buy)
            {
                money.Available -= order.Count * price;
            }

            if (order.OrderOperation == OrderOperationEnum.Sell)
            {
                money.Available += order.Count * price;
            }

            return(deal);
        }
Пример #2
0
 public void OnMoneyLimit(MoneyLimitEx mLimit)
 {
     MoneyLimit?.Invoke(_quik, mLimit);
 }