Esempio n. 1
0
        static SictZuScnapscusRasterInfo WindowClientRasterFürVonNuzerDataiIdent(
            string BerictWindowClientRasterVerzaicnisPfaad,
            SictDataiIdentUndSuuceHinwais VonNuzerDataiIdent)
        {
            if (null == VonNuzerDataiIdent)
            {
                return(null);
            }

            var DataiIdentSHA1 = VonNuzerDataiIdent.IdentSHA1;

            if (null == DataiIdentSHA1)
            {
                return(null);
            }

            var SuuceMengeHinwais = VonNuzerDataiIdent.SuuceMengeHinwais;

            if (null == SuuceMengeHinwais)
            {
                return(null);
            }

            if (null == BerictWindowClientRasterVerzaicnisPfaad)
            {
                return(null);
            }

            var MengeDataiPfaad =
                SuuceMengeHinwais
                .Select((SuuceHinwais) => BerictWindowClientRasterVerzaicnisPfaad +
                        System.IO.Path.DirectorySeparatorChar + System.IO.Path.GetFileName(SuuceHinwais.NaameString)).ToArray();

            foreach (var DataiPfaad in MengeDataiPfaad)
            {
                byte[] DataiInhalt, DataiInhaltHashSHA1;

                Bib3.Glob.LaadeInhaltAusDataiPfaad(DataiPfaad, out DataiInhalt, out DataiInhaltHashSHA1);

                if (null == DataiInhalt)
                {
                    continue;
                }

                if (!DataiIdentSHA1.SequenceEqual(DataiInhaltHashSHA1))
                {
                    continue;
                }

                return(new SictZuScnapscusRasterInfo(DataiPfaad, DataiInhalt));
            }

            return(null);
        }
Esempio n. 2
0
 public SictZuOptimatScritInfo(
     SictVerlaufBeginUndEndeRefMitZaitAinhaitMili <SictVonProcessLeese> VonProcessLeese,
     SictVonOptimatMeldungZuusctand VonOptimatZuusctand,
     SictNaacProcessWirkung[] VorsclaagListeNaacProcessWirkung,
     SictNaacProcessWirkung[] MengeNaacProcessWirkungErgeebnis,
     SictDataiIdentUndSuuceHinwais WindowClientRasterIdentUndSuuceHinwais)
 {
     this.VonProcessLeese     = VonProcessLeese;
     this.VonOptimatZuusctand = VonOptimatZuusctand;
     this.VorsclaagListeNaacProcessWirkung       = VorsclaagListeNaacProcessWirkung;
     this.MengeNaacProcessWirkungErgeebnis       = MengeNaacProcessWirkungErgeebnis;
     this.WindowClientRasterIdentUndSuuceHinwais = WindowClientRasterIdentUndSuuceHinwais;
 }
Esempio n. 3
0
 public SictZuOptimatScritInfo(
     VonProcessMesung <VonSensorikMesung> VonProcessMesung,
     SictVonOptimatMeldungZuusctand VonOptimatZuusctand,
     SictNaacProcessWirkung[] VorsclaagListeNaacProcessWirkung,
     SictNaacProcessWirkung[] MengeNaacProcessWirkungErgeebnis,
     SictDataiIdentUndSuuceHinwais WindowClientRasterIdentUndSuuceHinwais)
 {
     this.VonProcessMesung    = VonProcessMesung;
     this.VonOptimatZuusctand = VonOptimatZuusctand;
     this.VorsclaagListeNaacProcessWirkung       = VorsclaagListeNaacProcessWirkung;
     this.MengeNaacProcessWirkungErgeebnis       = MengeNaacProcessWirkungErgeebnis;
     this.WindowClientRasterIdentUndSuuceHinwais = WindowClientRasterIdentUndSuuceHinwais;
 }
Esempio n. 4
0
        protected void NuzerZaitMiliWindowClientRasterSuuceHinwaisFüügeAin(
            Int64 NuzerZaitMili,
            SictDataiIdentUndSuuceHinwais DataiIdentUndSuuceHinwais)
        {
            if (null == DataiIdentUndSuuceHinwais)
            {
                return;
            }

            DictVonNuzerZaitMiliWindowClientRasterSuuceHinwais[NuzerZaitMili] = DataiIdentUndSuuceHinwais;

            var MengeAingefüügt = ListeZaitpunktOptimatScritOoneWindowClientRasterIdent.Take(0).ToList();

            foreach (var ZaitpunktOptimatScritOoneWindowClientRasterIdent in ListeZaitpunktOptimatScritOoneWindowClientRasterIdent)
            {
                var OptimatScrit = ZuNuzerZaitMiliScritInfoNääxte(ZaitpunktOptimatScritOoneWindowClientRasterIdent);

                if (null == OptimatScrit)
                {
                    continue;
                }

                var OptimatScritZaitDistanz = ZaitpunktOptimatScritOoneWindowClientRasterIdent - NuzerZaitMili;

                if (1111 < Math.Abs(OptimatScritZaitDistanz))
                {
                    //	Zait Distanz zu wait
                    continue;
                }

                OptimatScrit.ProcessWindowClientRasterIdentUndSuuceHinwais = DataiIdentUndSuuceHinwais;

                ZuScritInfoFüügeAin(OptimatScrit);

                MengeAingefüügt.Add(ZaitpunktOptimatScritOoneWindowClientRasterIdent);
            }

            foreach (var AingefüügtZait in MengeAingefüügt)
            {
                ListeZaitpunktOptimatScritOoneWindowClientRasterIdent.Remove(AingefüügtZait);
            }
        }
