public JsonResult GetVacanciesFromDb() { var vacancies = vacancyService.GetVacancies().ToList(); try { var reqVacs = HhRequestApiHelper.GetVacanciesFromHh(); foreach (var item in reqVacs) { if (vacancies.All(v => v.Id != item.Id)) { vacancyService.InsertVacancy(item); vacancies.Add(item); } } } catch (WebException e) { return(Json(vacancies)); } catch (Exception e) { Console.WriteLine("\nThe following Exception was raised : {0}", e.Message); } return(Json(vacancies)); }
public async Task <IPagedList <VacancyViewModel> > GetVacancies(int page) { var vacancies = await _vacancyService.GetVacancies(page); var subset = vacancies.Select(o => new VacancyViewModel(o, _settings.WebSiteUrl)); return(new StaticPagedList <VacancyViewModel>(subset, vacancies)); }
public async Task <IActionResult> GetSitemap() { var page = 1; var key = "sitemap"; var xml = _cache.Get(key)?.ToString(); if (string.IsNullOrEmpty(xml)) { IPagedList <Publication> publications; IPagedList <Vacancy> vacancies; var sitemap = new Sitemap(); var events = GetCustomPages(); foreach (var url in events) { sitemap.Add(CreateUrl(url)); } page = 1; do { publications = await _publicationService.GetPublications(null, page); page++; foreach (var p in publications) { var publication = new PublicationViewModel(p, _settings.WebSiteUrl); sitemap.Add(CreateUrl(publication.ShareUrl.ToString())); } }while (publications.HasNextPage); page = 1; do { vacancies = await _vacancyService.GetVacancies(page); page++; foreach (var v in vacancies) { var vacancy = new VacancyViewModel(v, _settings.WebSiteUrl); sitemap.Add(CreateUrl(vacancy.ShareUrl.ToString())); } }while (vacancies.HasNextPage); xml = sitemap.ToXml(); _cache.Set(key, xml, TimeSpan.FromMinutes(10)); } return(Content(xml, "application/xml")); }
public async Task <IActionResult> Vacancies(int page = 1) { ViewData["Title"] = "Job"; var pagedResult = await _vacancyService.GetVacancies(page); var model = new StaticPagedList <VacancyViewModel>(pagedResult.Select(o => new VacancyViewModel(o, _settings.WebSiteUrl)), pagedResult); return(View("~/Views/Home/Vacancies.cshtml", model)); }
public async Task OnGetAsync() { Vacancies = await _vacancyService.GetVacancies(); }
public async Task <List <HHVacancyModel> > GetVacanciesAsync(string name, string region = "") { var vacs = await _vacancyService.GetVacancies(name, region); return(vacs); // TODO: думаю тут сделать ответ о том что данные получены и можно строить графики }