Пример #1
0
        private void startAsyncButton_Click(object sender, EventArgs e)
        {
            int    numOfCashier      = 0;
            int    numOfSelfCheckout = 0;
            int    numOfMachines     = 0;
            double arrPro            = 0;

            if (int.TryParse(this.numOfCashierTextBox.Text, out numOfCashier) &&
                int.TryParse(this.numOfSelfCheckoutTextBox.Text, out numOfSelfCheckout) &&
                int.TryParse(this.numOfSelfCheckMachineTextBox.Text, out numOfMachines) &&
                double.TryParse(this.arrivalRateTextBox.Text, out arrPro))
            {
                int maxIteration;
                if (int.TryParse(this.maxIterationTextBox.Text, out maxIteration) && maxIteration > 0)
                {
                    _sim = new SimulationDemo.Simulation(numCashier: numOfCashier, numSelfChechout: numOfSelfCheckout, numMachine: numOfMachines, maxIteration: maxIteration);
                }
                else
                {
                    _sim = new SimulationDemo.Simulation(numCashier: numOfCashier, numSelfChechout: numOfSelfCheckout, numMachine: numOfMachines);
                }

                IDistribution dist = new Poison(arrPro);
                DistributionHelper.UpdateDistribution(EventEnum.Arrival, dist);

                // Start the asynchronous operation.
                backgroundWorker1.RunWorkerAsync();
                this.startbutton.Enabled                  = false;
                this.numOfCashierTextBox.Enabled          = false;
                this.numOfSelfCheckoutTextBox.Enabled     = false;
                this.numOfSelfCheckMachineTextBox.Enabled = false;

                this.startbutton.Text = "Started";
            }
        }
Пример #2
0
        private void UpdateArrivalRate_Click(object sender, EventArgs e)
        {
            double arrPro = 0;

            if (double.TryParse(this.arrivalRateTextBox.Text, out arrPro))
            {
                IDistribution dist = new Poison(arrPro);
                DistributionHelper.UpdateDistribution(EventEnum.Arrival, dist);
            }
            ;
        }