public IEnumerator GetPfofileDb() { _runTimeDB_Profile.Clear(); //очистка //формирование списка людей потипу foreach (MenuItemType t in Enum.GetValues(typeof(MenuItemType))) { _runTimeDB_Profile.Add(t, new List <BaseDataForProfileWindow>()); } //Загрузка таблицы с гугл диска yield return(LoadBD(client, bd => _bdProfile = bd, ProfileTableName)); #region Получение версии таблицы int lastVesr = PlayerPrefs.GetInt(LastVersionProfile, 0); int currentVersion = 0; try { Debug.LogFormat("Last Prfile Version {0}", lastVesr); currentVersion = GetVersion(_bdProfile as Database, client); Debug.LogFormat("Prfile Version {0}", currentVersion); } catch (Exception e) { Debug.LogException(e); yield break; } #endregion Получение версии таблицы if (currentVersion > lastVesr) { Debug.LogFormat("Preprare Update Prfile To {0}", currentVersion); //обновляем локальную БД yield return(UpdateDB(client, _bdProfile as Database, AddPfofileTableData)); { var list = _runTimeDB_Profile.Select(o => new SaveProfileData() { Type = o.Key, Data = o.Value.ToArray() }).ToList(); //сохранить изменения на устройстве SaveToSelectFile(PathProfileData, SEJsonConverter.Serialize(list)); PlayerPrefs.SetInt(LastVersionProfile, currentVersion); PlayerPrefs.Save(); } } else { //подготовка данных для работы приложения var res = SEJsonConverter.Deserialize <List <SaveProfileData> >(LoadSelectTableFromFile(PathProfileData)); _runTimeDB_Profile = res.ToDictionary(o => o.Type, o => o.Data.ToList()); yield return(null); } // Fetch the cell feed of the worksheet. }
/// <summary> /// Обновить локальную БД со списком услуг /// </summary> /// <returns></returns> public IEnumerator GetSelectDb() { _runtimeDbSelect.Clear(); //очистка //формирование списка услуг потипу foreach (MenuItemType t in Enum.GetValues(typeof(MenuItemType))) { _runtimeDbSelect.Add(t, new List <BaseDataForSelectWindow>()); } //Загрузка таблицы с гугл диска yield return(LoadBD(client, (bd) => _bdSelect = bd, SelectTableName)); #region Получение версии таблицы int lastVesr = PlayerPrefs.GetInt(LastVersionSelected, 0); int currentVersion = 0; try { Debug.LogFormat("Last Version {0}", lastVesr); currentVersion = GetVersion(_bdSelect as Database, client); Debug.LogFormat("Data Version {0}", currentVersion); } catch (Exception e) { Debug.LogException(e); yield break; } #endregion Получение версии таблицы //если версия интернета свежеее if (currentVersion > lastVesr) { Debug.LogFormat("Preprare Uptdate To {0}", currentVersion); lastVesr = currentVersion; //обновляем локальную БД yield return(UpdateDB(client, _bdSelect as Database, AddSelectTableData)); var list = _runtimeDbSelect.Select(o => new SaveSelectData() { Type = o.Key, Data = o.Value.ToArray() }).ToList(); //сохранить изменения на устройстве SaveToSelectFile(PathSelectData, SEJsonConverter.Serialize(list)); PlayerPrefs.SetInt(LastVersionSelected, currentVersion); PlayerPrefs.Save(); } else { //подготовка данных для работы приложения var res = SEJsonConverter.Deserialize <List <SaveSelectData> >(LoadSelectTableFromFile(PathSelectData)); _runtimeDbSelect = res.ToDictionary(o => o.Type, o => o.Data.ToList()); yield return(null); } }
public override string ToString() { return(SEJsonConverter.Serialize(this)); }