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);
        }
    }
Exemplo n.º 3
0
 public override string ToString()
 {
     return(SEJsonConverter.Serialize(this));
 }