public Task <PageResult> GetPageResult(string coinType, CoinBeneCrawler cbc, CoinRealCrawler crc, AppLiquidCrawler alc) { PageResult pr = new PageResult(); Task.Run(() => { var alcTask = alc.Start(coinType); var crcTask = crc.Start(coinType); var cbcTask = cbc.Start(coinType); pr.cbcString = cbcTask.Result; pr.crcString = crcTask.Result; pr.alcString = alcTask.Result; }); return(Task.FromResult(pr)); }
public Task Loop(string coinType, double percent, CoinBeneCrawler cbc, CoinRealCrawler crc, AppLiquidCrawler alc) { return(Task.Run(async() => { while (!disposed) { try { PageResult pr = GetPageResult(coinType, cbc, crc, alc).Result; string cbcString = pr.cbcString; string crcString = pr.crcString; string alcString = pr.alcString; Console.WriteLine(cbcString); Console.WriteLine(crcString); Console.WriteLine(alcString); double cbcValue = float.Parse(cbcString); double crcValue = float.Parse(crcString); double alcValue = float.Parse(alcString); Console.WriteLine(cbcValue); Console.WriteLine(crcValue); Console.WriteLine(alcValue); if (cbcValue >= crcValue * (1 + percent / 100)) { var higherPercent = (cbcValue / crcValue - 1) * 100; SlackMessage.SendMessageToSlack(coinType + " ở CoinBene cao hơn CoinReal " + higherPercent + "%"); } if (cbcValue >= alcValue * (1 + percent / 100)) { var higherPercent = (cbcValue / alcValue - 1) * 100; SlackMessage.SendMessageToSlack(coinType + " ở CoinBene cao hơn AppLiquid " + higherPercent + "%"); } if (crcValue >= cbcValue * (1 + percent / 100)) { var higherPercent = (crcValue / cbcValue - 1) * 100; SlackMessage.SendMessageToSlack(coinType + " ở CoinReal cao hơn CoinBene " + higherPercent + "%"); } if (crcValue >= alcValue * (1 + percent / 100)) { var higherPercent = (crcValue / alcValue - 1) * 100; SlackMessage.SendMessageToSlack(coinType + " ở CoinReal cao hơn AppLiquid " + higherPercent + "%"); } if (alcValue >= cbcValue * (1 + percent / 100)) { var higherPercent = (alcValue / cbcValue - 1) * 100; SlackMessage.SendMessageToSlack(coinType + " ở AppLiquid cao hơn CoinBene " + higherPercent + "%"); } if (alcValue >= crcValue * (1 + percent / 100)) { var higherPercent = (alcValue / crcValue - 1) * 100; SlackMessage.SendMessageToSlack(coinType + " ở AppLiquid cao hơn CoinReal " + higherPercent + "%"); } } catch (WebDriverException ex) { if (!ex.Message.Contains("Timed out")) { return; } Thread.Sleep(10000); } catch (Exception ex) { disposed = true; Console.WriteLine(ex); } Thread.Sleep(30000); } })); }