Ejemplo n.º 1
0
        public async Task <IActionResult> myAdsAsync(JobSearchViewModel jvm)
        {
            jvm.SearchResults = await jobRepository.GetPaged(s => s.CreatedBy == User.Identity.Name && (!String.IsNullOrEmpty(jvm.Keywords) ? s.Title.Contains(jvm.Keywords) : true) && (!String.IsNullOrEmpty(jvm.LocationId) ? s.JobLocations.Any(l => l.LocationId == jvm.LocationId) : true) && (!String.IsNullOrEmpty(jvm.OccupationId) ? s.OccupationId == jvm.OccupationId : true) && (jvm.MilitaryStatus.HasValue ? s.MilitaryStatus == jvm.MilitaryStatus : true) && (jvm.EducationLevel.HasValue ? s.EducationLevel == jvm.EducationLevel : true) && (jvm.WorkingStyle.HasValue ? s.WorkingStyle == jvm.WorkingStyle : true), s => (jvm.SortBy == 1 || jvm.SortBy == 2 ? s.Title : (jvm.SortBy == 3 || jvm.SortBy == 4 ? s.Occupation.Name : s.UpdateDate.ToString())), (jvm.SortBy == 1 || jvm.SortBy == 3 || jvm.SortBy == 5 ? false : (jvm.SortBy == 2 || jvm.SortBy == 4 || jvm.SortBy == 6)), 10, jvm.Page, "Company", "JobLocations", "JobLocations.Location");


            return(View(jvm));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Index(JobSearchViewModel jvm)
        {
            jvm.SearchResults = await jobRepository.GetPaged(s => s.IsActive == true && s.PublishDate <= DateTime.Now && DateTime.Now <= s.EndDate && (!String.IsNullOrEmpty(jvm.Keywords) ? s.Title.Contains(jvm.Keywords) : true) && (!String.IsNullOrEmpty(jvm.LocationId) ? s.JobLocations.Any(l => l.LocationId == jvm.LocationId) : true) && (jvm.MilitaryStatus.HasValue ? s.MilitaryStatus == jvm.MilitaryStatus : true) && (jvm.EducationLevel.HasValue ? s.EducationLevel == jvm.EducationLevel : true) && (jvm.WorkingStyle.HasValue ? s.WorkingStyle == jvm.WorkingStyle : true), s => (jvm.SortBy == 1 || jvm.SortBy == 2 ? s.Title : (jvm.SortBy == 3 || jvm.SortBy == 4 ? s.PublishDate.ToString("yyyy-MM-dd") : (jvm.SortBy == 5 || jvm.SortBy == 6 ? s.Company.LocationId: s.UpdateDate.ToString()))), (jvm.SortBy == 1 || jvm.SortBy == 3 || jvm.SortBy == 5 ? false : (jvm.SortBy == 2 || jvm.SortBy == 4 || jvm.SortBy == 6)), 5, jvm.Page, "Company", "JobLocations", "JobLocations.Location");

            jvm.SearchResults.RouteValue = new RouteValueDictionary {
                { "keywords", jvm.Keywords }, { "locationId", jvm.LocationId }, { "sortBy", jvm.SortBy }, { "militaryStatus", jvm.MilitaryStatus }, { "educationLevel", jvm.EducationLevel }, { "workingStyle", jvm.WorkingStyle }
            };
            ViewBag.Locations   = new SelectList(locationRepository.GetAll().OrderBy(o => o.Name).ToList(), "Id", "Name", jvm.LocationId);
            ViewBag.Occupations = new SelectList(occupationRepository.GetAll().OrderBy(p => p.Name).ToList(), "Id", "Name", jvm.OccupationId);
            return(View(jvm));
        }
Ejemplo n.º 3
0
        public ActionResult Search(string SearchString)
        {
            var jobsTitle   = db.Jobs.Where(x => x.Title.StartsWith(SearchString));
            var jobsSkill   = db.Jobs.Where(x => x.Skill.SkillName.StartsWith(SearchString));
            var jobCategory = db.Jobs.Where(x => x.Category.CategoryName.StartsWith(SearchString));

            JobSearchViewModel jobview = new JobSearchViewModel();

            jobview.JobTitle    = jobsTitle;
            jobview.JobSkill    = jobsSkill;
            jobview.JobCategory = jobCategory;
            return(View(jobview));
        }
Ejemplo n.º 4
0
        //private Dictionary<string, object> JobModelToDict(JobSearchModel jsmodel)
        //{
        //    Dictionary<string, object> result = new Dictionary<string, object>();
        //    foreach (PropertyInfo property in typeof(JobSearchModel).GetProperties())
        //    {
        //        var val = property.GetValue(jsmodel);
        //        if (val == null || String.IsNullOrEmpty(val.ToString()))
        //            continue;
        //        result.Add(property.Name, val);
        //    }
        //    return result;
        //}
        #endregion
        private Dictionary <string, object> JobModelToDict(JobSearchViewModel jsmodel)
        {
            Dictionary <string, object> result = new Dictionary <string, object>();

            foreach (PropertyInfo property in typeof(JobSearchViewModel).GetProperties())
            {
                var val = property.GetValue(jsmodel);
                if (val == null || String.IsNullOrEmpty(val.ToString()))
                {
                    continue;
                }
                result.Add(property.Name, val);
            }
            return(result);
        }
Ejemplo n.º 5
0
        public ActionResult S(string o, string f, string s, string st, string ct, int?p, JobSearchViewModel jsmodelkk, JobListVM vm)
        {
            ViewBag.CurrentSort     = o;
            ViewBag.PopularSortParm = "popular";
            ViewBag.DateSortParm    = o == "Date" ? "date_desc" : "Date";
            ViewBag.SalarySortParm  = "salary_desc";

            if (s != null)
            {
                p = 1;
            }
            else
            {
                s = f;
            }
            ViewBag.CurrentFilter = s;

            var model   = uow.jobRepository.GetAll();
            var jsmodel = new JobSearchViewModel();

            if (vm != null)
            {
                if (vm.JobSearchViewModel != null)
                {
                    jsmodel = vm.JobSearchViewModel;
                }
            }
            ViewBag.Sstr = "";
            if (!String.IsNullOrEmpty(s))
            {
                jsmodel.SearchString = s;
                ViewBag.Sstr         = s;
            }

            ViewBag.Stt = "Job Location";
            if (!String.IsNullOrEmpty(st))
            {
                jsmodel.State = st;
                ViewBag.Stt   = st;
            }

            ViewBag.Cat = "Job Category";
            if (!String.IsNullOrEmpty(ct))
            {
                jsmodel.SearchString = ct;
                ViewBag.Cat          = ct;
            }


            Dictionary <string, object> searchObj = JobModelToDict(jsmodel);

            model = jobService.FindJob(searchObj);

            switch (o)
            {
            case "salary_desc":
                model = model.OrderByDescending(m => m.MaximumSalary);
                break;

            case "popular":
                model = model.OrderByDescending(m => m.NumberOfApplicants);
                break;

            case "Date":
                model = model.OrderBy(m => m.DatePosted);
                break;

            case "date_desc":
                model = model.OrderByDescending(m => m.DatePosted);
                break;

            default:      // Name ascending
                model = model.OrderByDescending(m => m.DatePosted);
                break;
            }

            int pageSize   = 10;
            int pageNumber = (p ?? 1);
            var mod        = new JobListVM
            {
                Jobs = model.ToPagedList(pageNumber, pageSize),
                JobSearchViewModel = jsmodel
            };


            int jobStartNum = GetJobStart(pageNumber, pageSize);
            int jobEndNum   = GetJobEnd(model.Count(), pageNumber, pageSize, jobStartNum);

            ViewBag.StartIndex = jobStartNum;
            ViewBag.EndIndex   = jobEndNum;
            ViewBag.ModelCount = model.Count();

            ViewBag.JobCatId = uow.jobCategoryRepository.GetAll().AsEnumerable()
                               .Select(j => new SelectListItem {
                Text = j.Name, Value = Convert.ToString(j.Jobs.Count())
            });
            ViewBag.State           = CountryStates.GetStates("Nigeria");
            ViewBag.Companies       = uow.companyRepository.GetAll().Select(c => c.Name);
            ViewBag.JobType         = Enum.GetValues(typeof(JobType));
            ViewBag.ExperienceLevel = Enum.GetValues(typeof(ExperienceLevel));
            return(View(mod));
        }