static public SictAufgaabeParamZerleegungErgeebnis ZerleegeMengeOverviewObjGrupeMesung( ISictAutomatZuusctand AutomaatZuusctand, SictOverviewObjektGrupeEnum[] MengeObjGrupe) { var AufgaabeParamZerleegungErgeebnis = new SictAufgaabeParamZerleegungErgeebnis(null, true); if (MengeObjGrupe.IsNullOrEmpty()) { return(AufgaabeParamZerleegungErgeebnis); } AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAus(); if (null == AutomaatZuusctand) { return(AufgaabeParamZerleegungErgeebnis); } var OverviewUndTarget = AutomaatZuusctand.OverviewUndTarget; if (null == OverviewUndTarget) { return(AufgaabeParamZerleegungErgeebnis); } var InRaumAktioonUndGefect = AutomaatZuusctand.InRaumAktioonUndGefect; if (null == InRaumAktioonUndGefect) { return(AufgaabeParamZerleegungErgeebnis); } /* * 2015.00.04 * * Aufgaabe werd vorersct so zerleegt das für ObjGrupe jewails ainzeln Overview durchsuuct werd. * */ var MengePresetDefault = SictOverviewUndTargetZuusctand.ListePresetDefaultPrioSctaatisc .Where((Kandidaat) => 0 < SictOverviewUndTargetZuusctand.ZuOverviewDefaultMengeObjektGrupeSictbar(Kandidaat) .IntersectNullable(MengeObjGrupe).CountNullable()) .ToArray(); var ListePresetDefault = SictOverviewUndTargetZuusctand.MengePresetDefaultOrdnetNaacPrioSctaatisc(MengePresetDefault); var PresetNääxte = ListePresetDefault.FirstOrDefaultNullable(); var OverviewMengeZuTabNamePresetDefault = InRaumAktioonUndGefect.OverviewMengeZuTabNamePresetDefault; var TabFürPresetDefault = OverviewMengeZuTabNamePresetDefault .FirstOrDefaultNullable((Kandidaat) => Kandidaat.Value == PresetNääxte).Key; if (TabFürPresetDefault.IsNullOrEmpty()) { AufgaabeParamZerleegungErgeebnis.FüügeAn( AufgaabeParamAndere.KonstruktNaacNuzerMeldungZuEveOnline( SictNaacNuzerMeldungZuEveOnline.ErrorGenerel(-1, new SictNaacNuzerMeldungZuEveOnlineCause(CauseText: "Overview Management")))); return(AufgaabeParamZerleegungErgeebnis); } // Für nääxte Preset vorgesehene Tab öfne. AufgaabeParamZerleegungErgeebnis.FüügeAn( AufgaabeParamAndere.KonstruktOverviewTabAktiviire(TabFürPresetDefault)); // Preset laade. AufgaabeParamZerleegungErgeebnis.FüügeAn( new AufgaabeParamOverviewPresetLaade(OverviewPresetTyp.Default, PresetNääxte.ToString(), TabFürPresetDefault)); // Dirc Viewport Scrolle. AufgaabeParamZerleegungErgeebnis.FüügeAn(AufgaabeParamAndere.KonstruktInOverviewTabFolgeViewportDurcGrid()); AufgaabeParamZerleegungErgeebnis.ZerleegungVolsctändigSezeAin(); return(AufgaabeParamZerleegungErgeebnis); }
public void Aktualisiire(ISictAutomatZuusctand Automaat) { string TargetOreTypSictString = null; OreTypSictEnum? TargetOreTyp = null; ZuOreTypAusSurveyScanInfo ZuOreTypSurveyScanInfo = null; var MengeKandidaatListItem = new List <GbsListGroupedEntryZuusctand>(); bool? MengeKandidaatListItemVolsctändig = null; Int64?OreQuantityScrankeMin = null; Int64?OreQuantityScrankeMax = null; Int64?OreVolumeMiliScrankeMin = null; Int64?OreVolumeMiliScrankeMax = null; try { if (null == Automaat) { return; } var Target = this.Target; if (null == Target) { return; } var TargetIstAsteroid = SictOverviewUndTargetZuusctand.TargetBescriftungIstAsteroid(Target, out TargetOreTypSictString, out TargetOreTyp); if (!TargetIstAsteroid) { return; } var MengeZuListEntryTarget = Automaat.MengeZuListEntryTargetAinscrankungPerDistance(); ZuOreTypSurveyScanInfo = Automaat.ZuOreTypSictStringSurveyScanInfo(TargetOreTypSictString); if (null == ZuOreTypSurveyScanInfo) { return; } try { IEnumerable <SictWertMitZait <KeyValuePair <SictTargetZuusctand, GbsListGroupedEntryZuusctand> > > ListeIndikatorZuTargetSurveyScanListEntry = null; { var AutomaatGbs = Automaat.Gbs; if (null != AutomaatGbs) { var AgregatioonAusTransitionInfo = AutomaatGbs.AgregatioonAusTransitionInfo; if (null != AgregatioonAusTransitionInfo) { ListeIndikatorZuTargetSurveyScanListEntry = AgregatioonAusTransitionInfo.ListeIndikatorZuTargetSurveyScanListEntry; } } } var IndikatorZuTargetSurveyScanListEntryLezte = ListeIndikatorZuTargetSurveyScanListEntry .LastOrDefaultNullable((Kandidaat) => Kandidaat.Wert.Key == Target); var AusIndikatorSurveyScanListEntry = IndikatorZuTargetSurveyScanListEntryLezte.Wert.Value; var ZuOreTypSurveyScanInfoListeItem = ZuOreTypSurveyScanInfo.ListeEntryItem; if (null == ZuOreTypSurveyScanInfoListeItem) { return; } if (null != AusIndikatorSurveyScanListEntry) { if (ZuOreTypSurveyScanInfoListeItem.ContainsNullable(AusIndikatorSurveyScanListEntry)) { MengeKandidaatListItem.Add(AusIndikatorSurveyScanListEntry); return; } } foreach (var AusSurveyScanListEntry in ZuOreTypSurveyScanInfoListeItem) { var ListItemAusgesclosePerDistance = false; if (null != MengeZuListEntryTarget) { var ZuListEntryTarget = MengeZuListEntryTarget.FirstOrDefault((Kandidaat) => Kandidaat.ListEntry == AusSurveyScanListEntry); if (null != ZuListEntryTarget) { if (!ZuListEntryTarget.MengeInRaumObjekt.ContainsNullable(Target)) { ListItemAusgesclosePerDistance = true; } } } if (ListItemAusgesclosePerDistance) { continue; } MengeKandidaatListItem.Add(AusSurveyScanListEntry); } } finally { this.ZuOreTypSurveyScanInfo = ZuOreTypSurveyScanInfo; var MengeKandidaatListItemOreQuantity = MengeKandidaatListItem .SelectNullable((KandidaatListItem) => KandidaatListItem.Quantity) .ToArrayNullable(); var MengeKandidaatListIteOreVolumeMili = MengeKandidaatListItem .SelectNullable((KandidaatListItem) => KandidaatListItem.OreVolumeMili) .ToArrayNullable(); if (MengeKandidaatListItemOreQuantity.AllHaveValueNullable() ?? false) { OreQuantityScrankeMin = Bib3.Glob.Min(MengeKandidaatListItemOreQuantity); OreQuantityScrankeMax = Bib3.Glob.Max(MengeKandidaatListItemOreQuantity); } if (MengeKandidaatListIteOreVolumeMili.AllHaveValueNullable() ?? false) { OreVolumeMiliScrankeMin = Bib3.Glob.Min(MengeKandidaatListIteOreVolumeMili); OreVolumeMiliScrankeMax = Bib3.Glob.Max(MengeKandidaatListIteOreVolumeMili); } // Aktualisatioon hiir findet nur sctat wen WindowSurveyScanView noc ofe. this.TargetOreTypSictString = TargetOreTypSictString; Bib3.Glob.PropagiireListeRepräsentatioonMitReprUndIdentPerClrReferenz( MengeKandidaatListItem, this.MengeKandidaatListItem); this.MengeKandidaatListItemVolsctändig = MengeKandidaatListItemVolsctändig; this.OreQuantityScrankeMin = OreQuantityScrankeMin; this.OreQuantityScrankeMax = OreQuantityScrankeMax; this.OreVolumeMiliScrankeMin = OreVolumeMiliScrankeMin; this.OreVolumeMiliScrankeMax = OreVolumeMiliScrankeMax; } } finally { } }