public async Task CheckComplOrders() { var deleted = new List <Seller>(); foreach (Seller seller in Sellers) { if (await seller.IsCpmplited()) { deleted.Add(seller); Complited.Add(seller); } } foreach (Seller seller in deleted) { Sellers.Remove(seller); } if (await Buyer.IsComplited()) { var complitedOrder = Buyer.PopComplited(); if (complitedOrder != null) { Sellers.Add(new Seller(complitedOrder, Tracker.Sett.Delta, _market.Api)); } } }
void GetData() { mWebClient = new WebClient(); Uri url = new Uri(string.Format("https://geocode-maps.yandex.ru/1.x/?format=json&results=1&geocode={0}", Address)); try { string stringResult = mWebClient.DownloadString(url); JObject jsonResult = JObject.Parse(stringResult); var pos = jsonResult["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]["Point"]["pos"].Value <string>(); var lowerCorner = jsonResult["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]["boundedBy"]["Envelope"]["lowerCorner"].Value <string>(); var upperCorner = jsonResult["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]["boundedBy"]["Envelope"]["upperCorner"].Value <string>(); if (pos == null) { return; } Pos = GetLatLng(pos); LowerCorner = GetLatLng(lowerCorner); UpperCorner = GetLatLng(upperCorner); Complited?.Invoke(Pos, LowerCorner, UpperCorner); } catch (Exception e) { Error?.Invoke(e); } }
private async void Extract() { if (Parser == null || Settings == null) { IsRun = false; return; } for (int i = Settings.StartPage; i <= Settings.EndPage; i++) { if (IsRun) //проверяем активность парсера { string source = await _loader.GetHtmlCode(i); //Получаем код страницы HtmlParser htmlParser = new HtmlParser(); IHtmlDocument document = await htmlParser.ParseDocumentAsync(source); Data.AddRange(Parser.Parse(document)); // сохраняем полученные данные NewData?.Invoke(this, Data.ToArray()); // возвращаем полученные за итерацию данные } } Complited?.Invoke(this); // событие отвечающее за информирование о завершении парсинга IsRun = false; }