public static Func <PropertyFieldInfo, Dictionary <string, object>, object> GetStorageFactory(Type pServerPlugin, Type pProperty) { IFileStorageSerializer serializer = GetSerializer(pServerPlugin, pProperty); if (pProperty == typeof(IStorage)) { return((l_pfi, defaultValues) => new FileStorage(serializer, Path.Combine(ServiceHelper.GetServerPluginFolder(pServerPlugin), l_pfi.GetStorageLocationAttribute().Location), defaultValues, true)); } if (pProperty == typeof(IStorageCollection)) { return((l_pfi, defaultValues) => new FileStorageCollection(serializer, Path.Combine(ServiceHelper.GetServerPluginFolder(pServerPlugin), l_pfi.GetStorageLocationAttribute().Location), defaultValues)); } if (pProperty == typeof(IUserStorageCollection)) { return((l_pfi, defaultValues) => new FileUserStorageCollection(serializer, Path.Combine(ServiceHelper.GetServerPluginFolder(pServerPlugin), l_pfi.GetStorageLocationAttribute().Location), defaultValues)); } if (pProperty == typeof(IPermissionService)) { return((l_pfi, defaultValues) => new FilePermissionStorage(serializer, Path.Combine(ServiceHelper.GetServerPluginFolder(pServerPlugin), "Permissions"), defaultValues)); } throw new NotImplementedException(pProperty?.ToString()); }
public FileStorageCollection(IFileStorageSerializer pSerializer, string pDirectory, Dictionary <string, object> pDefaultValues = null) { mDirectory = pDirectory; mDefaultValues = pDefaultValues; mSerializer = pSerializer; //create DefaultFile if (mDefaultStorage == null && pDefaultValues != null) { mDefaultStorage = new FileStorage(mSerializer, GetFilePath("_default"), pDefaultValues, true); } }
public FileStorage(IFileStorageSerializer pSerializer, string pFileName, IDictionary <string, object> pDefaultValues = null, bool pSaveDefaultValues = false) { Content = new Dictionary <string, object>(); FileName = pFileName; mSerializer = pSerializer; if (string.IsNullOrEmpty(Path.GetExtension(FileName))) { FileName += mSerializer.GetFileExtension(); } DefaultValues = pDefaultValues; mSaveDefaultValues = pSaveDefaultValues; Reload(); }
public FileUserStorageCollection(IFileStorageSerializer pSerializer, string pDirectory, Dictionary <string, object> pDefaultValues = null) : base(pSerializer, pDirectory, pDefaultValues) { }
public FilePermissionStorage(IFileStorageSerializer pSerializer, string pFileName, IDictionary <string, object> pDefaultValues = null, bool pSaveDefaultValues = false) : base(pSerializer, pFileName, pDefaultValues, pSaveDefaultValues) { }