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