示例#1
0
        override protected void AingangBerictElement(
            SictBerictDataiIdentInDsInfo PfaadZuBerictElement,
            byte[] BerictElementSictSerielAbbild)
        {
            if (null == BerictElementSictSerielAbbild)
            {
                return;
            }

            var BerictElementSictUTF8 = Encoding.UTF8.GetString(BerictElementSictSerielAbbild);

            var BerictElement = JsonConvert.DeserializeObject <Optimat.SictBerictKeteGliidBehältnisScpez <TypScpez> >(BerictElementSictUTF8);

            var BerictElementScpez = BerictElement.Scpez as Optimat.EveOnline.Berict.SictBerictKeteGliid;

            if (null != BerictElementScpez)
            {
                var MengeWindowClientRasterMitZaitMili = BerictElementScpez.MengeWindowClientRasterMitZaitMili;

                if (null != MengeWindowClientRasterMitZaitMili)
                {
                    foreach (var WindowClientRasterMitZaitMili in MengeWindowClientRasterMitZaitMili)
                    {
                        base.NuzerZaitMiliWindowClientRasterSuuceHinwaisFüügeAin(WindowClientRasterMitZaitMili.Zait, WindowClientRasterMitZaitMili.Wert);
                    }
                }

                var ListeOptimatScrit = BerictElementScpez.ListeOptimatScrit;

                if (null != ListeOptimatScrit)
                {
                    foreach (var OptimatScrit in ListeOptimatScrit)
                    {
                        var OptimatScritNuzerZait = OptimatScrit.NuzerZait;

                        DictVonNuzerZaitMiliPfaadZuBerictElement[OptimatScritNuzerZait] = PfaadZuBerictElement;

                        AingangOptimatScrit(OptimatScrit);
                    }
                }
            }
        }
示例#2
0
 virtual protected void AingangBerictElement(
     SictBerictDataiIdentInDsInfo PfaadZuBerictElement,
     byte[] BerictElementSictSerielAbbild)
 {
 }
示例#3
0
        public void Berecne(
            out System.Exception LaadeDataiException,
            int?VerwertungMengeDataiAnzaalScranke)
        {
            LaadeDataiException = null;

            var BerictVerzaicnisPfaad = this.BerictHauptVerzaicnisPfaad;
            var BerictWindowClientRasterVerzaicnisPfaad = this.BerictWindowClientRasterVerzaicnisPfaad;

            bool BerecneScritLezteListeDataiEnde = false;

            try
            {
                try
                {
                    if (!(VerwertungMengeDataiAnzaalScranke <= 0) &&
                        null != BerictVerzaicnisPfaad)
                    {
                        /*
                         * Ermitelt ob noie Dataie vorhande und verwertet diise gegeebenenfals.
                         * */

                        var BerictVerzaicnis = new DirectoryInfo(BerictVerzaicnisPfaad);

                        var MengeFile = BerictVerzaicnis.GetFiles();

                        int VerwertungMengeDataiAnzaalBisher = 0;

                        foreach (var File in MengeFile)
                        {
                            if (VerwertungMengeDataiAnzaalScranke <= VerwertungMengeDataiAnzaalBisher)
                            {
                                break;
                            }

                            var DataiPfaad = File.FullName;

                            var DataiNaame = System.IO.Path.GetFileName(DataiPfaad);

                            var DataiBeraitsVerwertet = Optimat.Glob.TAD(DictZuDataiPfaadDataiBeraitsVerwertet, DataiPfaad);

                            if (MengeFile.LastOrDefault() == File)
                            {
                                BerecneScritLezteListeDataiEnde = true;
                            }

                            if (DataiBeraitsVerwertet)
                            {
                                continue;
                            }

                            DictZuDataiPfaadDataiBeraitsVerwertet[DataiPfaad] = true;

                            var DataiInhalt = InhaltAusDataiMitPfaad(DataiPfaad);

                            if (null == DataiInhalt)
                            {
                                continue;
                            }

                            var NaacDekompresListeDataiNaameUndInhalt = new List <KeyValuePair <string, byte[]> >();

                            {
                                var ZipIdentString = "PK";

                                var ZipIdentListeOktet = Encoding.ASCII.GetBytes(ZipIdentString);

                                var AnnaameDataiIstZipArciiv = Bib3.Glob.SequenceEqualPerObjectEquals(ZipIdentListeOktet, DataiInhalt.Take(ZipIdentListeOktet.Length));

                                if (AnnaameDataiIstZipArciiv)
                                {
                                    using (var ZipArchive = new System.IO.Compression.ZipArchive(new MemoryStream(DataiInhalt), System.IO.Compression.ZipArchiveMode.Read))
                                    {
                                        var MengeEntry = ZipArchive.Entries;

                                        if (null != MengeEntry)
                                        {
                                            foreach (var Entry in MengeEntry)
                                            {
                                                var EntryIdent = new SictBerictDataiIdentInDsInfo(DataiPfaad, Entry.FullName);

                                                using (var EntryStream = Entry.Open())
                                                {
                                                    var EntryInhalt = Optimat.Glob.AusStreamLeese(EntryStream);

                                                    NaacDekompresListeDataiNaameUndInhalt.Add(new KeyValuePair <string, byte[]>(Entry.FullName, EntryInhalt));
                                                }
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    NaacDekompresListeDataiNaameUndInhalt.Add(new KeyValuePair <string, byte[]>(null, DataiInhalt));
                                }
                            }

                            foreach (var NaacDekompresDataiNaameUndInhalt in NaacDekompresListeDataiNaameUndInhalt)
                            {
                                var NaacDekompresDataiInhalt = NaacDekompresDataiNaameUndInhalt.Value;

                                if (null == NaacDekompresDataiInhalt)
                                {
                                    continue;
                                }

                                var PfaadNaacBerictElement = new SictBerictDataiIdentInDsInfo(DataiPfaad, NaacDekompresDataiNaameUndInhalt.Key);

                                AingangBerictElement(PfaadNaacBerictElement, NaacDekompresDataiInhalt);
                            }

                            ++VerwertungMengeDataiAnzaalBisher;
                        }
                    }
                }
                catch (System.Exception Exception)
                {
                    LaadeDataiException = Exception;
                }

                {
                    //	Scatescpaicer Scranke apliziire.

                    DictZuDataiPfaadDataiInhalt.BescrankeEntferneLängerNitVerwendete(
                        null,
                        ScatenscpaicerBerictDataiKapazitäätScranke,
                        (DataiInhalt) => 1000 + ((null == DataiInhalt) ? 0 : DataiInhalt.LongLength));
                }

                {
                    ListeDataiAnzaal = DictZuDataiPfaadDataiBeraitsVerwertet.Count;
                }

                /*
                 * 2014.06.01
                 *
                 * KopiiAktualisiire();
                 * */
            }
            finally
            {
                this.BerecneScritLezteListeDataiEnde = BerecneScritLezteListeDataiEnde;
            }
        }