private void InitLocalProjects() { LocalProjects = new ObservableCollection <LocalProgramHeader>(); // TODO: add sample images var project1 = new LocalProgramHeader { ProjectName = "Local Project 2 with very very very very very long name" }; var project2 = new LocalProgramHeader { ProjectName = "Local Project 3" }; var project3 = new LocalProgramHeader { ProjectName = "Local Project 4" }; LocalProjects.Add(project1); LocalProjects.Add(project2); LocalProjects.Add(project3); }
private void OpenProgramCommandAction(LocalProgramHeader program) { if (program.IsDeleting || program.IsLoading) { return; } var message = new GenericMessage <LocalProgramHeader>(program); Messenger.Default.Send(message, ViewModelMessagingToken.CurrentProgramHeaderChangedListener); ServiceLocator.NavigationService.NavigateTo <ProgramDetailViewModel>(); }
private async Task UpdateLocalPrograms() { if (IsInDesignMode) return; if (_localPrograms == null) { _localPrograms = new ObservableCollection<LocalProgramHeader>(); } //_localPrograms.Clear(); using (var storage = StorageSystem.GetStorage()) { var programNames = await storage.GetDirectoryNamesAsync(StorageConstants.ProgramsPath); //var programs = new List<ProgramDummyHeader>(); var programsToRemove = new List<LocalProgramHeader>(); foreach (var header in _localPrograms) { var found = false; foreach (string programName in programNames) if (header.ProjectName == programName) found = true; if (!found) programsToRemove.Add(header); } //foreach (var header in _localProjects) //{ // if (header.ProjectName == CurrentProgram.ProjectDummyHeader.ProjectName) // programsToRemove.Add(header); //} foreach (var program in programsToRemove) { _localPrograms.Remove(program); } //var programsToAdd = new List<LocalProgramHeader>(); foreach (string programName in programNames) { LocalProgramHeader header = null; foreach (var h in _localPrograms) { if (h.ProjectName == programName) header = h; } if (header == null) { var manualScreenshotPath = Path.Combine( StorageConstants.ProgramsPath, programName, StorageConstants.ProgramManualScreenshotPath); var automaticProjectScreenshotPath = Path.Combine( StorageConstants.ProgramsPath, programName, StorageConstants.ProgramAutomaticScreenshotPath); var codePath = Path.Combine(StorageConstants.ProgramsPath, programName, StorageConstants.ProgramCodePath); var programScreenshot = new PortableImage(); programScreenshot.LoadAsync(manualScreenshotPath, automaticProjectScreenshotPath, false); var isLoaded = !await storage.FileExistsAsync(codePath); var programHeader = new LocalProgramHeader { ProjectName = programName, Screenshot = programScreenshot, IsLoading = isLoaded }; _localPrograms.Insert(0, programHeader); } else if (header.IsLoading) { var codePath = Path.Combine(StorageConstants.ProgramsPath, programName, StorageConstants.ProgramCodePath); var isLoaded = !await storage.FileExistsAsync(codePath); header.IsLoading = isLoaded; } } //programsToAdd.Sort(); //foreach (var program in programsToAdd) //{ // _localPrograms.Insert(0, program); //} } }
private void OpenProgramCommandAction(LocalProgramHeader program) { if (program.IsDeleting || program.IsLoading) return; var message = new GenericMessage<LocalProgramHeader>(program); Messenger.Default.Send(message, ViewModelMessagingToken.CurrentProgramHeaderChangedListener); ServiceLocator.NavigationService.NavigateTo<ProgramDetailViewModel>(); }
private void InitLocalProjects() { LocalProjects = new ObservableCollection<LocalProgramHeader>(); // TODO: add sample images var project1 = new LocalProgramHeader { ProjectName = "Local Project 2 with very very very very very long name" }; var project2 = new LocalProgramHeader { ProjectName = "Local Project 3" }; var project3 = new LocalProgramHeader { ProjectName = "Local Project 4" }; LocalProjects.Add(project1); LocalProjects.Add(project2); LocalProjects.Add(project3); }
private async Task UpdateLocalPrograms() { if (IsInDesignMode) { return; } if (_localPrograms == null) { _localPrograms = new ObservableCollection <LocalProgramHeader>(); } //_localPrograms.Clear(); using (var storage = StorageSystem.GetStorage()) { var programNames = await storage.GetDirectoryNamesAsync(StorageConstants.ProgramsPath); //var programs = new List<ProgramDummyHeader>(); var programsToRemove = new List <LocalProgramHeader>(); foreach (var header in _localPrograms) { var found = false; foreach (string programName in programNames) { if (header.ProjectName == programName) { found = true; } } if (!found) { programsToRemove.Add(header); } } //foreach (var header in _localProjects) //{ // if (header.ProjectName == CurrentProgram.ProjectDummyHeader.ProjectName) // programsToRemove.Add(header); //} foreach (var program in programsToRemove) { _localPrograms.Remove(program); } //var programsToAdd = new List<LocalProgramHeader>(); foreach (string programName in programNames) { LocalProgramHeader header = null; foreach (var h in _localPrograms) { if (h.ProjectName == programName) { header = h; } } if (header == null) { var manualScreenshotPath = Path.Combine( StorageConstants.ProgramsPath, programName, StorageConstants.ProgramManualScreenshotPath); var automaticProjectScreenshotPath = Path.Combine( StorageConstants.ProgramsPath, programName, StorageConstants.ProgramAutomaticScreenshotPath); var codePath = Path.Combine(StorageConstants.ProgramsPath, programName, StorageConstants.ProgramCodePath); var programScreenshot = new PortableImage(); programScreenshot.LoadAsync(manualScreenshotPath, automaticProjectScreenshotPath, false); var isLoaded = !await storage.FileExistsAsync(codePath); var programHeader = new LocalProgramHeader { ProjectName = programName, Screenshot = programScreenshot, IsLoading = isLoaded }; _localPrograms.Insert(0, programHeader); } else if (header.IsLoading) { var codePath = Path.Combine(StorageConstants.ProgramsPath, programName, StorageConstants.ProgramCodePath); var isLoaded = !await storage.FileExistsAsync(codePath); header.IsLoading = isLoaded; } } //programsToAdd.Sort(); //foreach (var program in programsToAdd) //{ // _localPrograms.Insert(0, program); //} } }