Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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();
        }
Esempio n. 4
0
 public FileUserStorageCollection(IFileStorageSerializer pSerializer, string pDirectory, Dictionary <string, object> pDefaultValues = null) : base(pSerializer, pDirectory, pDefaultValues)
 {
 }
Esempio n. 5
0
 public FilePermissionStorage(IFileStorageSerializer pSerializer, string pFileName, IDictionary <string, object> pDefaultValues = null, bool pSaveDefaultValues = false) : base(pSerializer, pFileName, pDefaultValues, pSaveDefaultValues)
 {
 }