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); }
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; }
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; }
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); } }
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); } }