public void GetAllAsyncTest() { string keyName = ".NET"; var allKey = new SearchKeywordsDto(_dbContext).GetAll(); var key = allKey.FirstOrDefault(c => c.KeyWord == keyName); Console.WriteLine(key?.KeyWord); Assert.IsNotNull(key); }
public void CompleteRequestTest() { var searchKeywords = new SearchKeywordsDto(_dbContext).GetAll(); new Service1().CompleteRequest(); var result = new SearchResultDTO(_dbContext).GetAll(); Console.WriteLine($"keywords {searchKeywords.Count} / result {result.Count}"); Assert.AreEqual(searchKeywords.Count, result.Count); }
public void RequestTest() { var searchKeywords = new SearchKeywordsDto(_dbContext).GetAll(); new TimerRequest(_provider, _dbContext).Request(); var result = new SearchResultDTO(_dbContext).GetAll(); Console.WriteLine($"keywords {searchKeywords.Count} / result {result.Count}"); Assert.AreEqual(searchKeywords.Count, result.Count); }
public bool Request() { try { Writer.WriteTextInFile("Start request"); var searchKeywords = new SearchKeywordsDto(_dbContext).GetAll(); SearchKeywords.AddRange(searchKeywords); var saveResuly = new SearchResultDTO(_dbContext); foreach (var keyword in SearchKeywords.ToList()) { Index++; while (SearchKeywords.Contains(keyword)) { try { TimeExecutionRequests.Start(); var result = _provider.NumberOfVacancies(keyword); saveResuly.SaveResult(result); SearchKeywords.Remove(keyword); //удаление из списка елемента по которому был успешный ответ и он записан в базу TimeExecutionRequests.Stop(); } catch (Exception e) { new ErrorLogger(_dbContext).SaveException(e, keyword.Id); Writer.WriteTextInFile($"Error {e.Message}\n inerMesage {e.InnerException?.Message}\n {e.StackTrace}"); Thread.Sleep(TimeSpan.FromMinutes(1)); } } } Writer.WriteTextInFile($"Выполненно {Index} запроса"); return(true); } catch (Exception exception) { new ErrorLogger(_dbContext).SaveException(exception); Writer.WriteTextInFile($"{exception.Message}\n {exception.InnerException}\n {exception.StackTrace}"); } TimeExecutionRequests.Stop(); return(false); }