public ControllerModel ImportController(ControllerModel c = null) { if (c != null) { throw new NullReferenceException("TabC importer: Controller parsed is not null, which it should be for importing into new."); } OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.CheckFileExists = true; openFileDialog.Title = "Selecteer tab.c file voor importeren"; openFileDialog.Filter = "Import files|*tab.c;*.ccol|Alle files|*.*"; ControllerModel newc = new ControllerModel(); if (openFileDialog.ShowDialog() == true) { try { DefaultsProvider.Default.SetDefaultsOnModel(newc.Data); newc.Data.GarantieOntruimingsTijden = false; string[] lines = File.ReadAllLines(openFileDialog.FileName); if (lines.Length <= 1) { throw new IndexOutOfRangeException("Het bestand heeft minder dan 2 regels."); } // Build a list of the Phases with conflicts from the tab.c file TabCImportHelperOutcome NewData = TabCImportHelper.GetNewData(lines); NewData.Fasen.BubbleSort(); foreach (FaseCyclusModel fcm in NewData.Fasen) { fcm.Type = Settings.Utilities.FaseCyclusUtilities.GetFaseTypeFromNaam(fcm.Naam); DefaultsProvider.Default.SetDefaultsOnModel(fcm, fcm.Type.ToString()); newc.Fasen.Add(fcm); var fcdm = new FaseCyclusModuleDataModel() { FaseCyclus = fcm.Naam }; DefaultsProvider.Default.SetDefaultsOnModel(fcdm, fcm.Type.ToString()); newc.ModuleMolen.FasenModuleData.Add(fcdm); } NewData.Conflicten.BubbleSort(); foreach (ConflictModel cm in NewData.Conflicten) { newc.InterSignaalGroep.Conflicten.Add(cm); } return(newc); } catch (Exception e) { System.Windows.MessageBox.Show("Fout bij uitlezen tab.c.:\n" + e.Message, "Fout bij importeren tab.c"); return(null); } } return(null); }
public void OnFasenChanging(FasenChangingMessage message) { if (message.AddedFasen != null) { foreach (var fcm in message.AddedFasen) { // PT Conflict prms if (Controller.OVData.OVIngreepType != Models.Enumerations.OVIngreepTypeEnum.Geen) { var prms = new OVIngreepSignaalGroepParametersModel(); _setDefaultsAction?.Invoke(prms, null); prms.FaseCyclus = fcm.Naam; Controller.OVData.OVIngreepSignaalGroepParameters.Add(prms); } // Module settings var fcmlm = new FaseCyclusModuleDataModel() { FaseCyclus = fcm.Naam }; _setDefaultsAction?.Invoke(fcmlm, null); Controller.ModuleMolen.FasenModuleData.Add(fcmlm); // Green times foreach (var set in Controller.GroentijdenSets) { var mgm = new GroentijdModel { FaseCyclus = fcm.Naam }; _setDefaultsAction(mgm, fcm.Type.ToString()); set.Groentijden.Add(mgm); } } } if (message.RemovedFasen != null) { foreach (var fcm in message.RemovedFasen) { // PT Conflict prms if (Controller.OVData.OVIngreepType != Models.Enumerations.OVIngreepTypeEnum.Geen) { OVIngreepSignaalGroepParametersModel _prms = null; foreach (var prms in Controller.OVData.OVIngreepSignaalGroepParameters) { if (prms.FaseCyclus == fcm.Naam) { _prms = prms; } } if (_prms != null) { Controller.OVData.OVIngreepSignaalGroepParameters.Remove(_prms); } } // Module settings FaseCyclusModuleDataModel fcvm = null; foreach (var f in Controller.ModuleMolen.FasenModuleData) { if (fcm.Naam == f.FaseCyclus) { fcvm = f; } } if (fcvm != null) { Controller.ModuleMolen.FasenModuleData.Remove(fcvm); } // Green times foreach (var set in Controller.GroentijdenSets) { GroentijdModel mgm = null; foreach (var mgvm in set.Groentijden) { if (mgvm.FaseCyclus == fcm.Naam) { mgm = mgvm; } } if (mgm != null) { set.Groentijden.Remove(mgm); } } } } // Sorting Controller.OVData.OVIngreepSignaalGroepParameters.BubbleSort(); foreach (var set in Controller.GroentijdenSets) { set.Groentijden.BubbleSort(); } Controller.ModuleMolen.FasenModuleData.BubbleSort(); // Messaging MessengerInstance.Send(new FasenChangedMessage(message.AddedFasen, message.RemovedFasen)); }
public FaseCyclusModuleDataViewModel(FaseCyclusModuleDataModel fasedata) { _ModuleFaseData = fasedata; }
public ControllerModel ImportController(ControllerModel c = null) { if (c != null) { throw new NullReferenceException("TabC importer: Controller parsed is not null, which it should be for importing into new."); } OpenFileDialog openFileDialog = new OpenFileDialog { CheckFileExists = true, Title = "Selecteer tab.c file voor importeren", Filter = "Import files|*tab.c;*.ccol|Alle files|*.*" }; ControllerModel newc = new ControllerModel(); if (openFileDialog.ShowDialog() == true) { try { DefaultsProvider.Default.SetDefaultsOnModel(newc.Data); newc.Data.GarantieOntruimingsTijden = false; string[] lines = File.ReadAllLines(openFileDialog.FileName); if (lines.Length <= 1) { throw new IndexOutOfRangeException("Het bestand heeft minder dan 2 regels."); } // Build a list of the Phases with conflicts from the tab.c file TabCImportHelperOutcome NewData = TabCImportHelper.GetNewData(lines, true); if (NewData == null) { return(null); } NewData.Fasen.BubbleSort(); foreach (FaseCyclusModel fcm in NewData.Fasen) { newc.Fasen.Add(fcm); var fcdm = new FaseCyclusModuleDataModel() { FaseCyclus = fcm.Naam }; DefaultsProvider.Default.SetDefaultsOnModel(fcdm, fcm.Type.ToString()); newc.ModuleMolen.FasenModuleData.Add(fcdm); } NewData.Conflicten.BubbleSort(); foreach (ConflictModel cm in NewData.Conflicten) { newc.InterSignaalGroep.Conflicten.Add(cm); } newc.Data.Intergroen = newc.Data.Intergroen; if (newc.Data.Intergroen) { newc.Data.CCOLVersie = Models.Enumerations.CCOLVersieEnum.CCOL95; } foreach (var gs in NewData.Gelijkstarten) { newc.InterSignaalGroep.Gelijkstarten.Add(gs); } foreach (var gs in NewData.Voorstarten) { newc.InterSignaalGroep.Voorstarten.Add(gs); } foreach (var gs in NewData.LateReleases) { newc.InterSignaalGroep.LateReleases.Add(gs); } if (!string.IsNullOrWhiteSpace(NewData.KruisingNaam)) { newc.Data.Naam = NewData.KruisingNaam; } if (!string.IsNullOrWhiteSpace(NewData.KruisingStraat1)) { newc.Data.Straat1 = NewData.KruisingStraat1; } if (!string.IsNullOrWhiteSpace(NewData.KruisingStraat2)) { newc.Data.Straat2 = NewData.KruisingStraat2; } return(newc); } catch (Exception e) { System.Windows.MessageBox.Show("Fout bij uitlezen tab.c.:\n" + e.Message, "Fout bij importeren tab.c"); return(null); } } return(null); }