Example #1
0
        public DataProvider(DataProfile profile, string rootFolder, ISerializer serializer, string extension = ".txt")
        {
            Profile    = profile;
            Serializer = serializer;

            RootFolder = rootFolder + "/" + profile.Name + "/";
            Extension  = extension;
        }
Example #2
0
        public DataProvider(DataProfile profile, string rootFolder, string extension = ".txt")
        {
            Profile = profile;
            // Заменить на стандартный System.Text.Json
            Serializer = new OdinSerializer();

            RootFolder = rootFolder + "/" + profile.Name + "/";
            Extension  = extension;
        }
Example #3
0
        /// <summary>
        /// Установка локального профиля.
        /// Если профиль не будет найдет в списке, то вылетит исключение.
        /// </summary>
        public static void SetLocal(DataProfile profile)
        {
            if (!_profiles.Contains(profile))
            {
                throw new Exception($"Profile {profile.Name} not exist in current list of profiles!");
            }

            Local = new DataProvider(profile, SaveFolder, new OdinSerializer(), SaveExtension);
        }
Example #4
0
        private static void LoadProfiles()
        {
            var globalProfile  = new DataProfile("Global");
            var globalProvider = new DataProvider(globalProfile, SaveFolder, new OdinSerializer(), SaveExtension);

            Global = globalProvider;

            _profiles = Global.LoadClassEntities <DataProfile>("Profiles/");

            // Если локальный профиль не найден, то он будет ссылаться на глобальный профиль
            if (_profiles.Count == 0)
            {
                Local = Global;
                return;
            }

            var localProfile = _profiles[0];

            Local = new DataProvider(localProfile, SaveFolder, new OdinSerializer(), SaveExtension);
        }