Example #1
0
        /// <summary>
        /// Backup all known routes and stops to skydrive
        /// </summary>
        /// <returns></returns>
        public static async Task BackupToSkydrive()
        {
            // Group by agency
            var knownTNS = new TransitNetworkSearch(
                AppSettings.KnownRoutes.Value,
                AppSettings.KnownStops.Value,
                AppSettings.AlarmThresholds.Value);
            Dictionary <string, TransitNetworkSearch> agencies = TransitNetworkSearch.GroupByAgency(knownTNS);
            //if (agencies.Count == 0) return;

            // Get folder
            List <FolderFileData> folders = await CloudStorage.GetFiles(CloudStorage.ROOT_FOLDER);

            string         folder_id;
            FolderFileData ffd = folders.FirstOrDefault(f => f.Name == CloudStorage.BA_FolderName);

            if (ffd == null)
            {
                folder_id = await CreateFolder(CloudStorage.ROOT_FOLDER, CloudStorage.BA_FolderName);
            }
            else
            {
                folder_id = ffd.Id;
            }

            // Upload agencies
            foreach (var keyval in agencies)
            {
                await CloudStorage.UploadTNS(folder_id, keyval.Key, keyval.Value);
            }
        }