private void OnInterSignaalGroepChanged(InterSignaalGroepChangedMessage message) { // Conflict if (message.Conflict != null) { if (message.Conflict.Waarde == -4) { return; } int fccount = Fasen.Count; for (int fcm_from = 0; fcm_from < fccount; ++fcm_from) { for (int fcm_to = 0; fcm_to < fccount; ++fcm_to) { if (Fasen[fcm_from].Define == message.Conflict.FaseVan && Fasen[fcm_to].Define == message.Conflict.FaseNaar) { var cvm2 = ConflictMatrix[fcm_to, fcm_from]; switch (ConflictMatrix[fcm_from, fcm_to].ConflictValue) { case "GKL": if (cvm2.ConflictValue != "GK") { cvm2.ConflictValueNoMessaging = "GK"; } break; case "GK": if (!(cvm2.ConflictValue == "GK" || cvm2.ConflictValue == "GKL")) { cvm2.ConflictValueNoMessaging = "GK"; } break; case "FK": if (cvm2.ConflictValue != "FK") { cvm2.ConflictValueNoMessaging = "FK"; } break; case "": if (cvm2.ConflictValue == "*" || cvm2.ConflictValue == "GK" || cvm2.ConflictValue == "GKL" || cvm2.ConflictValue == "FK") { cvm2.ConflictValueNoMessaging = ""; } break; default: int i; if (Int32.TryParse(cvm2.ConflictValue, out i)) { break; } else { cvm2.ConflictValueNoMessaging = "*"; } break; } return; } } } // conflict not found: faulty state! throw new NotImplementedException(); } // Naloop if (message.Naloop != null) { int fccount = Fasen.Count; for (int fcm_from = 0; fcm_from < fccount; ++fcm_from) { for (int fcm_to = 0; fcm_to < fccount; ++fcm_to) { if (Fasen[fcm_from].Define == message.Naloop.FaseVan && Fasen[fcm_to].Define == message.Naloop.FaseNaar) { var cvm2 = ConflictMatrix[fcm_to, fcm_from]; cvm2.HasOppositeNaloop = message.IsCoupled; } } } } // Voorstart if (message.Voorstart != null) { int fccount = Fasen.Count; for (int fcm_from = 0; fcm_from < fccount; ++fcm_from) { for (int fcm_to = 0; fcm_to < fccount; ++fcm_to) { if (Fasen[fcm_from].Define == message.Voorstart.FaseVan && Fasen[fcm_to].Define == message.Voorstart.FaseNaar) { var cvm2 = ConflictMatrix[fcm_to, fcm_from]; cvm2.HasOppositeVoorstart = message.IsCoupled; } } } } // Gelijkstart if (message.Gelijkstart != null) { int fccount = Fasen.Count; for (int fcm_from = 0; fcm_from < fccount; ++fcm_from) { for (int fcm_to = 0; fcm_to < fccount; ++fcm_to) { if (Fasen[fcm_from].Define == message.Gelijkstart.FaseVan && Fasen[fcm_to].Define == message.Gelijkstart.FaseNaar) { var cvm2 = ConflictMatrix[fcm_to, fcm_from]; cvm2.IsCoupledNoMessaging = message.IsCoupled; } } } } }
private void OnInterSignaalGroepChanged(InterSignaalGroepChangedMessage message) { _MatrixChanged = true; if (message.IsNew) { BuildConflictMatrix(); return; } // Conflict if (message.Conflict != null) { var fccount = Fasen.Count; for (var fcm_from = 0; fcm_from < fccount; ++fcm_from) { for (var fcm_to = 0; fcm_to < fccount; ++fcm_to) { if (Fasen[fcm_from].Naam == message.Conflict.FaseVan && Fasen[fcm_to].Naam == message.Conflict.FaseNaar) { var cvm2 = ConflictMatrix[fcm_to, fcm_from]; switch (ConflictMatrix[fcm_from, fcm_to].ConflictValue) { case "GKL": if (cvm2.ConflictValue != "GK") { cvm2.ConflictValueNoMessaging = "GK"; } break; case "GK": if (!(cvm2.ConflictValue == "GK" || cvm2.ConflictValue == "GKL")) { cvm2.ConflictValueNoMessaging = "GK"; } break; case "FK": if (cvm2.ConflictValue != "FK") { cvm2.ConflictValueNoMessaging = "FK"; } break; case "": if (cvm2.ConflictValue == "*" || cvm2.ConflictValue == "GK" || cvm2.ConflictValue == "GKL" || cvm2.ConflictValue == "FK") { cvm2.ConflictValueNoMessaging = ""; } else { if (int.TryParse(cvm2.ConflictValue, out _)) { ConflictMatrix[fcm_from, fcm_to].ConflictValueNoMessaging = "*"; } } break; default: if (int.TryParse(cvm2.ConflictValue, out _)) { break; } else { cvm2.ConflictValueNoMessaging = "*"; } break; } return; } } } // conflict not found: faulty state! throw new InvalidOperationException(); } // Naloop if (message.Naloop != null) { var fccount = Fasen.Count; for (var fcm_from = 0; fcm_from < fccount; ++fcm_from) { for (var fcm_to = 0; fcm_to < fccount; ++fcm_to) { if (Fasen[fcm_from].Naam == message.Naloop.FaseVan && Fasen[fcm_to].Naam == message.Naloop.FaseNaar) { var cvm2 = ConflictMatrix[fcm_to, fcm_from]; cvm2.HasOppositeNaloop = message.IsCoupled; } } } } // Voorstart if (message.Voorstart != null) { var fccount = Fasen.Count; for (var fcm_from = 0; fcm_from < fccount; ++fcm_from) { for (var fcm_to = 0; fcm_to < fccount; ++fcm_to) { if (Fasen[fcm_from].Naam == message.Voorstart.FaseVan && Fasen[fcm_to].Naam == message.Voorstart.FaseNaar) { var cvm2 = ConflictMatrix[fcm_to, fcm_from]; cvm2.HasOppositeVoorstart = message.IsCoupled; } } } } // LateRelease if (message.LateRelease != null) { var fccount = Fasen.Count; for (var fcm_from = 0; fcm_from < fccount; ++fcm_from) { for (var fcm_to = 0; fcm_to < fccount; ++fcm_to) { if (Fasen[fcm_from].Naam == message.LateRelease.FaseVan && Fasen[fcm_to].Naam == message.LateRelease.FaseNaar) { var cvm2 = ConflictMatrix[fcm_to, fcm_from]; cvm2.HasOppositeLateRelease = message.IsCoupled; } } } } // Gelijkstart if (message.Gelijkstart != null) { var fccount = Fasen.Count; for (var fcm_from = 0; fcm_from < fccount; ++fcm_from) { for (var fcm_to = 0; fcm_to < fccount; ++fcm_to) { if (Fasen[fcm_from].Naam == message.Gelijkstart.FaseVan && Fasen[fcm_to].Naam == message.Gelijkstart.FaseNaar) { var cvm2 = ConflictMatrix[fcm_to, fcm_from]; cvm2.IsCoupledNoMessaging = message.IsCoupled; } } } } // Meeaanvraag if (message.Meeaanvraag != null) { var fccount = Fasen.Count; for (var fcm_from = 0; fcm_from < fccount; ++fcm_from) { for (var fcm_to = 0; fcm_to < fccount; ++fcm_to) { if (Fasen[fcm_from].Naam == message.Meeaanvraag.FaseVan && Fasen[fcm_to].Naam == message.Meeaanvraag.FaseNaar) { var cvm2 = ConflictMatrix[fcm_to, fcm_from]; cvm2.HasOppositeMeeaanvraag = message.IsCoupled; } } } } }