private void RefreshFiles() { Reset(resetContent: true, resetGrid: true, resetLanguage: true, resetFile: true); FilesFound = _fileService.GetJsonFiles().ToArray(); if (!FilesFound.Any()) { return; } var currentFileSource = new List <string> { string.Empty }; currentFileSource.AddRange(FilesFound.Select(s => s.DisplayName).Distinct().OrderBy(o => o)); if (currentFile.InvokeRequired) { currentFile.Invoke((MethodInvoker) delegate { currentFile.DataSource = currentFileSource; }); } else { currentFile.DataSource = currentFileSource; } }
private void CurrentFile_SelectedIndexChanged(object sender, EventArgs e) { Reset(resetContent: true, resetGrid: true, resetLanguage: true); if (string.IsNullOrEmpty(currentFile.Text)) { return; } var grouped = FilesFound .Where(w => w.DisplayName == currentFile.Text) .ToList(); var currentLanguageSource = new List <string>(); currentLanguageSource.AddRange(grouped.Select(s => s.Language).Distinct().OrderBy(o => o)); currentLanguage.DataSource = currentLanguageSource; currentLanguage.Text = currentLanguageSource.FirstOrDefault(); }
private void FileWatcherCreated(object sender, FileSystemEventArgs e) { DateTime outDt; var name = e.Name; if (FilesFound.TryGetValue(name, out outDt)) { // We have already processed return; } if (e.Name.Equals("PlexRequests.zip")) { FilesFound.TryAdd(name, DateTime.UtcNow); ConsoleHelper.WriteLine("Found PlexRequests.zip"); Thread.Sleep(TimeSpan.FromMinutes(1)); ConsoleHelper.WriteLine("Waiting for file to download"); var d = new Deploy(); d.DeployApp(e.FullPath); } }
private void SetFileSet() { string currentFileText = ""; string currentLanguageText = ""; // Set current file set if (InvokeRequired) { Invoke((MethodInvoker) delegate { currentFileText = currentFile.Text; currentLanguageText = currentLanguage.Text; }); } else { currentFileText = currentFile.Text; currentLanguageText = currentLanguage.Text; } FileSet = FilesFound.FirstOrDefault(f => f.DisplayName == currentFileText && f.Language == currentLanguageText); }
public void WalkDirectoryTree(DirectoryInfo root, string searchMask) { DirectoryInfo[] childDirectories = null; FileInfo[] files = null; try { files = root.GetFiles(searchMask); if (files.Length > 0) { FilesFound?.Invoke(this, new FilesEventArgs(files)); } } catch (UnauthorizedAccessException) { } try { childDirectories = root.GetDirectories(); foreach (System.IO.DirectoryInfo directoryInfo in childDirectories) { WalkDirectoryTree(directoryInfo, searchMask); } } catch (UnauthorizedAccessException) { } }