private Isir.getIsirWsCuzkDataResponse MakeWsRequest(Isir.IsirWsCuzkPortTypeClient wsClient, string ico, string rc) { return(wsClient.getIsirWsCuzkDataAsync(string.IsNullOrEmpty(ico) ? new Isir.getIsirWsCuzkDataRequest { rc = rc, filtrAktualniRizeni = Isir.priznakType.F, maxPocetVysledku = 50, maxRelevanceVysledku = 1 } : new Isir.getIsirWsCuzkDataRequest { ic = ico, filtrAktualniRizeni = Isir.priznakType.F, maxPocetVysledku = 50, maxRelevanceVysledku = 2 }).Result); }
private void RequestsToWs() { var client = new Isir.IsirWsCuzkPortTypeClient(); while (TaskSearch.Status == TaskStatus.Running || !ForDetailRequest.IsEmpty) { Rizeni rizeni; if (ForDetailRequest.TryDequeue(out rizeni)) { Isir.getIsirWsCuzkDataResponse response; // retrying until get correct answer :) while (true) { try { response = MakeWsRequest(client, rizeni.ICO, rizeni.Rc); break; } catch (Exception e) { AddError("WS", e); } } foreach (var item in response.data) { if (item.cisloSenatu != rizeni.SpisovaZnacka.SoudniOddeleni || item.bcVec != rizeni.SpisovaZnacka.Cislo || item.rocnik != rizeni.SpisovaZnacka.Rocnik) { Interlocked.Increment(ref InvalidFileNumber); } else { rizeni.AktualniStav = item.druhStavKonkursu; rizeni.Url = item.urlDetailRizeni; break; } } if (string.IsNullOrEmpty(rizeni.Url)) { Interlocked.Increment(ref Disabled); } ForStore.Enqueue(rizeni); } else { Thread.Sleep(100); } } Thread.Sleep(1000); }