Esempio n. 5
0
        void BerictHauptKümere()
        {
            var ZaitMili = Bib3.Glob.StopwatchZaitMikroSictInt() / 1000;

            string ZiilVerzaicnisPfaad = null;

            var BerictKeteGliidSerialisLezteMitDataiPfaad = this.BerictKeteGliidSerialisLezteMitDataiPfaad;

            var GbsAingaabeKonfig = this.GbsAingaabeKonfig;

            if (null != GbsAingaabeKonfig)
            {
                ZiilVerzaicnisPfaad = GbsAingaabeKonfig.BerictHauptPersistVerzaicnisPfaad;
            }

            if (null == ZiilVerzaicnisPfaad)
            {
                return;
            }

            if (ZiilVerzaicnisPfaad.Length < 1)
            {
                return;
            }

            var BerictHauptLezteAlterMili = ZaitMili - BerictHauptMengeDataiLezteZaitMili;

            if (BerictHauptLezteAlterMili / 1000 < BerictHauptMengeDataiZaitDistanzScrankeMin)
            {
                return;
            }

            BerictHauptMengeDataiLezteZaitMili = ZaitMili;

            try
            {
                var ZiilVerzaicnis = new DirectoryInfo(ZiilVerzaicnisPfaad);

                if (!ZiilVerzaicnis.Exists)
                {
                    ZiilVerzaicnis.Create();
                }
            }
            catch (System.Exception Exception)
            {
                return;
            }

            var BerictKeteGliidAlgemain = new SictBerictKeteGliid(ZaitMili * 1000);

            if (null != BerictKeteGliidSerialisLezteMitDataiPfaad.Key)
            {
                var VorherGliidDatai = new SictDataiIdentUndSuuceHinwais(
                    BerictKeteGliidSerialisLezteMitDataiPfaad.Key.SerialisHashSHA1,
                    new SictDataiSuuceHinwais[] { new SictDataiSuuceHinwais(BerictKeteGliidSerialisLezteMitDataiPfaad.Value) });

                BerictKeteGliidAlgemain.VorherGliidDatai = VorherGliidDatai;
            }

            //	!!!!	Temp Scpez für Nuzer und Server in glaicem Prozes	!!!!
            Int64?ZaitVonNuzerNaacServerVersazMili = null;

            var Nuzer = this.Nuzer;

            if (null != Nuzer.Key)
            {
                var NuzerMesungAnwendungServerZaitMikroNulbar = Nuzer.Key.MesungAnwendungServerZaitMikro;

                if (NuzerMesungAnwendungServerZaitMikroNulbar.HasValue)
                {
                    var NuzerMesungAnwendungServerZaitMikro = NuzerMesungAnwendungServerZaitMikroNulbar.Value;

                    ZaitVonNuzerNaacServerVersazMili = (NuzerMesungAnwendungServerZaitMikro.Wert - NuzerMesungAnwendungServerZaitMikro.Zait) / 1000;
                }
            }

            var VonServerMengeBerictZuScraibe =
                Bib3.Extension.SelectNullable(
                    NaacDataiBerictNaacBerictVonAnwendungListeNaacrict,
                    (VonAnwendungNaacrict) => new SictVonOptimatNaacrict(
                        VonAnwendungNaacrict.AnwendungServerZaitMili,
                        VonAnwendungNaacrict.AnwendungServerTaagBeginZaitMili,
                        null))
                .ToArrayNullable();

            NaacDataiBerictNaacBerictVonAnwendungListeNaacrict.Clear();

            var BerictListeWindowClientRasterGescriibe = this.NaacDataiBerictListeWindowClientRasterGescriibe.ToArray();

            var ListeOptimatScritNaacLezteBerict =
                ListeVonServerMeldungAbbildOptimatScrit
                .SkipWhile((OptimatScrit) => !(BerictHauptOptimatScritGescriibeLezteZaitMili < OptimatScrit.NuzerZait))
                .ToArray();

            byte[] AnwendungSizungIdent = null;

            var ListeOptimatScritZuScraibe = new List <SictOptimatScrit>();

            foreach (var OptimatScrit in ListeOptimatScritNaacLezteBerict)
            {
                if (ListeOptimatScritZuScraibe.Count < 1)
                {
                    AnwendungSizungIdent = OptimatScrit.AnwendungSizungIdent;
                }
                else
                {
                    if (!Bib3.Glob.SequenceEqualPerObjectEquals(AnwendungSizungIdent, OptimatScrit.AnwendungSizungIdent))
                    {
                        //	AnwendungSizungIdent des Optimat Scrit isc unglaic AnwendungSizungIdent des frühescte Optimat Scrit in Liste

                        //	Optimat Scrit aus versciidene Sizunge sole nit in aine Datai zusamegefast werde, daher hiir Abbruc Liste
                        break;
                    }
                }

                if (null == OptimatScrit.NaacProcessListeWirkung)
                {
                    var ScritAlterMili = ZaitMili - OptimatScrit.NuzerZait;

                    if (!(1e+4 < ScritAlterMili))
                    {
                        break;
                    }
                }

                ListeOptimatScritZuScraibe.Add(OptimatScrit);
            }

            var ListeOptimatScritZuScraibeAbbild =
                ListeOptimatScritZuScraibe
                .Select((OptimatScrit) => SictOptimatScrit.OptimatScritSictFürBerict(OptimatScrit, false))
                .ToArray();

            var AnwendungSizungIdentSictString =
                Bib3.Glob.SictZaalSictStringBaasis16(AnwendungSizungIdent) ?? "null";

            var BerictKeteGliidScpez = new Optimat.EveOnline.Berict.SictBerictKeteGliid(
                ZaitVonNuzerNaacServerVersazMili,
                ListeOptimatScritZuScraibeAbbild,
                VonServerMengeBerictZuScraibe,
                BerictListeWindowClientRasterGescriibe);

            if (null != ListeOptimatScritZuScraibe)
            {
                foreach (var OptimatScrit in ListeOptimatScritZuScraibe.Reversed())
                {
                    /*
                     * 2014.11.07
                     *
                     * var OptimatScritVonZiilProcessLeeseBeginZaitMili = SictOptimatScrit.AusOptimatScritVonProcessLeeseBeginZaitMili(OptimatScrit);
                     *
                     * if (OptimatScritVonZiilProcessLeeseBeginZaitMili.HasValue)
                     * {
                     *      BerictHauptOptimatScritGescriibeLezteZaitMili = OptimatScritVonZiilProcessLeeseBeginZaitMili.Value;
                     *      break;
                     * }
                     * */

                    BerictHauptOptimatScritGescriibeLezteZaitMili = OptimatScrit.NuzerZait;
                    break;
                }
            }

            this.NaacDataiBerictListeWindowClientRasterGescriibe.Clear();

            var BerictKeteGliid = new Optimat.SictBerictKeteGliidBehältnisScpez <Optimat.EveOnline.Berict.SictBerictKeteGliid>(BerictKeteGliidAlgemain, BerictKeteGliidScpez);

            var BerictKeteGliidSerialis = new SictBerictKeteGliidSerialis(BerictKeteGliid);

            var ZaitSictKalenderString = Bib3.Glob.SictwaiseKalenderString(Bib3.Glob.SictDateTimeVonStopwatchZaitMili(ZaitMili), ".", 0);

            Int64 BerictHauptListeDataiLezteIndex = 0;

            if (Bib3.Glob.SequenceEqualPerObjectEquals(BerictHauptFürASidListeDataiLezteIndex.Key, AnwendungSizungIdent))
            {
                BerictHauptListeDataiLezteIndex = BerictHauptFürASidListeDataiLezteIndex.Value;
            }

            var VerzaicnisNaame = "Berict[ASId=" + AnwendungSizungIdentSictString + "]";

            var FürAnwendungSizungVerzaicnisPfaad = ZiilVerzaicnisPfaad + Path.DirectorySeparatorChar + VerzaicnisNaame;

            var Verzaicnis = new DirectoryInfo(FürAnwendungSizungVerzaicnisPfaad);

            if (!Verzaicnis.Exists)
            {
                Verzaicnis.Create();
            }

            var DataiNaame = ZaitSictKalenderString + ".Berict.Haupt[ASId=" + AnwendungSizungIdentSictString + ",DI=" + BerictHauptListeDataiLezteIndex.ToString() + "]";

            var DataiPfaad = FürAnwendungSizungVerzaicnisPfaad + Path.DirectorySeparatorChar + DataiNaame;

            bool ScraibeDataiErfolg;

            System.Exception ScraibeDataiException;

            Bib3.Glob.ScraibeInhaltNaacDataiPfaad(DataiPfaad, BerictKeteGliidSerialis.SerialisSictListeOktet, out ScraibeDataiErfolg, out ScraibeDataiException);

            BerictHauptFürASidListeDataiLezteIndex = new KeyValuePair <byte[], Int64>(AnwendungSizungIdent, BerictHauptListeDataiLezteIndex + 1);

            this.BerictKeteGliidSerialisLezteMitDataiPfaad = new KeyValuePair <SictBerictKeteGliidSerialis, string>(BerictKeteGliidSerialis, DataiNaame);

            if (null != ScraibeDataiException)
            {
                throw new ApplicationException("Scraibe Datai Feelsclaag", ScraibeDataiException);
            }
        }