Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }