public DataProvider(DataProfile profile, string rootFolder, ISerializer serializer, string extension = ".txt") { Profile = profile; Serializer = serializer; RootFolder = rootFolder + "/" + profile.Name + "/"; Extension = extension; }
public DataProvider(DataProfile profile, string rootFolder, string extension = ".txt") { Profile = profile; // Заменить на стандартный System.Text.Json Serializer = new OdinSerializer(); RootFolder = rootFolder + "/" + profile.Name + "/"; Extension = extension; }
/// <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); }
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); }