void AnwendungBenaacrictigeÜüberÄnderung()
        {
            var BeginZaitMili = NaacOptimatZaitMili;

            var NaacAnwendungNaacrict = new Optimat.EveOnline.SictNaacOptimatNaacrict();

            NaacAnwendungNaacrict.NuzerZaitMili = NaacOptimatZaitMili;

            var TempNaacAnwendungZuMeldeGbsBaumWurzelMitZait = this.TempNaacAnwendungZuMeldeGbsBaumWurzel;
            var TempNaacAnwendungZuMeldeOptimatScritVorherigListeWirkungErgeebnis = this.TempNaacAnwendungZuMeldeOptimatScritVorherigListeWirkungErgeebnis;

            var NaacOptimatMeldungZuusctandDiferenzScrit =
                NaacOptimatMeldungSictDiferenz.BerecneScritDif(
                    NaacOptimatMeldungSictDiferenz.ScritLezteIndex - 100,
                    new object[] { NaacOptimatMeldungZuusctand });

            if (null != NaacOptimatMeldungZuusctandDiferenzScrit)
            {
                if (!NaacOptimatMeldungZuusctandDiferenzScrit.MengeZuReferenzDiferenz.NullOderLeer())
                {
                    NaacAnwendungNaacrict.ZuusctandDiferenz =
                        Bib3.RefNezDiferenz.SictRefNezDiferenzScritSictJson.Konstrukt(NaacOptimatMeldungZuusctandDiferenzScrit);
                }
            }

            if (null != TempNaacAnwendungZuMeldeGbsBaumWurzelMitZait)
            {
                var TempNaacAnwendungZuMeldeGbsBaumWurzel = TempNaacAnwendungZuMeldeGbsBaumWurzelMitZait.Wert;

                var DiferenzZuBaumBeraitsBerecnet = false;

                if (!DiferenzZuBaumBeraitsBerecnet)
                {
                    var ScnapscusEndeZaitNulbar = TempNaacAnwendungZuMeldeGbsBaumWurzelMitZait.EndeZait;

                    if (ScnapscusEndeZaitNulbar.HasValue)
                    {
                        var MeldungZaitScrankeMin = ScnapscusEndeZaitNulbar - NaacOptimatMeldungWiderhoolungZaitDistanzMili;

                        var GbsBaumScritDiferenz =
                            GbsBaumSictDiferenz.BerecneScritDif(
                                ScnapscusEndeZaitNulbar.Value,
                                TempNaacAnwendungZuMeldeGbsBaumWurzel,
                                MeldungZaitScrankeMin);

                        var GbsBaumScritDiferenzMitZait = new SictVerlaufBeginUndEndeRef <SictGbsBaumSictDiferenzScritAbbild>(
                            TempNaacAnwendungZuMeldeGbsBaumWurzelMitZait.BeginZait,
                            TempNaacAnwendungZuMeldeGbsBaumWurzelMitZait.EndeZait,
                            GbsBaumScritDiferenz);

                        if (!GbsBaumScritDiferenz.MengeAstMeldungDiferenz.NullOderLeer())
                        {
                            NaacAnwendungNaacrict.GbsBaumDiferenz = GbsBaumScritDiferenz;
                        }

                        if (TempDebugGbsBaumSictDiferenzVerifiziire)
                        {
                            var VerifikatioonMengeGbsBaumWurzel =
                                TempDebugGbsBaumSictDiferenzVerifikatioonSictSume.BerecneScritSume(GbsBaumScritDiferenz);

                            var VerifikatioonGbsBaumWurzel =
                                (null == VerifikatioonMengeGbsBaumWurzel) ? null :
                                VerifikatioonMengeGbsBaumWurzel.FirstOrDefault();

                            var SerializerSettings = new JsonSerializerSettings();

                            SerializerSettings.DefaultValueHandling = DefaultValueHandling.Ignore;

                            string VerifikatioonGbsBaumWurzelSictSeriel;
                            string UurpsrungGbsBaumWurzelSictSeriel;

                            if (!Bib3.RefNezDiferenz.Extension.EqualPerNewtonsoftJsonSerializer(
                                    VerifikatioonGbsBaumWurzel,
                                    TempNaacAnwendungZuMeldeGbsBaumWurzel,
                                    out VerifikatioonGbsBaumWurzelSictSeriel,
                                    out UurpsrungGbsBaumWurzelSictSeriel,
                                    SerializerSettings))
                            {
                                TempDebugGbsBaumSictDiferenzVerifikatioonFeelsclaagLezteZaitMili = TempNaacAnwendungZuMeldeGbsBaumWurzelMitZait.EndeZait;
                            }

                            TempDebugGbsBaumSictDiferenzVerifikatioonListeScnapscusGbsBaumSictSeriel.Add(
                                new SictWertMitZait <string>(TempNaacAnwendungZuMeldeGbsBaumWurzelMitZait.EndeZait ?? -1, UurpsrungGbsBaumWurzelSictSeriel));

                            //	Liste Kürze da sonst Scpaicerbeleegung scteetig Sctaigend
                            Bib3.Extension.ListeKürzeBegin(TempDebugGbsBaumSictDiferenzVerifikatioonListeScnapscusGbsBaumSictSeriel, 40);
                        }

                        {
                            //	Temp Ast für Debug

                            if (null != GbsBaumScritDiferenz)
                            {
                                if (0 < GbsBaumScritDiferenz.MengeAstMeldungDiferenz.CountNullable())
                                {
                                }
                            }
                        }

                        var NaacAnwendungMeldungVonZiilProcessLeese = new SictVonProcessLeese(
                            GbsBaumScritDiferenzMitZait.BeginZait,
                            GbsBaumScritDiferenzMitZait.EndeZait,
                            null,
                            GbsBaumScritDiferenzMitZait.Wert);
                    }
                }
            }

            if (0 < TempBerictListeWindowClientRasterGescriibe.Count)
            {
                NaacAnwendungNaacrict.MengeWindowClientRasterMitZaitMili = TempBerictListeWindowClientRasterGescriibe.ToArray();
                TempBerictListeWindowClientRasterGescriibe.Clear();
            }

            if (null != NaacAnwendungNaacrict.ZuusctandDiferenz ||
                null != NaacAnwendungNaacrict.GbsBaumDiferenz ||
                null != NaacAnwendungNaacrict.MengeWindowClientRasterMitZaitMili)
            {
                AnwendungBenaacrictigeÜüberÄnderungLezteZait = BeginZaitMili;

                ScnitOptimatAnwendungScraibe(NaacAnwendungNaacrict);
            }
        }
Beispiel #2
0
        void AuswaalZaitpunktReprAktualisiire()
        {
            var Auswert            = this.Auswert;
            var AuswaalPunktNulbar = ZaitlaisteAuswaalGlobaal.AuswaalPunkt;

            SictOptimatScrit OptimatScrit         = null;
            SictOptimatScrit OptimatScritFolgende = null;

            SictVonProcessLeese            OptimatScritVonProcessLeese         = null;
            SictVonProcessLeese            OptimatScritFolgendeVonProcessLeese = null;
            SictVonOptimatMeldungZuusctand OptimatScritAutomaatZuusctand       = null;

            SictNaacProcessWirkung[] OptimatScritNaacProcessListeWirkung = null;

            SictAusGbsLocationInfo OptimatScritAutomaatZuusctandLocation = null;
            ShipState OptimatScritAutomaatZuusctandCharShip             = null;
            string    OptimatScritAutomaatZuusctandFittingInfoAgrString = null;

            Int64?NuzerScnacpscusZaitMili = null;

            var    OptimatScritZaitaintailungListeKomponenteMitBetraag = new List <KeyValuePair <Bib3.FCL.GBS.SictDiagramProportioonKomponente, int> >();
            string AuswaalZaitpunktEveOnlineClientClockSictString      = null;

            try
            {
                if (null == Auswert)
                {
                    return;
                }

                if (!AuswaalPunktNulbar.HasValue)
                {
                    return;
                }

                var ListeScnapscusZait =
                    Auswert.ZuNuzerZaitMiliListeScritInfoNääxte(
                        AuswaalPunktNulbar.Value, 1, 1, true);

                if (null != ListeScnapscusZait)
                {
                    OptimatScrit         = ListeScnapscusZait.FirstOrDefault((Kandidaat) => 0 == Kandidaat.Value).Key;
                    OptimatScritFolgende = ListeScnapscusZait.FirstOrDefault((Kandidaat) => 1 == Kandidaat.Value).Key;
                }

                if (null != OptimatScrit)
                {
                    NuzerScnacpscusZaitMili = OptimatScrit.NuzerZait;

                    OptimatScritVonProcessLeese         = OptimatScrit.VonProcessLeese;
                    OptimatScritAutomaatZuusctand       = OptimatScrit.NaacNuzerBerictAutomaatZuusctand   as      SictVonOptimatMeldungZuusctand;
                    OptimatScritNaacProcessListeWirkung = OptimatScrit.NaacProcessListeWirkung;
                }

                if (null != OptimatScritFolgende)
                {
                    OptimatScritFolgendeVonProcessLeese = OptimatScritFolgende.VonProcessLeese;
                }

                if (NuzerScnacpscusZaitMili.HasValue)
                {
                    var EveOnlineClientClockSekunde = Auswert.ZuNuzerZaitMiliBerecneEveOnlineClientClockSekunde(NuzerScnacpscusZaitMili.Value);

                    if (EveOnlineClientClockSekunde.HasValue)
                    {
                        AuswaalZaitpunktEveOnlineClientClockSictString = EveClientClockSictStringSekundeBerecneAusInTaagSekunde(EveOnlineClientClockSekunde.Value);
                    }
                }

                if (null != OptimatScritAutomaatZuusctand)
                {
                    OptimatScritAutomaatZuusctandLocation             = OptimatScritAutomaatZuusctand.CurrentLocation;
                    OptimatScritAutomaatZuusctandCharShip             = OptimatScritAutomaatZuusctand.ShipZuusctand;
                    OptimatScritAutomaatZuusctandFittingInfoAgrString = OptimatScritAutomaatZuusctand.FittingInfoAgrString;
                }

                if (null != OptimatScritVonProcessLeese)
                {
                    OptimatScritZaitaintailungListeKomponenteMitBetraag.Add(
                        new KeyValuePair <Bib3.FCL.GBS.SictDiagramProportioonKomponente, int>(
                            new Bib3.FCL.GBS.SictDiagramProportioonKomponente("read from process", OptimatScritZaitaintailungVonProcessLeeseBrush),
                            (int)(OptimatScritVonProcessLeese.Dauer ?? 0)));

                    if (null != OptimatScritNaacProcessListeWirkung)
                    {
                        var OptimatScritNaacProcessListeWirkungFrüühesteBeginZait =
                            OptimatScritNaacProcessListeWirkung.DefaultIfEmpty()
                            .Min((Wirkung) => ((null == Wirkung) ? null : Wirkung.BeginZaitMili) ?? Int64.MaxValue);

                        var OptimatScritNaacProcessListeWirkungScpäätesteEndeZait =
                            OptimatScritNaacProcessListeWirkung.DefaultIfEmpty()
                            .Min((Wirkung) => ((null == Wirkung) ? null : Wirkung.EndeZaitMili) ?? Int64.MinValue);

                        var OptimatScritVonVonProcessLeeseBisNaacProcessListeWirkungDauer =
                            OptimatScritNaacProcessListeWirkungFrüühesteBeginZait -
                            (OptimatScritVonProcessLeese.EndeZait ?? 0);

                        var OptimatScritNaacProcessListeWirkungDauer =
                            OptimatScritNaacProcessListeWirkungScpäätesteEndeZait -
                            OptimatScritNaacProcessListeWirkungFrüühesteBeginZait;

                        if (OptimatScritVonProcessLeese.EndeZait <= OptimatScritNaacProcessListeWirkungFrüühesteBeginZait &&
                            OptimatScritNaacProcessListeWirkungFrüühesteBeginZait <= OptimatScritNaacProcessListeWirkungScpäätesteEndeZait)
                        {
                            OptimatScritZaitaintailungListeKomponenteMitBetraag.Add(
                                new KeyValuePair <Bib3.FCL.GBS.SictDiagramProportioonKomponente, int>(
                                    new Bib3.FCL.GBS.SictDiagramProportioonKomponente("from (read from process).end to input.begin",
                                                                                      OptimatScritZaitaintailungVonProcessLeeseBisNaacProcessWirkungBrush),
                                    (int)(OptimatScritVonVonProcessLeeseBisNaacProcessListeWirkungDauer)));

                            OptimatScritZaitaintailungListeKomponenteMitBetraag.Add(
                                new KeyValuePair <Bib3.FCL.GBS.SictDiagramProportioonKomponente, int>(
                                    new Bib3.FCL.GBS.SictDiagramProportioonKomponente("input to process", OptimatScritZaitaintailungNaacProcessWirkungBrush),
                                    (int)(OptimatScritNaacProcessListeWirkungDauer)));

                            if (null != OptimatScritFolgendeVonProcessLeese)
                            {
                                var VonNaacProcessInputBisNääxteScritVonProcessLeeseDauerNulbar =
                                    OptimatScritFolgendeVonProcessLeese.BeginZaitMili - OptimatScritNaacProcessListeWirkungScpäätesteEndeZait;

                                if (0 <= VonNaacProcessInputBisNääxteScritVonProcessLeeseDauerNulbar)
                                {
                                    OptimatScritZaitaintailungListeKomponenteMitBetraag.Add(
                                        new KeyValuePair <Bib3.FCL.GBS.SictDiagramProportioonKomponente, int>(
                                            new Bib3.FCL.GBS.SictDiagramProportioonKomponente("from input.end to (next step.(read from process)).begin", OptimatScritZaitaintailungVonNaacProcessWirkungBisVonProcessLeeseBrush),
                                            (int)(VonNaacProcessInputBisNääxteScritVonProcessLeeseDauerNulbar.Value)));
                                }
                            }
                        }
                    }
                }
            }
            finally
            {
                foreach (var Erwaiterung in ListeErwaiterung)
                {
                    if (null == Erwaiterung)
                    {
                        continue;
                    }

                    System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback((t) => Erwaiterung.AuswaalZaitpunktSeze(AuswaalPunktNulbar)));
                }

                DictZuAnwendungZaitMiliScnapcusAutomaatZuusctandSictJson.BescrankeEntferneLängerNitVerwendete(10);

                ScnapcusReprWindowClientRasterSezeFürNuzerZaitMili(NuzerScnacpscusZaitMili);

                AuswaalZaitpunktCharLocationInspekt.Repräsentiire(OptimatScritAutomaatZuusctandLocation);
                AuswaalZaitpunktShipInspekt.Repräsentiire(OptimatScritAutomaatZuusctandCharShip);
                TextBoxAuswaalZaitpunktFittingInspekt.Text = OptimatScritAutomaatZuusctandFittingInfoAgrString;

                TextBoxScnapcusAuswaalZaitpunktInspekt.Text = Optimat.Glob.SictStringTausenderGetrent(NuzerScnacpscusZaitMili, " ");
                TextBoxScnapcusAuswaalZaitpunktInspektEveClientClock.Text = AuswaalZaitpunktEveOnlineClientClockSictString;

                AuswaalZaitpunktOptimatScritZaitaintailung.Repräsentiire(OptimatScritZaitaintailungListeKomponenteMitBetraag.ToArray());
            }
        }