public async Task DetectCoin(CloudCoin coin, int milliSecondsToTimeOut) { //Task.WaitAll(coin.detectTaskList.ToArray(),Config.milliSecondsToTimeOut); //Get data from the detection agents //Task.WaitAll(coin.detectTaskList.ToArray(), milliSecondsToTimeOut); await Task.WhenAll(coin.detectTaskList); for (int i = 0; i < Config.NodeCount; i++) { var resp = coin.response; }//end for each detection agent var counts = coin.response .GroupBy(item => item.outcome == "pass") .Select(grp => new { Number = grp.Key, Count = grp.Count() }); var countsf = coin.response .GroupBy(item => item.outcome == "fail") .Select(grp => new { Number = grp.Key, Count = grp.Count() }); Debug.WriteLine("Pass Count -" + counts.Count()); Debug.WriteLine("Fail Count -" + countsf.Count()); coin.setAnsToPansIfPassed(); coin.calculateHP(); coin.calcExpirationDate(); coin.grade(); coin.SortToFolder(); DetectEventArgs de = new DetectEventArgs(coin); OnCoinDetected(de); }//end detect coin
protected virtual void OnCoinDetected(DetectEventArgs e) { CoinDetected?.Invoke(this, e); }