Ejemplo n.º 1
0
        public TradeOperation ProcessTrade(Trader seller, Trader buyer, Stock tradable)
        {
            Withdraw(seller, tradable);
            Acquire(buyer, tradable);
            UpdateEntity(buyer);
            UpdateEntity(seller);

            TradeOperation entity = TradeOperation.CreateBuilder()
                                    .SetTime(DateTime.Now)
                                    .SetBuyer(buyer)
                                    .SetSeller(seller)
                                    .SetTradableType(tradable.TradableType)
                                    .SetTradableAmount(tradable.Quantity)
                                    .SetTradeAmount(tradable.Quantity * tradable.TradableType.Price);

            return(entity);
        }