/// <summary> /// Dumps everything of a single type into the cache from the filesystem for BackingData /// </summary> /// <typeparam name="T">the type to get and store</typeparam> /// <returns>full or partial success</returns> public static bool LoadAllToCache(Type objectType) { if (!objectType.GetInterfaces().Contains(typeof(IData))) return false; var fileAccessor = new NetMud.DataAccess.FileSystem.BackingData(); var typeDirectory = fileAccessor.BaseDirectory + fileAccessor.CurrentDirectoryName + objectType.Name + "/"; if (!fileAccessor.VerifyDirectory(typeDirectory, false)) { LoggingUtility.LogError(new AccessViolationException(String.Format("Current directory for type {0} does not exist.", objectType.Name))); return false; } var filesDirectory = new DirectoryInfo(typeDirectory); foreach (var file in filesDirectory.EnumerateFiles()) { try { BackingDataCache.Add(fileAccessor.ReadEntity(file, objectType)); } catch(Exception ex) { LoggingUtility.LogError(ex); //Let it keep going } } return true; }