void AddNewFaseCommand_Executed(object prm) { FaseCyclusModel fcm = new FaseCyclusModel(); string newname = "01"; int inewname = 1; foreach (FaseCyclusViewModel fcvm in Fasen) { if (Regex.IsMatch(fcvm.Naam, @"[0-9]+")) { Match m = Regex.Match(fcvm.Naam, @"[0-9]+"); string next = m.Value; if (Int32.TryParse(next, out inewname)) { inewname++; newname = (inewname < 10 ? "0" : "") + inewname.ToString(); while (!Integrity.IntegrityChecker.IsElementNaamUnique(newname)) { inewname++; newname = (inewname < 10 ? "0" : "") + inewname.ToString(); } } } } fcm.Naam = newname; fcm.Define = SettingsProvider.Instance.GetFaseCyclusDefinePrefix() + newname; SettingsProvider.Instance.ApplyDefaultFaseCyclusSettings(fcm, fcm.Define); FaseCyclusViewModel fcvm1 = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm1); }
private void OnNameChanged(NameChangedMessage message) { if (Fasen.Any(x => x.Naam == message.NewName)) { BuildConflictMatrix(); } }
void AddNewFaseCommand_Executed(object prm) { var fcm = new FaseCyclusModel(); var newname = "01"; foreach (var fcvm in Fasen) { if (Regex.IsMatch(fcvm.Naam, @"[0-9]+")) { var m = Regex.Match(fcvm.Naam, @"[0-9]+"); var next = m.Value; if (int.TryParse(next, out int inewname)) { IsElementIdentifierUniqueRequest message; do { inewname++; newname = (inewname < 10 ? "0" : "") + inewname; message = new IsElementIdentifierUniqueRequest(newname, ElementIdentifierType.Naam); Messenger.Default.Send(message); }while (!message.IsUnique); } } break; } fcm.Naam = newname; fcm.Type = Settings.Utilities.FaseCyclusUtilities.GetFaseTypeFromNaam(fcm.Naam); DefaultsProvider.Default.SetDefaultsOnModel(fcm, fcm.Type.ToString()); var fcvm1 = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm1); }
public void UpdateAfterApplyTemplate(FaseCyclusModel item) { var fc = Fasen.First(x => x.FaseCyclus == item); fc.RaisePropertyChanged(""); Messenger.Default.Send(new DetectorenChangedMessage(_Controller, null, null)); }
void AddNewFaseCommand_Executed(object prm) { var fcm = new FaseCyclusModel(); string newname; var inext = 0; foreach (var fcvm in Fasen) { if (int.TryParse(fcvm.Naam, out int inewname)) { inext = inewname > inext ? inewname : inext; } } do { inext++; newname = (inext < 10 ? "0" : "") + inext; }while (!TLCGenModelManager.Default.IsElementIdentifierUnique(TLCGenObjectTypeEnum.Fase, newname)); fcm.Naam = newname; fcm.Type = Settings.Utilities.FaseCyclusUtilities.GetFaseTypeFromNaam(fcm.Naam); DefaultsProvider.Default.SetDefaultsOnModel(fcm, fcm.Type.ToString()); var fcvm1 = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm1); }
public FaseCyclusTemplateViewModel(TLCGenTemplateModel <FaseCyclusModel> template) { _Template = template; foreach (var fc in template.Items) { Fasen.Add(fc); } Fasen.CollectionChanged += Fasen_CollectionChanged; if (Fasen.Any()) { SelectedFaseCyclus = Fasen.First(); } FaseCyclusTypeOpties.Clear(); var fdescs = Enum.GetValues(typeof(FaseTypeEnum)); foreach (FaseTypeEnum d in fdescs) { FaseCyclusTypeOpties.Add(d.GetDescription()); } DetectorTypeOpties.Clear(); var descs = Enum.GetValues(typeof(DetectorTypeEnum)); foreach (DetectorTypeEnum d in descs) { DetectorTypeOpties.Add(d.GetDescription()); } }
private void AddFaseCommand_Executed(object prm) { FaseCyclusModel fc = new FaseCyclusModel(); fc.Naam = "fase" + (Fasen.Count + 1); Fasen.Add(fc); }
private void UpdateFasenEnDetectoren() { Fasen.Clear(); foreach (FaseCyclusModel fcm in _Controller.Fasen) { var fc = new RoBuGroverTabFaseViewModel(fcm.Naam); Fasen.Add(fc); } SelectedConflictGroep = SelectedConflictGroep; _ControllerRGVFileDetectoren = new Dictionary <string, string>(); _ControllerRGVHiaatDetectoren = new Dictionary <string, string>(); foreach (FaseCyclusModel fcm in _Controller.Fasen) { foreach (DetectorModel dm in fcm.Detectoren) { if (dm.Type == Models.Enumerations.DetectorTypeEnum.Kop) { _ControllerRGVFileDetectoren.Add(dm.Naam, fcm.Naam); } if (dm.Type == Models.Enumerations.DetectorTypeEnum.Lang) { _ControllerRGVHiaatDetectoren.Add(dm.Naam, fcm.Naam); } } } }
private void OnFasenChanged(FasenChangedMessage message) { var sfc = SelectedFaseCyclus; Fasen.Clear(); foreach (var fcm in _Controller.Fasen) { Fasen.Add(new FaseCyclusModuleViewModel(fcm, null)); } if (sfc != null && Fasen.Count > 0) { foreach (var fc in Fasen) { if (fc.Naam == sfc.Naam) { SelectedFaseCyclus = sfc; } } } else if (Fasen.Count > 0) { SelectedFaseCyclus = Fasen[0]; } Fasen.BubbleSort(); }
public void AddFromTemplate(List <FaseCyclusModel> items) { try { foreach (FaseCyclusModel fcm in items) { if (Integrity.IntegrityChecker.IsElementDefineUnique(fcm.Define) && Integrity.IntegrityChecker.IsElementNaamUnique(fcm.Naam)) { bool IsOK = true; foreach (DetectorModel dm in fcm.Detectoren) { if (!(Integrity.IntegrityChecker.IsElementDefineUnique(dm.Define) && Integrity.IntegrityChecker.IsElementNaamUnique(dm.Naam))) { IsOK = false; break; } } if (IsOK) { FaseCyclusViewModel fcvm = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm); } } } } catch { throw new NotImplementedException(); } }
private void OnFasenChanged(FasenChangedMessage message) { Fasen.Clear(); foreach (FaseCyclusModel fcm in message.Fasen) { Fasen.Add(new FaseCyclusModuleViewModel(fcm, null)); } }
public ModulesTabFasenLijstViewModel(ModulesTabViewModel modulestabvm) { foreach (FaseCyclusModel fcm in modulestabvm.Controller.Fasen) { Fasen.Add(new FaseCyclusModuleViewModel(fcm, null)); } MessageManager.Instance.Subscribe(this, new Action <FasenChangedMessage>(OnFasenChanged)); }
/// <summary> /// Sorts property ObservableCollection<FaseCyclusViewModel> Fasen. /// For this to not disrupt the model data, we temporarily disconnect method Fasen_CollectionChanged /// from the CollectionChanged event. /// </summary> public void SortFasen() { if (!IsSortingFasen) { IsSortingFasen = true; Fasen.BubbleSort(); FasenTabVM.SortMaxGroenSetsFasen(); IsSortingFasen = false; } }
public FasenTabViewModel(ControllerModel controller) : base(controller) { _MaxGroentijdenLijstVM = new GroentijdenSetsLijstViewModel(_Controller); foreach (FaseCyclusModel fcm in _Controller.Fasen) { Fasen.Add(new FaseCyclusViewModel(fcm)); } Fasen.CollectionChanged += Fasen_CollectionChanged; MessageManager.Instance.Subscribe(this, new Action <GroentijdenTypeChangedMessage>(OnGroentijdenTypeChanged)); }
public override void OnSelected() { Fasen.Clear(); AlleDetectoren.Clear(); foreach (FaseCyclusModel fcm in _Controller.Fasen) { Fasen.Add(fcm.Naam); foreach (DetectorModel dm in fcm.Detectoren) { AlleDetectoren.Add(dm.Naam); } } }
/// <summary> /// Updates the phases collection: sorting, rebuilding conflict matrix, etc. /// Only does something if phases have changed or are not sorted. /// </summary> /// <returns>True if it took action, false if not.</returns> public bool DoUpdateFasen() { if (!Fasen.IsSorted() || HasChangedFasen) { // Sort, update SortFasen(); HasChangedFasen = false; CoordinatiesTabVM.BuildConflictMatrix(); CoordinatiesTabVM.MatrixChanged = false; return(true); } return(false); }
public override void OnSelected() { var sel = SelectedFaseCyclus; Fasen.Clear(); foreach (FaseCyclusModel fcm in _Controller.Fasen) { var fcvm = new FaseCyclusViewModel(fcm); if (sel != null && fcvm.Naam == sel.Naam) { SelectedFaseCyclus = fcvm; } Fasen.Add(fcvm); } }
public override bool OnDeselectedPreview() { if (!Fasen.IsSorted()) { _IsSorting = true; Fasen.BubbleSort(); _Controller.Fasen.Clear(); foreach (var fcvm in Fasen) { _Controller.Fasen.Add(fcvm.FaseCyclus); } Messenger.Default.Send(new FasenSortedMessage(_Controller.Fasen)); _IsSorting = false; } return(true); }
private void BuildFasenList() { Fasen.Clear(); foreach (FaseCyclusModel m in _Controller.Fasen) { if (m.Naam != _HDIngreep.FaseCyclus && m.HDIngreep && !(_HDIngreep.MeerealiserendeFaseCycli.Where(x => x.FaseCyclus == m.Naam).Count() > 0)) { Fasen.Add(m.Naam); } } if (Fasen.Count > 0) { SelectedFase = Fasen[0]; } }
public void InsertItemsFromTemplate(List <FaseCyclusModel> items) { if (_Controller == null) { return; } foreach (var fc in items) { if (!(TLCGenIntegrityChecker.IsElementNaamUnique(_Controller, fc.Naam, TLCGenObjectTypeEnum.Fase) && (fc.Detectoren.Count == 0 || fc.Detectoren.All(x => TLCGenIntegrityChecker.IsElementNaamUnique(_Controller, x.Naam, TLCGenObjectTypeEnum.Detector) != false)))) { MessageBox.Show("Error bij toevoegen van fase met naam " + fc.Naam + ".\nFase en/of bijbehorende detectie is niet uniek in de regeling.", "Error bij toepassen template"); return; } } foreach (var fc in items) { Fasen.Add(new FaseCyclusViewModel(fc)); } }
public override void OnSelected() { var temp = SelectedFaseCyclus; Fasen.Clear(); SelectedFaseCyclus = null; foreach (var fcm in _Controller.Fasen) { var fcvm = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm); if (temp == null || fcvm.Naam != temp.Naam) { continue; } SelectedFaseCyclus = fcvm; temp = null; } if (SelectedFaseCyclus == null && Fasen.Count > 0) { SelectedFaseCyclus = Fasen[0]; } }
void RemoveFaseCommand_Executed(object prm) { if (SelectedFaseCycli != null && SelectedFaseCycli.Count > 0) { // Create temporary List cause we cannot directly remove the selection, // as it will cause the selection to change while we loop it List <FaseCyclusViewModel> lfcvm = new List <FaseCyclusViewModel>(); foreach (FaseCyclusViewModel fcvm in SelectedFaseCycli) { lfcvm.Add(fcvm); } foreach (FaseCyclusViewModel fcvm in lfcvm) { Fasen.Remove(fcvm); } SelectedFaseCycli = null; } else if (SelectedFaseCyclus != null) { Fasen.Remove(SelectedFaseCyclus); SelectedFaseCyclus = null; } }
void RemoveFaseCommand_Executed(object prm) { bool changed = false; List <FaseCyclusModel> remfcs = new List <FaseCyclusModel>(); if (SelectedFaseCycli != null && SelectedFaseCycli.Count > 0) { changed = true; foreach (FaseCyclusViewModel fcvm in SelectedFaseCycli) { TLCGenControllerModifier.Default.RemoveSignalGroupFromController(fcvm.Naam); remfcs.Add(fcvm.FaseCyclus); } SelectedFaseCycli = null; } else if (SelectedFaseCyclus != null) { changed = true; remfcs.Add(SelectedFaseCyclus.FaseCyclus); TLCGenControllerModifier.Default.RemoveSignalGroupFromController(SelectedFaseCyclus.Naam); SelectedFaseCyclus = null; } if (changed) { Fasen.CollectionChanged -= Fasen_CollectionChanged; Fasen.Clear(); foreach (var fc in _Controller.Fasen) { Fasen.Add(new FaseCyclusViewModel(fc)); } Fasen.CollectionChanged += Fasen_CollectionChanged; Messenger.Default.Send(new FasenChangedMessage(null, remfcs)); } }
private void OnConflictsChanged(ConflictsChangedMessage message) { Fasen.Rebuild(); }
private void OnFasenSortedChanged(FasenSortedMessage obj) { Fasen.BubbleSort(); }
private void CollectAllIO() { Fasen.Clear(); Detectoren.Clear(); OverigeUitgangen.Clear(); OverigeIngangen.Clear(); bool[] done = new bool[20]; for (int d = 0; d < 20; ++d) { done[d] = false; } foreach (var per in _Controller.PeriodenData.Perioden) { switch (per.Type) { case PeriodeTypeEnum.Groentijden: case PeriodeTypeEnum.Overig: per.BitmapDataRelevant = true; per.BitmapNaam = per.Naam; break; default: per.BitmapDataRelevant = false; break; } } foreach (var i in GetAllIOElements(_Controller)) { switch (i.IOType) { case BitmappedItemTypeEnum.Fase: Fasen.Add(i); break; case BitmappedItemTypeEnum.Detector: Detectoren.Add(i); break; case BitmappedItemTypeEnum.Uitgang: OverigeUitgangen.Add(i); break; case BitmappedItemTypeEnum.Ingang: OverigeIngangen.Add(i); break; } } // IO from plugins foreach (var v in TLCGenPluginManager.Default.ApplicationPlugins) { if ((v.Item1 & TLCGenPluginElems.IOElementProvider) == TLCGenPluginElems.IOElementProvider) { var pl = v.Item2 as ITLCGenElementProvider; var initems = pl.GetInputItems(); var outitems = pl.GetOutputItems(); foreach (var i in initems) { OverigeIngangen.Add(new BitmappedItemViewModel(i, i.Naam, BitmappedItemTypeEnum.Ingang)); } foreach (var o in outitems) { OverigeUitgangen.Add(new BitmappedItemViewModel(o, o.Naam, BitmappedItemTypeEnum.Uitgang)); } } } foreach (var v in TLCGenPluginManager.Default.ApplicationParts) { if ((v.Item1 & TLCGenPluginElems.IOElementProvider) == TLCGenPluginElems.IOElementProvider) { var pl = v.Item2 as ITLCGenElementProvider; var initems = pl.GetInputItems(); var outitems = pl.GetOutputItems(); foreach (var i in initems) { OverigeIngangen.Add(new BitmappedItemViewModel(i, i.Naam, BitmappedItemTypeEnum.Ingang)); } foreach (var o in outitems) { OverigeUitgangen.Add(new BitmappedItemViewModel(o, o.Naam, BitmappedItemTypeEnum.Uitgang)); } } } }
public ControllerViewModel(MainWindowViewModel mainwindowvm, ControllerModel controller) { _MainWindowVM = mainwindowvm; _Controller = controller; // Add data from the Model to the ViewModel structure foreach (FaseCyclusModel fcm in _Controller.Fasen) { FaseCyclusViewModel fcvm = new FaseCyclusViewModel(fcm); Fasen.Add(fcvm); } foreach (DetectorModel dm in _Controller.Detectoren) { DetectorViewModel dvm = new DetectorViewModel(dm); Detectoren.Add(dvm); } foreach (GroentijdenSetModel mgm in _Controller.GroentijdenSets) { GroentijdenSetViewModel mgvm = new GroentijdenSetViewModel(mgm); MaxGroentijdenSets.Add(mgvm); } MessageManager.Instance.Subscribe(this, new Action <ControllerDataChangedMessage>(OnControllerDataChanged)); MessageManager.Instance.Subscribe(this, new Action <NameChangedMessage>(OnNameChanged)); MessageManager.Instance.Subscribe(this, new Action <DefineChangedMessage>(OnDefineChanged)); MessageManager.Instance.Subscribe(this, new Action <UpdateTabsEnabledMessage>(OnUpdateTabsEnabled)); MessageManager.Instance.Subscribe(this, new Action <GetDetectorListReqeust <List <DetectorModel>, object> >(OnDetectorListRequested)); // Connect CollectionChanged event handlers MaxGroentijdenSets.CollectionChanged += MaxGroentijdenSets_CollectionChanged; if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == AlgemeenTabVM.DisplayName).Any()) { TabItems.Add(AlgemeenTabVM as ITLCGenTabItem); } if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == FasenTabVM.DisplayName).Any()) { TabItems.Add(FasenTabVM as ITLCGenTabItem); } if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == DetectorenTabVM.DisplayName).Any()) { TabItems.Add(DetectorenTabVM as ITLCGenTabItem); } if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == CoordinatiesTabVM.DisplayName).Any()) { TabItems.Add(CoordinatiesTabVM as ITLCGenTabItem); } if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == ModulesTabVM.DisplayName).Any()) { TabItems.Add(ModulesTabVM as ITLCGenTabItem); } if (!_MainWindowVM.TabItems.Where(x => x.GetPluginName() == BitmapTabVM.DisplayName).Any()) { TabItems.Add(BitmapTabVM as ITLCGenTabItem); } foreach (ITLCGenTabItem item in _MainWindowVM.TabItems) { if (!TabItems.Contains(item)) { TabItems.Add(item); } } SelectedTab = AlgemeenTabVM as ITLCGenTabItem; SelectedTabIndex = 0; }
static void Main(string[] args) { //Declare "Fase" variable Fasen fase = Fasen.Onbekend; //Flowchart Console.WriteLine("Zet de computer aan. (Antwoord op volgende vragen met y of n)"); Console.Write("Gaat de computer aan? >>>"); string input = Console.ReadLine(); Console.Clear(); if (input == "y") { Console.Write("Zijn er fout boodschappen? >>>"); input = Console.ReadLine(); Console.Clear(); if (input == "y") { fase = Fasen.A; } else { fase = Fasen.B; } } else { Console.Write("Gaat het power light aan? >>>"); input = Console.ReadLine(); Console.Clear(); if (input == "y") { Console.WriteLine("Zet het computerscherm aan"); } else { Console.WriteLine("Controleer de voedingskabel"); } Console.Write("Probleem opgelost? >>>"); input = Console.ReadLine(); Console.Clear(); if (input == "y") { fase = Fasen.B; } else { fase = Fasen.C; } } switch (fase) { case Fasen.A: //Fase A Console.Write("Geef de foutcode als geheel getal in (0-9)"); int foutcode = int.Parse(Console.ReadLine()); if (foutcode < 0 || foutcode > 10) { Console.WriteLine("Los het dan zelf op he!"); } else { double x = Math.Round(Math.Cbrt(foutcode * 3), 1); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Gelieve je computer gedurende {x} minuten af te zetten"); Console.ResetColor(); } break; case Fasen.B: //Fase B Random random = new Random(); int percentage = random.Next(1, 101); Console.WriteLine("Mooi zo alles werkt!"); if (percentage <= 25) { Console.WriteLine("En u wint ook nog eens 1 jaar gratis IT support!"); } break; case Fasen.C: //Fase C int processorCount = Environment.ProcessorCount; if (processorCount == 1) { Console.ForegroundColor = ConsoleColor.White; Console.BackgroundColor = ConsoleColor.Red; Console.WriteLine("1 processor"); } else { Console.ForegroundColor = ConsoleColor.Blue; Console.BackgroundColor = ConsoleColor.Green; Console.WriteLine($"{processorCount} processors"); } Console.ResetColor(); int reparatiePrijs = processorCount * 50; if (reparatiePrijs > 200) { reparatiePrijs = 200; } Console.WriteLine($"{reparatiePrijs} euro"); bool is64Bit = Environment.Is64BitOperatingSystem; if (is64Bit) { Console.WriteLine("Hier een bon!"); } break; default: Console.WriteLine("Er is een fout opgetreden, probeer opnieuw!"); break; } }
private void OnFasenChanged(FasenChangedMessage message) { Fasen.Rebuild(); }
private void OnNameChanged(NameChangedMessage obj) { Fasen.BubbleSort(); }