Beispiel #1
0
        /// <summary>
        /// Erstellt einen neuen Workbook Cache.
        /// Es wird mindestens ein leerer WorkbookCache zurückgegeben.
        /// Die darin enthaltenen SheetCaches können von außerhalb nicht gefüllt werden.
        /// </summary>
        /// <param name="workbook"></param>
        /// <returns></returns>
        internal static WorkbookCache CreateWorkbookCache(Excel.Workbook workbook)
        {
            try
            {
                if (workbook != null)
                {
                    //Neuen WorkbookCache erzeugen
                    var wbCache = new WorkbookCache
                    {
                        //Name und SheetCache initialisieren
                        WorkbookName = workbook.Name,
                        SheetCaches  = new List <SheetCache>()
                    };

                    //Durch alle Sheets laufen und die SheetCaches erzeugen
                    foreach (Excel.Worksheet sheet in workbook.Sheets)
                    {
                        wbCache.SheetCaches.Add(SheetCache.CreateSheetCache(sheet));
                    }

                    return(wbCache);
                }
                return(null);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #2
0
 /// <summary>
 /// Prüft den Worksheet im angegebenen WorkbookCache auf Änderungen. Es werden keine neuen Barcodes gefunden.
 /// </summary>
 /// <param name="workbookCache"></param>
 /// <param name="worksheet"></param>
 internal static void CheckWorksheet(WorkbookCache workbookCache, Excel.Worksheet worksheet)
 {
     //Nur prüfen wenn der SheetCache auch existiert
     if (worksheet != null && workbookCache?.HasSheetCache(worksheet) == true)
     {
         //SheetCache ermitteln
         var shCache = workbookCache.SheetCaches.First(x => x.WorksheetName.Equals(worksheet.Name));
         //Prüfen
         shCache.CheckWorksheet(worksheet);
     }
 }
Beispiel #3
0
 /// <summary>
 /// Setzt die Felder des Workbook Caches in der eigenen Instanz.
 /// </summary>
 /// <param name="workbookCache"></param>
 private void SetFelder(WorkbookCache workbookCache)
 {
     WorkbookName = workbookCache.WorkbookName;
     SheetCaches  = workbookCache.SheetCaches;
 }