//In button click part of the initial event private void orderStockButton_Click(object sender, EventArgs e) { var itemCode = stockDataGrid.SelectedCells[0].Value.ToString(); var itemOrder = new OrderItem(); itemOrder.itemCode = itemCode; itemOrder.itemQuantity = Convert.ToInt32(orderStockQuanityTextBox.Value); itemOrder.stockArrivalDate = orderStocksSADTextBox.Value; orderStocksLabel.Text = itemCode; var mediator = new Mediator(); //inititalise the intial event var startEvent = new OrderStockEvent(mediator, "startEvent"); //initialise all the mediator steps var process1 = new CheckMinAndMaxProcessor(mediator, "Process 1", itemOrder); var process2 = new CheckRevenueGenerateProcessor(mediator, "Process 2", itemCode); var process3 = new Processors.CalculateCostProcessor(mediator, "Process 3", itemOrder); var process4 = new StockItemProcessor(mediator, "Process 4", itemOrder); var process5 = new NotificationProcessor(mediator, "Process 5", itemCode); //start the initial event passing a message which should tell processor one to start via the mediator send method startEvent.Send("order"); //refresh the table ClearTable(); LoadTable(); }
//the following button is pressed starts the initial event private void deleteStockButton_Click(object sender, EventArgs e) { //item code is the current selected cell on the table var itemCode = stockDataGrid.SelectedCells[0].Value.ToString(); //create an instance of the mediator var mediator = new Mediator(); //inititalise the intial event var startEvent = new DeleteStockEvent(mediator, "startEvent"); //inititialise the processors sending the mediator the message and the object in the constructor var process1 = new CheckRevenueGenerateProcessor(mediator, "Process 1", itemCode); var process2 = new CancelCurrentOrdersProcessor(mediator, "Process 2", itemCode); var process3 = new ConfirmationProcessor(mediator, "Process 3", itemCode); var process4 = new StockItemProcessor(mediator, "Process 4", itemCode); var process5 = new NotificationProcessor(mediator, "Process 5", itemCode); //start the initial event passing a message which should tell processor one to start via the mediator send method startEvent.Send("delete"); //Refresh the table ClearTable(); LoadTable(); }