/// <summary> /// Send null messages in all channels /// </summary> void SendNullMessages() { ToShopEvent?.Invoke(this, new BankEventArgs(EventType.Null, threadTime)); log.WriteLine((threadTime / 1000.0).ToString() + " | message | bank => shop | Null"); ToBuyerEvent?.Invoke(this, new BankEventArgs(EventType.Null, threadTime)); log.WriteLine((threadTime / 1000.0).ToString() + " | message | bank => buyer | Null"); }
/// <summary> /// Create and send random message /// </summary> void SendNewRandomMessage() { if (NextMessageCreation < DateTime.Now) { int addTime = gen.Next(100, 2000); NextMessageCreation = DateTime.Now.AddMilliseconds(addTime); threadTime += addTime; if (gen.Next(0, 2) == 0) { //buyer buys goods ToShopEvent?.Invoke(this, new BuyerEventArgs(EventType.BuyInCredit, threadTime)); log.WriteLine((threadTime / 1000.0).ToString() + " | message | buyer => shop | BuyInCredit"); } else { //buyer wants to withdraw money from bank ToBankEvent?.Invoke(this, new BuyerEventArgs(EventType.WithdrawMoney, threadTime)); log.WriteLine((threadTime / 1000.0).ToString() + " | message | buyer => bank | WithdrawMoney"); } } }