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 { } }
public ZuOreTypAusSurveyScanInfo ZuOreTypSictStringSurveyScanInfo(string OreTypSictString) { return (this.MengeZuOreTypSictStringSurveyScanInfo() .FirstOrDefaultNullable((Kandidaat) => ZuOreTypAusSurveyScanInfo.HinraicendGlaicwertigFürFortsaz(Kandidaat.OreTypSictString, OreTypSictString))); }