// Constructor public Airline(string name, MultiCellBuffer buf) { this.airlineName = name; previousPrice = -1; // -1 denotes no price has been set priceDropCounter = 0; this.buffer = buf; }
private MultiCellBuffer buffer; // Get buffer instance public Retailer(CancellationToken token, MultiCellBuffer buf) { buffer = buf; serverSessionToken = token; currentPrice = 9999; oldPrice = 9999; }
// Constructor public TravelAgency(string name, Thread airline, MultiCellBuffer buf) { this.completedOrders = new List<OrderObject>(); this.agencyName = name; this.airline = airline; this.buffer = buf; this.priceDropOccured = false; }
public void retailerFunc() { Thread.Sleep(500); ChickenFarm chicken = new ChickenFarm(); OrderClass ob = new OrderClass(); int senderId = Convert.ToInt32(Thread.CurrentThread.Name); int cardNumber = rng.Next(5000, 7000); int amount = rng.Next(50, 100); ob.setSenderId(senderId); ob.setCardNo(cardNumber); ob.setAmount(amount); //Now we should send this object to the encoder to convert into string String Encoder_result = Encoder(ob); MultiCellBuffer cell_order = new MultiCellBuffer(); cell_order.setOneCell(Encoder_result); }
static void Main(string[] args) { // buffer will be used by the airlines and travel agencies MultiCellBuffer buffer = new MultiCellBuffer(); // 1 Airline for individual project. Airline a1 = new Airline("Krohn Airlines", buffer); Thread t1 = new Thread(a1.runAirline); // airline thread // 5 Travel agencies for individual project. TravelAgency ta1 = new TravelAgency("Cheap Travel Help", t1, buffer); TravelAgency ta2 = new TravelAgency("Island Getaways", t1, buffer); TravelAgency ta3 = new TravelAgency("Northern Adventures", t1, buffer); TravelAgency ta4 = new TravelAgency("Deep Sea Excursions", t1, buffer); TravelAgency ta5 = new TravelAgency("Down South Travel", t1, buffer); // Travel agency threads Thread t2 = new Thread(ta1.runAgency); Thread t3 = new Thread(ta2.runAgency); Thread t4 = new Thread(ta3.runAgency); Thread t5 = new Thread(ta4.runAgency); Thread t6 = new Thread(ta5.runAgency); // Subscribe all the travel agencies to the price drop event in Airline a1.PriceDrop += ta1.OnPriceDrop; a1.PriceDrop += ta2.OnPriceDrop; a1.PriceDrop += ta3.OnPriceDrop; a1.PriceDrop += ta4.OnPriceDrop; a1.PriceDrop += ta5.OnPriceDrop; // Subscribe the airline to the OrderSubmit event in the buffer buffer.OrderSubmit += a1.OnOrderSubmitted; // Start all the threads t1.Start(); t2.Start(); t3.Start(); t4.Start(); t5.Start(); t6.Start(); }
public ChickenFarm(MultiCellBuffer buf, int p = 9) { buffer = buf; price = PricingModel(); pCounter = p; }
private static void producer(object num) { MultiCellBuffer b = new MultiCellBuffer(); b.SetOneCell(num.ToString()); Console.WriteLine("Producer {0} set one cell", num); }
private static void consumer(object num) { MultiCellBuffer b = new MultiCellBuffer(); string a = b.GetOneCell(); Console.WriteLine("Consumer {0} got cell {1}", num, a); }