예제 #1
0
        private void OnSimulationStatusChanged(object sender, SimulationStatusChangedEventArgs simulationStatusChangedEventArgs)
        {
            switch (simulationStatusChangedEventArgs.Status)
            {
            case SimulationStatus.Stoped:
                var simulation    = (Simulation)sender;
                var stageFinished = this.stagesFinished.FirstOrDefault(x => x == simulation.Stages.First().Name);
                if (stageFinished == null)
                {
                    this.stagesFinished.Add(simulation.Stages.First().Name);
                    if (this.stagesFinished.Count == this.stages.Count)
                    {
                        this.mustPrint = true;
                    }
                }

                if (this.mustPrint)
                {
                    this.mustPrint        = false;
                    this.simulationStoped = true;
                    DateTime now = DateTime.Now;
                    this.simulationTotalTime = now.Subtract(this.simulationStartedTime);

                    //Genera lista con las diferentes exportaciones.
                    List <IResults> lstExportarResultados = new List <IResults> {
                        new ExcelResults(this.simulationPath, "resultados.xlsx", this.stages, this.simulationTotalTime),
                        new PDFResults(this.simulationPath, "resultados.pdf", this.stages, this.simulationTotalTime)
                    };

                    //Se exportan los distintos formatos incluidos en la lista
                    lstExportarResultados.ForEach(r => r.Print());

                    // ABRO LA VENTANA DEL ARCHIVO QUE CONTIENE LOS RESULTADOS
                    System.Diagnostics.Process.Start("explorer.exe", "/select," + simulationPath);
                    // CIERRO LOS POPUPS ABIERTOS
                    analisisSensibilidadPopUp.Dispatcher.Invoke(
                        System.Windows.Threading.DispatcherPriority.Normal,
                        new Action(
                            delegate()
                    {
                        analisisSensibilidadPopUp.Close();
                    }
                            ));
                    this.Dispatcher.Invoke(
                        System.Windows.Threading.DispatcherPriority.Normal,
                        new Action(
                            delegate()
                    {
                        this.Close();
                    }
                            ));
                }
                break;

            case SimulationStatus.Started:
                // asd
                break;
            }
        }
예제 #2
0
        private void SimulationOnSimulationStatusChanged(object sender, SimulationStatusChangedEventArgs simulationStatusChangedEventArgs)
        {
            switch (simulationStatusChangedEventArgs.Status)
            {
            case SimulationStatus.Stoped:
                this.Executing = false;
                break;

            case SimulationStatus.Started:
                this.Executing = true;
                break;
            }
        }
예제 #3
0
 private void SimulationOnSimulationStatusChanged(object sender, SimulationStatusChangedEventArgs simulationStatusChangedEventArgs)
 {
 }