public void InsertItemsFromTemplate(List <PeriodeModel> items) { if (_Controller == null) { return; } foreach (var per in items) { if (!(TLCGenIntegrityChecker.IsElementNaamUnique(_Controller, per.Naam, TLCGenObjectTypeEnum.Periode))) { MessageBox.Show("Error bij toevoegen van periode met naam " + per.Naam + ".\nNaam van de periode is niet uniek in de regeling.", "Error bij toepassen template"); return; } if (_Controller.GroentijdenSets.All(x => x.Naam != per.GroentijdenSet)) { MessageBox.Show("Error bij toevoegen van periode verwijzend naar groentijdenset " + per.GroentijdenSet + ".\nDeze groentijdenset ontbreekt in de regeling.", "Error bij toepassen template"); return; } } foreach (var per in items) { Periodes.Add(new PeriodeViewModel(per)); } Messenger.Default.Send(new PeriodenChangedMessage()); }
public bool IsElementIdentifierUnique(TLCGenObjectTypeEnum objectType, string identifier, bool vissim = false) { if (!vissim) { return(TLCGenIntegrityChecker.IsElementNaamUnique(Controller, identifier, objectType)); } return(TLCGenIntegrityChecker.IsElementVissimNaamUnique(Controller, identifier)); }
public int CompareTo(object obj) { if (!(obj is DetectorModel d2)) { throw new InvalidCastException(); } return(TLCGenIntegrityChecker.CompareDetectors(Naam, d2.Naam, null, null)); }
public static ITLCGenModelManager CreateModelManager(ControllerModel m) { var modelManager = Substitute.For <ITLCGenModelManager>(); modelManager.IsElementIdentifierUnique(TLCGenObjectTypeEnum.Fase, "") .ReturnsForAnyArgs(x => TLCGenIntegrityChecker.IsElementNaamUnique(m, (string)x[1], (TLCGenObjectTypeEnum)x[0])); return(modelManager); }
private void OnIsFasenConflictRequestReceived(IsFasenConflictingRequest request) { if (request.Handled == false) { request.Handled = true; request.IsConflicting = TLCGenIntegrityChecker.IsFasenConflicting(_Controller, request.Define1, request.Define2); } }
private void GenerateCodeCommand_Executed(object prm) { var prepreq = new Messaging.Requests.PrepareForGenerationRequest(_Plugin.Controller); GalaSoft.MvvmLight.Messaging.Messenger.Default.Send(prepreq); string s = TLCGenIntegrityChecker.IsControllerDataOK(_Plugin.Controller); if (s == null) { _CodeGenerator.GenerateSourceFiles(_Plugin.Controller, Path.GetDirectoryName(_Plugin.ControllerFileName)); Messenger.Default.Send(new ControllerCodeGeneratedMessage()); } else { MessageBox.Show(s, "Fout in conflictmatrix"); } }
private void GenerateCodeCommand_Executed() { var prepreq = new Messaging.Requests.PrepareForGenerationRequest(); Messenger.Default.Send(prepreq); var s = TLCGenIntegrityChecker.IsControllerDataOK(_plugin.Controller); if (s == null) { _codeGenerator.GenerateSourceFiles(_plugin.Controller, Path.GetDirectoryName(_plugin.ControllerFileName)); Messenger.Default.Send(new ControllerCodeGeneratedMessage()); } else { MessageBox.Show(s, "Fout in controller"); } }
private void GenerateControllerCommand_Executed(object obj) { // Request to process all synchronisation data from matrix to model Messenger.Default.Send(new ProcessSynchronisationsRequest()); string s = TLCGenIntegrityChecker.IsControllerDataOK(TLCGenControllerDataProvider.Default.Controller); if (s == null) { SelectedGenerator.Generator.GenerateController(); MessengerInstance.Send(new ControllerCodeGeneratedMessage()); } else { TLCGenDialogProvider.Default.ShowMessageBox(s + "\n\nKan regeling niet genereren.", "Error bij genereren: fout in regeling"); } }
private void OnIsElementIdentifierUniqueRequestReceived(IsElementIdentifierUniqueRequest request) { if (request.Handled == false) { switch (request.Type) { case ElementIdentifierType.Naam: request.IsUnique = TLCGenIntegrityChecker.IsElementNaamUnique(_Controller, request.Identifier); request.Handled = true; break; case ElementIdentifierType.VissimNaam: request.IsUnique = TLCGenIntegrityChecker.IsElementVissimNaamUnique(_Controller, request.Identifier); request.Handled = true; break; } } }
private bool CheckCurrentItemNameUnique() { if (SelectedOptie == null) { return(true); } var oio = SelectedOptie as GebruikersOptieWithIOViewModel; var o = SelectedOptie as GebruikersOptieViewModel; if (oio != null) { return(TLCGenIntegrityChecker.IsElementNaamUnique(_Controller, oio.Naam)); } else { return(TLCGenIntegrityChecker.IsElementNaamUnique(_Controller, o.Naam)); } }
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)); } }
private void ImportControllerCommand_Executed(object obj) { if (obj == null) { throw new NullReferenceException(); } if (!(obj is ITLCGenImporter imp)) { throw new InvalidCastException(); } // Import into existing controller if (TLCGenControllerDataProvider.Default.CheckChanged()) { return; } if (imp.ImportsIntoExisting) { // Request to process all synchronisation data from matrix to model Messenger.Default.Send(new ProcessSynchronisationsRequest()); // Check data integrity var s1 = TLCGenIntegrityChecker.IsConflictMatrixOK(ControllerVM.Controller); if (s1 != null) { TLCGenDialogProvider.Default.ShowMessageBox("Kan niet importeren:\n\n" + s1, "Error bij importeren: fout in regeling"); return; } // Import to clone of original (so we can discard if wrong) var c1 = DeepCloner.DeepClone(ControllerVM.Controller); var c2 = imp.ImportController(c1); // Do nothing if the importer returned nothing if (c2 == null) { TLCGenDialogProvider.Default.ShowMessageBox("Importeren is afgebroken door de gebruiker", "Importeren afgebroken"); return; } // Check data integrity c2.Data.GarantieOntruimingsTijden = false; s1 = TLCGenIntegrityChecker.IsConflictMatrixOK(c2); if (s1 != null) { TLCGenDialogProvider.Default.ShowMessageBox("Fout bij importeren:\n\n" + s1, "Error bij importeren: fout in data"); return; } if (c1.Data.GarantieOntruimingsTijden) { TLCGenDialogProvider.Default.ShowMessageBox("De bestaande regeling had garantie ontruimingstijden.\nDeze zijn nu uitgeschakeld.", "Garantie ontruimingstijden uitrgeschakeld"); } SetController(c2); ControllerVM.ReloadController(); GuiActionsManager.SetStatusBarMessage( DateTime.Now.ToLongTimeString() + " - Data in regeling " + TLCGenControllerDataProvider.Default.Controller.Data.Naam + " geïmporteerd"); } // Import as new controller else { var c1 = imp.ImportController(); // Do nothing if the importer returned nothing if (c1 == null) { return; } // Check data integrity var s1 = TLCGenIntegrityChecker.IsConflictMatrixOK(c1); if (s1 != null) { TLCGenDialogProvider.Default.ShowMessageBox("Fout bij importeren:\n\n" + s1, "Error bij importeren: fout in data"); return; } TLCGenControllerDataProvider.Default.CloseController(); DefaultsProvider.Default.SetDefaultsOnModel(c1.Data); DefaultsProvider.Default.SetDefaultsOnModel(c1.OVData); SetController(c1); ControllerVM.ReloadController(); GuiActionsManager.SetStatusBarMessage( DateTime.Now.ToLongTimeString() + " - Regeling geïmporteerd"); } Messenger.Default.Send(new UpdateTabsEnabledMessage()); RaisePropertyChanged("HasController"); }