Esempio n. 1
0
        public ActionResult JobPostings()
        {
            var userId = User.Identity.GetUserId();
            var model  = new VacanciesViewModel();

            model.Vacancies = _context.vacancies.Where(x => x.company.company_id == userId).ToList();
            return(View(model));
        }
Esempio n. 2
0
        public async Task <VacanciesViewModel> GetVacanciesViewModelAsync(
            VacancyUser user, string filter, int page, string searchTerm)
        {
            var getDashboardTask   = _providerVacancyClient.GetDashboardAsync(user.Ukprn.Value, createIfNonExistent: true);
            var getUserDetailsTask = _recruitVacancyClient.GetUsersDetailsAsync(user.UserId);
            var providerTask       = _providerRelationshipsService.GetLegalEntitiesForProviderAsync(user.Ukprn.Value, OperationType.RecruitmentRequiresReview);

            await Task.WhenAll(getDashboardTask, getUserDetailsTask, providerTask);

            var dashboard           = getDashboardTask.Result;
            var userDetails         = getUserDetailsTask.Result;
            var providerPermissions = providerTask.Result;

            var alerts = _providerAlertsViewModelFactory.Create(dashboard, userDetails);

            var vacancies = new List <VacancySummary>(dashboard?.Vacancies ?? Array.Empty <VacancySummary>());

            var filteringOption = SanitizeFilter(filter);

            var filteredVacancies = GetFilteredVacancies(vacancies, filteringOption, searchTerm);

            var filteredVacanciesTotal = filteredVacancies.Count();

            page = SanitizePage(page, filteredVacanciesTotal);

            var skip = (page - 1) * VacanciesPerPage;

            var vacanciesVm = filteredVacancies
                              .Skip(skip)
                              .Take(VacanciesPerPage)
                              .Select(VacancySummaryMapper.ConvertToVacancySummaryViewModel)
                              .ToList();

            var pager = new PagerViewModel(
                filteredVacanciesTotal,
                VacanciesPerPage,
                page,
                "Showing {0} to {1} of {2} vacancies",
                RouteNames.Vacancies_Get,
                new Dictionary <string, string>
            {
                { "filter", filteringOption.ToString() },
                { "searchTerm", searchTerm }
            });

            var vm = new VacanciesViewModel
            {
                Vacancies      = vacanciesVm,
                Pager          = pager,
                Filter         = filteringOption,
                SearchTerm     = searchTerm,
                ResultsHeading = VacancyFilterHeadingHelper.GetFilterHeading(Constants.VacancyTerm, filteredVacanciesTotal, filteringOption, searchTerm, UserType.Provider),
                Alerts         = alerts,
                HasEmployerReviewPermission = providerPermissions.Any()
            };

            return(vm);
        }
Esempio n. 3
0
        public ActionResult Jobs()
        {
            VacanciesViewModel model = new VacanciesViewModel();

            var jobs        = _jobRepository.GetMany(j => j.ApplicationLastDate >= DateTime.Now);
            var expiredJobs = _jobRepository.GetMany(j => j.ApplicationLastDate < DateTime.Now);

            model.CurrentJobs = jobs.ToList();
            model.ExpiredJobs = expiredJobs.ToList();

            return(View(model));
        }
        public async Task <VacanciesViewModel> GetVacanciesViewModelAsync(string employerAccountId, string filter, int page, VacancyUser user, string searchTerm)
        {
            var vacanciesTask   = GetVacanciesAsync(employerAccountId);
            var userDetailsTask = _client.GetUsersDetailsAsync(user.UserId);

            await Task.WhenAll(vacanciesTask, userDetailsTask);

            var vacancies   = vacanciesTask.Result;
            var userDetails = userDetailsTask.Result;

            var filteringOption = SanitizeFilter(filter);

            var filteredVacancies = GetFilteredVacancies(vacancies, filteringOption, searchTerm);

            var filteredVacanciesTotal = filteredVacancies.Count();

            page = SanitizePage(page, filteredVacanciesTotal);

            var skip = (page - 1) * VacanciesPerPage;

            var vacanciesVm = filteredVacancies
                              .Skip(skip)
                              .Take(VacanciesPerPage)
                              .Select(VacancySummaryMapper.ConvertToVacancySummaryViewModel)
                              .ToList();

            var pager = new PagerViewModel(
                filteredVacanciesTotal,
                VacanciesPerPage,
                page,
                "Showing {0} to {1} of {2} adverts",
                RouteNames.Vacancies_Get,
                new Dictionary <string, string>
            {
                { "filter", filteringOption.ToString() },
                { "searchTerm", searchTerm }
            });

            var vm = new VacanciesViewModel
            {
                Vacancies      = vacanciesVm,
                Pager          = pager,
                Filter         = filteringOption,
                SearchTerm     = searchTerm,
                ResultsHeading = VacancyFilterHeadingHelper.GetFilterHeading(filteredVacanciesTotal, filteringOption, searchTerm),
                Alerts         = _alertsViewModelFactory.Create(vacancies, userDetails)
            };

            return(vm);
        }
Esempio n. 5
0
        public ActionResult Vacancies()
        {
            var model = new VacanciesViewModel
            {
                HeaderText         = BackendService.GetValueByTag("site_header_text"),
                FooterAddress      = BackendService.GetValueByTag("official_address"),
                FooterRequisites   = BackendService.GetValueByTag("official_requisites"),
                MainTitle          = BackendService.GetValueByTag("not_official_name"),
                FooterEmail        = BackendService.GetValueByTag("main_email"),
                FooterPhones       = BackendService.GetValueByTag("main_phones"),
                DeliveryNetVersion = BackendService.GetValueByTag("current_server_version"),
                CabinetLink        = BackendService.GetValueByTag("current_admin_app_address"),
                Slogan             = BackendService.GetValueByTag("slogan_title"),
                FooterBody         = BackendService.GetValueByTag("footer_body"),
                Skype    = BackendService.GetValueByTag("main_skype"),
                PageInfo = PageService.GetByName("vacancies")
            };

            return(View(model));
        }
        public ActionResult Index()
        {
            var dto = new GetActiveVacancies().ExecuteQuery();

            var vm = new VacanciesViewModel()
            {
                Vacancies = dto.Select(v => new VacancyViewModel()
                {
                    Id               = v.Id,
                    Title            = v.Title,
                    ShortDescription = v.ShortDescription,
                    Description      = v.Description,
                    City             = v.City,
                    Province         = v.Province,
                    JobType          = v.JobType.ToString(),
                    YearsOfExperince = v.YearsOfExperience,
                    ClosingDate      = v.ClosingDate.HasValue ? v.ClosingDate.Value.ToString("MMM dd, yyyy") : string.Empty,
                    Hours            = v.Hours,
                    Rate             = v.Rate
                })
            };

            return(View(vm));
        }
Esempio n. 7
0
 public VacanciesPage()
 {
     InitializeComponent();
     ViewModel = new VacanciesViewModel(ref splitView);
 }