private bool ValidateForm(OfferSearchModel model) { if (ModelState.IsValid) { if (_applicationService.AreSkillsDuplicated(model.Skills)) { ModelState.AddModelError("duplicateSkills", "You can't have repeated skills"); } if (_applicationService.IsMinSalaryOverMaxSalary(model.MinSalary, model.MaxSalary)) { ModelState.AddModelError("minOvermax", "Max salary must be grater or equal than min salary"); } } return ModelState.IsValid; }
public async Task<ActionResult> Index(OfferSearchModel model) { if (ValidateForm(model)) { var newOfferSearchViewModel = await _applicationService.GetOfferSearchViewModelAsync(model); if (!newOfferSearchViewModel.Offers.HasOffers()) { AddNoOffersError(); } return View(newOfferSearchViewModel); } AddNoOffersError(); var offerSearchViewModelWithoutOffers = _applicationService.GetOfferSearchViewModelWithoutOffers(model); return View(offerSearchViewModelWithoutOffers); }
public OfferSearchViewModel MapToOfferSearchViewModel(OfferSearchModel offerSearchModel, ScoredOfferListViewModel scoredOfferListViewModel) { return new OfferSearchViewModel(offerSearchModel, scoredOfferListViewModel); }
public OfferSearchModel MapToOfferSearchModel(CandidateUser candidate) { var skillModels = MapSkillsToSkillModels(candidate.Skills); var offerSearchModel = new OfferSearchModel(skillModels, candidate.Salary); return offerSearchModel; }
public OfferSearchViewModel GetOfferSearchViewModelWithoutOffers(OfferSearchModel offerSearchModel) { var offerList = new ScoredOfferListViewModel(); var offerSearchViewModel = _mappingService.MapToOfferSearchViewModel(offerSearchModel, offerList); return offerSearchViewModel; }
public async Task<OfferSearchViewModel> GetOfferSearchViewModelAsync(OfferSearchModel offerSearchModel) { var offerList = await GetScoredOfferViewModelListAsync(offerSearchModel); var offerSearchViewModel = _mappingService.MapToOfferSearchViewModel(offerSearchModel, offerList); return offerSearchViewModel; }
private async Task<List<JobOffer>> GetOffersByOfferSearchModelAsync(OfferSearchModel offerSearch) { var skills = _mappingService.MapSkillModelsToSkills(offerSearch.Skills); var offerList = await _dbService.GetOffersByOfferSearchModelAsync(skills, offerSearch.MinSalary, offerSearch.MaxSalary, offerSearch.Name, offerSearch.SortBy); return offerList; }
public async Task<ScoredOfferListViewModel> GetScoredOfferViewModelListAsync(OfferSearchModel offerSearchModel) { var offerList = await GetOffersByOfferSearchModelAsync(offerSearchModel); var skills = _mappingService.MapSkillModelsToSkills(offerSearchModel.Skills); var scoredOffersViewModel = GetScoredOffersViewModel(skills, offerList); scoredOffersViewModel = SortByScoreIfNeeded(scoredOffersViewModel, offerSearchModel.SortBy); var scoredOfferViewModelList = _mappingService.MapToScoredOfferListViewModel(scoredOffersViewModel); return scoredOfferViewModelList; }
public OfferSearchViewModel(OfferSearchModel searchParams, ScoredOfferListViewModel offers) { SearchParams = searchParams; Offers = offers; }
public OfferSearchViewModel() { SearchParams = new OfferSearchModel(); Offers = new ScoredOfferListViewModel(); }