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