public BitmapImage downloadImage(SeriesResponseQuery series) { clearFolder(Constants.imageThumbsFolder); ImageLevelQuery query = new ImageLevelQuery(series); GetQueryResponsesList g = new GetQueryResponsesList(); // IMAGE LEVEL QUERY List <QueryObject> listImages = g.getResponsesList(query, "Image"); if (listImages.Count > 0) { int numImageToDownload = (int)(listImages.Count / 2.0f); ImageResponseQuery image = (ImageResponseQuery)listImages[numImageToDownload]; watch(Constants.imageThumbsFolder); QueryRetrieve q = new QueryRetrieve(); String path = Path.Combine(Constants.imageThumbsFolder, "singleImage.txt"); File.WriteAllText(path, "gotImage"); //MOVE IMAGE q.move(GUILogic.readFromFile("thisMachineAE"), image, "Image", guiLogic); bool a = manualResetEvent.WaitOne(500); // now wait watcher.Dispose(); if (isImage) { return(loadImageSource()); } else { return(null); } } else { return(new BitmapImage()); } }
public List <QueryObject> getResponsesList(QueryObject query, string level) { Level = level; QueryRetrieve retrieveSeries = new QueryRetrieve(); retrieveSeries.OnDatasetArrived += gotADataset; retrieveSeries.OnConnectionClosed += (seriesList) => { gotAllDatasets(); }; // Launch Query Command retrieveSeries.find(query, level); bool a = manualResetEvent.WaitOne(1000); if (a == false) { MessageBox.Show("timeout"); } // now wait... return(queryResponses); }