// ----< posts checkout request to the server on button click >-------------------- private void DownloadDependents(RepoFileMetadata repoFileMeta) { RepoClientState state = (RepoClientState)this.DataContext; foreach (RepoFile dep in repoFileMeta.Dependencies) { Download(dep); } }
public void GetFileMetadata(String package, String ns, String filename, int version, String userId, Action <GetFileMetadataResponse> action, bool verbose = false) { string uniqueId = GetUniqueId(); dispatcher_[uniqueId] = (CsMessage response) => { List <RepoFile> dependencies = new List <RepoFile>(); int count = 1; while (true) { if (!response.containsKey($"dependency-{count}")) { break; } string fileInfo = response.value($"dependency-{count}"); dependencies.Add(RepoFile.parse(fileInfo)); count++; } RepoFileMetadata metadata = new RepoFileMetadata { Author = response.value("author"), Description = response.value("description"), Dependencies = dependencies }; action(new GetFileMetadataResponse { Metadata = metadata, RequestId = uniqueId }); dispatcher_.Remove(uniqueId); }; CsMessage msg = new CsMessage(); msg.add("to", CsEndPoint.toString(serverEndPoint_)); msg.add("from", CsEndPoint.toString(endPoint_)); msg.add("command", "get-file-metadata"); msg.add("requestId", uniqueId); msg.add("userId", userId); if (verbose) { msg.add("verbose", "yes"); } msg.add("package", package); msg.add("namespace", ns); msg.add("filename", filename); msg.add("version", version.ToString()); translater_.postMessage(msg); }
// ----< displays a message box with the metadata information of selected file >-------------------- private void DisplayMetadata(RepoFile repoFile, RepoFileMetadata metadata) { RepoClientState state = (RepoClientState)this.DataContext; state.BrowseProps.SelectedRepoFile = repoFile; IEnumerable <String> depList = metadata.Dependencies.Select((RepoFile depFile) => $"> {depFile.Filename} v{depFile.Version}"); FileMetadataPopupWindow fileMetadataPopup = new FileMetadataPopupWindow(); fileMetadataPopup.Title = $"Metadata for {repoFile.Filename} v{repoFile.Version}"; fileMetadataPopup.Author.Text = metadata.Author; fileMetadataPopup.Description.Text = metadata.Description; fileMetadataPopup.Dependencies.Text = String.Join("\n", depList); fileMetadataPopup.Show(); }