コード例 #1
0
ファイル: AzureMobileService.cs プロジェクト: steamypassion/X
        public async void PushToCloud(AppWideSetting appWideSetting)
        {
            if (!AppService.IsConnected())
            {
                return;
            }

            try
            {
                if (appWideSetting != null && !String.IsNullOrEmpty(appWideSetting.Id))
                {
                    await mstAppWideSetting.UpdateAsync(appWideSetting);
                }
                else
                {
                    appWideSetting.Id   = string.Empty;
                    appWideSetting.MSId = string.Empty;
                    await mstAppWideSetting.InsertAsync(appWideSetting);
                }

                Messenger.Default.Send <GeneralSystemWideMessage>(new GeneralSystemWideMessage("writing ...")
                {
                    Identifier = "CLOUD BAR", SourceId = "AzureMobileService", Action = "WRITE"
                });
            }
            catch
            {
                Messenger.Default.Send <GeneralSystemWideMessage>(new GeneralSystemWideMessage("writing ...")
                {
                    Identifier = "CLOUD BAR", SourceId = "AzureMobileService", Action = "ERROR"
                });
            }
        }
コード例 #2
0
ファイル: AppService.cs プロジェクト: steamypassion/X
        private async static Task GetSettingsLocalAndCloud()
        {
            //bool doPullFromCloud = false;

            //DEFAULT SETTINGS
            var defaultSetting = new AppWideSetting();

            defaultSetting.ExplorerMXDocumentsFolder = "ExplorerMX";
            defaultSetting.FavouriteMXPictureFolder  = "FavouriteMX";
            defaultSetting.WatchMXVideoFolder        = "WatchMX";
            defaultSetting.FlickrKey    = "102e389a942747faebb958c4db95c098";
            defaultSetting.FlickrSecret = "774b263b4d3a2578";
            defaultSetting.AMSUrl       = "https://developermx.azure-mobile.net/";
            defaultSetting.AMSKey       = "bnIWZFbEKBzNJXtXgMgAxHLtsOaYfW28";

            string forStorage = string.Format(
                "{0}|{1}|{2}|{3}|{4}|{5}|{6}",
                defaultSetting.ExplorerMXDocumentsFolder,
                defaultSetting.FavouriteMXPictureFolder,
                defaultSetting.WatchMXVideoFolder,
                defaultSetting.FlickrKey,
                defaultSetting.FlickrSecret,
                defaultSetting.AMSUrl,
                defaultSetting.AMSKey
                );



            //PULL FROM LOCAL
            var appState = AppDatabase.Current.RetrieveAppState("AppWideSetting");

            if (appState.Count == 0)
            {
                //use default settings
                AppSetting.ExplorerMXDocumentsFolder = defaultSetting.ExplorerMXDocumentsFolder;
                AppSetting.FavouriteMXPictureFolder  = defaultSetting.FavouriteMXPictureFolder;
                AppSetting.WatchMXVideoFolder        = defaultSetting.WatchMXVideoFolder;
                AppSetting.FlickrKey    = defaultSetting.FlickrKey;
                AppSetting.FlickrSecret = defaultSetting.FlickrSecret;
                AppSetting.AMSUrl       = defaultSetting.AMSUrl;
                AppSetting.AMSKey       = defaultSetting.AMSKey;

                //save default settings to local store for future use
                AppDatabase.Current.SaveAppState("AppWideSetting", forStorage);
            }
            else
            {
                //use local settings
                var parts = appState[0].Value.Split("|".ToCharArray());

                AppSetting.ExplorerMXDocumentsFolder = parts[0];
                AppSetting.FavouriteMXPictureFolder  = parts[1];
                AppSetting.WatchMXVideoFolder        = parts[2];
                AppSetting.FlickrKey    = parts[3];
                AppSetting.FlickrSecret = parts[4];
                AppSetting.AMSUrl       = parts[5];
                AppSetting.AMSKey       = parts[6];
            }


            //always pull from cloud to update local incase its changed from factory defaults
            try
            {
                var found = await AzureMobileService.Current.RetrieveAppWideSettingFromCloudAsync();

                if (found != null && found.Count == 0)
                {
                    //should never happen
                    AzureMobileService.Current.PushToCloud(defaultSetting);
                }
                else
                {
                    AppSetting.ExplorerMXDocumentsFolder = found[0].ExplorerMXDocumentsFolder;
                    AppSetting.FavouriteMXPictureFolder  = found[0].FavouriteMXPictureFolder;
                    AppSetting.WatchMXVideoFolder        = found[0].WatchMXVideoFolder;
                    AppSetting.FlickrKey    = found[0].FlickrKey;
                    AppSetting.FlickrSecret = found[0].FlickrSecret;
                    AppSetting.AMSUrl       = found[0].AMSUrl;
                    AppSetting.AMSKey       = found[0].AMSKey;

                    string forStorage2 = string.Format(
                        "{0}|{1}|{2}|{3}|{4}|{5}|{6}",
                        AppSetting.ExplorerMXDocumentsFolder,
                        AppSetting.FavouriteMXPictureFolder,
                        AppSetting.WatchMXVideoFolder,
                        AppSetting.FlickrKey,
                        AppSetting.FlickrSecret,
                        AppSetting.AMSUrl,
                        AppSetting.AMSKey
                        );


                    //save default settings to local store for future use
                    AppDatabase.Current.SaveAppState("AppWideSetting", forStorage2);
                }
            }
            catch // (Exception ex)
            {
            }
        }