コード例 #1
0
 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;
 }
コード例 #2
0
 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);
 }
コード例 #3
0
 public OfferSearchViewModel MapToOfferSearchViewModel(OfferSearchModel offerSearchModel, ScoredOfferListViewModel scoredOfferListViewModel)
 {
     return new OfferSearchViewModel(offerSearchModel, scoredOfferListViewModel);
 }
コード例 #4
0
 public OfferSearchModel MapToOfferSearchModel(CandidateUser candidate)
 {
     var skillModels = MapSkillsToSkillModels(candidate.Skills);
     var offerSearchModel = new OfferSearchModel(skillModels, candidate.Salary);
     return offerSearchModel;
 }
コード例 #5
0
 public OfferSearchViewModel GetOfferSearchViewModelWithoutOffers(OfferSearchModel offerSearchModel)
 {
     var offerList = new ScoredOfferListViewModel();
     var offerSearchViewModel = _mappingService.MapToOfferSearchViewModel(offerSearchModel, offerList);
     return offerSearchViewModel;
 }
コード例 #6
0
 public async Task<OfferSearchViewModel> GetOfferSearchViewModelAsync(OfferSearchModel offerSearchModel)
 {
     var offerList = await GetScoredOfferViewModelListAsync(offerSearchModel);
     var offerSearchViewModel = _mappingService.MapToOfferSearchViewModel(offerSearchModel, offerList);
     return offerSearchViewModel;
 }
コード例 #7
0
 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;
 }
コード例 #8
0
        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;
        }
コード例 #9
0
 public OfferSearchViewModel(OfferSearchModel searchParams, ScoredOfferListViewModel offers)
 {
     SearchParams = searchParams;
     Offers = offers;
 }
コード例 #10
0
 public OfferSearchViewModel()
 {
     SearchParams = new OfferSearchModel();
     Offers = new ScoredOfferListViewModel();
 }