public static CobieModel ImportFromTable(string file, out string report, ModelMapping mapping = null) { var loaded = new CobieModel(); mapping = mapping ?? GetMapping(); var storage = GetTableStore(loaded, mapping); using (var txn = loaded.BeginTransaction("Loading XLSX")) { storage.LoadFrom(file); //assign all levels to facility because COBie XLS standard contains this implicitly var facility = loaded.Instances.FirstOrDefault <CobieFacility>(); var floors = loaded.Instances.OfType <CobieFloor>().ToList(); if (facility != null && floors.Any()) { floors.ForEach(f => f.Facility = facility); } txn.Commit(); } report = storage.Log.ToString(); return(loaded); }
public static CobieModel ImportFromTable(Stream file, ExcelTypeEnum typeEnum, out string report, ModelMapping mapping = null) { var loaded = new CobieModel(); mapping = mapping ?? GetMapping(); var storage = GetTableStore(loaded, mapping); using (var txn = loaded.BeginTransaction("Loading XLSX")) { storage.LoadFrom(file, typeEnum); txn.Commit(); } report = storage.Log.ToString(); return(loaded); }