public async Task LoadDeployFolder() { StorageFolder folder = await StorageInterface.GetDeployFolder(); if (folder != null) { DeployFolderPath = folder.Path; } else { DeployFolderPath = Res.GetString("ST_CurrentFolderPath"); } }
/// <summary> /// Opens file picker and populates files list /// </summary> public async Task OpenDeployFiles() { // check if user has a worker folder if (StorageInterface.IsDeployFolderAvailable) { // get worker folder StorageFolder folder = await StorageInterface.GetDeployFolder(); // get files from worker folder IReadOnlyList <StorageFile> files = await StorageInterface.GetDeployFiles(); // handle each file if (files?.Count > 0) { // new list FilesList = new ObservableCollection <DeployFile>(); // get each file and add it to collection foreach (StorageFile file in files) { // check for allowed extensions if (Path.GetExtension(file.Path).ToLower() == ".sig") { // this type of file will be use latter, not now continue; } else if (Path.GetExtension(file.Path).ToLower() != ".nmf" && Path.GetExtension(file.Path).ToLower() != ".hex") { // file as different or no extension // allowed files without extension are ER_FLASH, ER_RAM, ER_CONFIG, ER_DAT, ER_ResetVector if (file.DisplayName != "ER_FLASH" && file.DisplayName != "ER_RAM" && file.DisplayName != "ER_CONFIG" && file.DisplayName != "ER_DAT" && file.DisplayName != "ER_ResetVector") { // file not allowed continue; } } // add new files FilesList.Add(new DeployFile(file)); } // any file if (FilesList.Count == 0) { var dummy = await DialogSrv.ShowMessageAsync(Res.GetString("DP_NoValidFiles")); return; } FilesListLoaded?.Invoke(this, EventArgs.Empty); } else { var dummy = await DialogSrv.ShowMessageAsync(Res.GetString("DP_NoFiles")); } } else { // user haven't pick a folder yet, notify him List <Tuple <string, Action> > buttons = new List <Tuple <string, Action> > { new Tuple <string, Action>(Res.GetString("DP_GoToSettings"), () => NavigationService.Navigate(Pages.SettingsPage, 0)), new Tuple <string, Action>(Res.GetString("DP_Close"), null) }; await DialogSrv.ShowMessageWithActionsAsync(Res.GetString("DP_NoWorkerFolder"), "", buttons, 0, 1); } }