public string Put(JobSearchModel searchModel)
        {
            string success = "";

            try
            {
                using (GetaJobContext db = new GetaJobContext())
                {
                    JobSearch dbJobSearch = db.JobSearches.Where(j => j.Id == searchModel.Id).FirstOrDefault();
                    if (dbJobSearch != null)
                    {
                        dbJobSearch.Initiated = DateTime.Parse(searchModel.Initiated);
                        if (searchModel.Abandoned != null)
                        {
                            dbJobSearch.Abandoned = DateTime.Parse(searchModel.Abandoned);
                        }
                        dbJobSearch.SearchName = searchModel.SearchName;
                        db.SaveChanges();
                        success = "ok";
                    }
                    else
                    {
                        success = "Id: " + searchModel.Id + "  not found";
                    }
                }
            }
            catch (Exception ex) { success = Helpers.ErrorDetails(ex); }
            return(success);
        }
        public JobSearchModel GetActive(string personId, string placeholder)
        {
            var activeSobSearchModel = new JobSearchModel();

            try
            {
                using (var db = new GetaJobContext())
                {
                    var dbJobSearch = db.JobSearches.Where(s => s.PersonId == personId && s.Abandoned == null).FirstOrDefault();
                    if (dbJobSearch == null)
                    {
                        activeSobSearchModel.SearchName = "No Active Search Found";
                    }
                    else
                    {
                        activeSobSearchModel.Id         = dbJobSearch.Id;
                        activeSobSearchModel.SearchName = dbJobSearch.SearchName;
                        activeSobSearchModel.PersonId   = dbJobSearch.PersonId;
                        activeSobSearchModel.Initiated  = dbJobSearch.Initiated.ToShortDateString();
                    }
                }
            }
            catch (Exception ex) { activeSobSearchModel.SearchName = Helpers.ErrorDetails(ex); }
            return(activeSobSearchModel);
        }
        public JobSearchModel GetOne(string jobSearchId)
        {
            var jobSearch = new JobSearchModel();

            try
            {
                using (GetaJobContext db = new GetaJobContext())
                {
                    var dbJobSearch = db.JobSearches.Where(s => s.Id == jobSearchId).FirstOrDefault();
                    if (dbJobSearch != null)
                    {
                        jobSearch.Id         = jobSearchId;
                        jobSearch.SearchName = dbJobSearch.SearchName;
                        jobSearch.PersonId   = dbJobSearch.PersonId;
                        jobSearch.Initiated  = dbJobSearch.Initiated.ToShortDateString();
                        if (dbJobSearch.Abandoned != null)
                        {
                            jobSearch.Abandoned = dbJobSearch.Abandoned.Value.ToShortDateString();
                        }
                    }
                }
            }
            catch (Exception ex) { jobSearch.SearchName = Helpers.ErrorDetails(ex); }
            return(jobSearch);
        }
        public List <JobSearchModel> GetMany(string personId)
        {
            var jobSearchModels = new List <JobSearchModel>();

            try
            {
                using (var db = new GetaJobContext())
                {
                    var dbJobSearches = db.JobSearches.Where(s => s.PersonId == personId).ToList();
                    foreach (JobSearch jobSearch in dbJobSearches)
                    {
                        //jobSearchModels.Add(new JobSearchModel()
                        JobSearchModel jobSearchModel = new JobSearchModel();
                        jobSearchModel.Id         = jobSearch.Id;
                        jobSearchModel.SearchName = jobSearch.SearchName;
                        jobSearchModel.PersonId   = jobSearch.PersonId;
                        jobSearchModel.Initiated  = jobSearch.Initiated.ToShortDateString();
                        if (jobSearch.Abandoned != null)
                        {
                            jobSearchModel.Abandoned = jobSearch.Abandoned.Value.ToShortDateString();
                        }
                        jobSearchModels.Add(jobSearchModel);
                    }
                }
            }
            catch (Exception ex) { jobSearchModels.Add(new JobSearchModel()
                {
                    SearchName = Helpers.ErrorDetails(ex)
                }); }
            return(jobSearchModels);
        }
Beispiel #5
0
 public DataTable GetSearchJobList(JobSearchModel searches, int UserId)
 {
     using (var connection = new SqlConnection(connectionString))
     {
         try
         {
             SqlParameter[] parameters = new SqlParameter[] {
                 new SqlParameter("@jobTitle", searches.JobRole),
                 new SqlParameter("@jobCategory", searches.JobCategory),
                 new SqlParameter("@Experience", searches.Experiance),
                 new SqlParameter("@city", searches.City),
                 new SqlParameter("@User", UserId),
                 new SqlParameter("@Skills", searches.Skills),
                 new SqlParameter("@CompanyUserId", searches.CompanyUserId)
             };
             var searchList =
                 SqlHelper.ExecuteDataset
                 (
                     connection,
                     CommandType.StoredProcedure,
                     "usp_GetSearchList",
                     parameters
                 );
             if (null != searchList && searchList.Tables.Count > 0)
             {
                 return(searchList.Tables[0]);
             }
         }
         finally
         {
             SqlHelper.CloseConnection(connection);
         }
     }
     throw new DataNotFound("Data Not found");
 }
        public async Task <ListResult <JobResponseModel> > GetFullSearch(JobSearchModel jobSearchModel)
        {
            if (!String.IsNullOrWhiteSpace(jobSearchModel.Category))
            {
                condition += $@"AND CAT.Name Like '%'+@Category+'%' ";
            }
            if (!String.IsNullOrWhiteSpace(jobSearchModel.City))
            {
                condition += $@"AND CIT.Name Like '%'+@City+'%' ";
            }
            if (!String.IsNullOrWhiteSpace(jobSearchModel.Education))
            {
                condition += $@"AND EDU.Name Like '%'+@Education+'%' ";
            }
            if (jobSearchModel.Salary != 0)
            {
                condition += $@"AND J.SalaryMin = @Salary OR J.SalaryMax = @Salary ";
            }

            getFullSearch += condition;

            var paging = @"ORDER BY J.SalaryMin DESC OFFSET @Offset ROWS FETCH NEXT @Limit ROWS ONLY
SELECT COUNT(J.Id) TOTALCOUNT
from Jobs J
left join Cities CIT on J.CityId = CIT.Id
left join Categories CAT on J.CategoryId = CAT.Id
left join Education EDU on J.EducationId = EDU.Id
                               " + condition;

            getFullSearch += paging;

            var param = new
            {
                City      = jobSearchModel.City,
                Education = jobSearchModel.Education,
                Category  = jobSearchModel.Category,
                Salary    = jobSearchModel.Salary,
                Offset    = jobSearchModel.Offset,
                Limit     = jobSearchModel.Limit
            };

            try
            {
                var data = await _unitOfWork.GetConnection().QueryMultipleAsync(getFullSearch, param, _unitOfWork.GetTransaction());

                var result = new ListResult <JobResponseModel>
                {
                    List       = data.Read <JobResponseModel>(),
                    TotalCount = data.ReadFirst <int>()
                };
                return(result);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #7
0
        public List <SearchJobListViewModel> SearchJobList(SearchJobViewModel searches, int UserId)
        {
            var sModel = new JobSearchModel
            {
                Skills        = searches.Skills,
                JobRole       = searches.JobTitle,
                City          = string.Join(Constants.CommaSeparator, searches.City),
                Experiance    = searches.Experiance,
                JobCategory   = string.Join(Constants.CommaSeparator, searches.JobCategory),
                CompanyUserId = string.Join(Constants.CommaSeparator, searches.CompanyUserId)
            };
            //int quarterStartMonth = Convert.ToInt32(ConfigurationHelper.Config.GetSection(Constants.JobPostingQuarterStartingMonthKey).Value);
            DataTable jobList = _searchJobRepository.GetSearchJobList(sModel, UserId);
            List <SearchJobListViewModel> lstJobList = new List <SearchJobListViewModel>();

            if (jobList.Rows.Count > 0)
            {
                //lstJobList = ConvertDatatableToModelList.ConvertDataTable<SearchJobListViewModel>(jobList);
                foreach (DataRow row in jobList.Rows)
                {
                    lstJobList.Add(new SearchJobListViewModel
                    {
                        JobTitleByEmployer = Convert.ToString(row["JobTitleByEmployer"]),
                        Skills             = Convert.ToString(row["Skills"]),
                        JobPostId          = Convert.ToInt32(row["JobPostId"]),
                        CompanyLogo        = Convert.ToString(row["CompanyLogo"]),
                        JobTitle           = Convert.ToString(row["JobTitle"]),
                        EmploymentStatus   = Convert.ToString(row["EmploymentStatus"]),
                        City           = Convert.ToString(row["City"]),
                        HiringCriteria = Convert.ToString(row["HiringCriteria"]),
                        CompanyName    = Convert.ToString(row["CompanyName"]),
                        CTC            = Convert.ToString(row["CTC"]),
                        NumberOfDays   = Convert.ToString(row["NumberOfDays"]),
                    });
                }
                var appliedJobs = homeHandler.GetAplliedJobs(UserId);
                for (int i = 0; i < lstJobList.Count; i++)
                {
                    //getting the all the jobs applied by user only if the user logged in
                    if (UserId != 0 && appliedJobs.Count > 0)
                    {
                        lstJobList[i].IsApplied = appliedJobs.Any(aj => aj == lstJobList[i].JobPostId);
                    }

                    //Handled if image url exist in db but not available physically
                    string picpath = System.IO.Path.GetFullPath(_hostingEnviroment.WebRootPath + lstJobList[i].CompanyLogo);
                    if (!System.IO.File.Exists(picpath))
                    {
                        string fName = $@"\ProfilePic\" + "Avatar_company.jpg";
                        lstJobList[i].CompanyLogo = fName;
                    }
                }
            }
            return(lstJobList);
        }
Beispiel #8
0
 public static void IntialzieList()
 {
     if (SearchJobsModel == null)
     {
         IsSearching            = false;
         IsApplied              = false;
         ExpireTimerEnabled     = false;
         SearchJobsModel        = new JobSearchModel();
         SearchJobsModel.result = new List <JobDataModel>();
         SavedJobsModel         = new List <JobDataModel>();
         AppliedJobsModel       = new List <JobDataModel>();
         CurrentPage            = 1;
     }
 }
        public string Post(JobSearchModel searchModel)
        {
            string success = "ERROR: ";

            try
            {
                var jobSearch = new JobSearch();
                jobSearch.Id         = Guid.NewGuid().ToString();
                jobSearch.PersonId   = searchModel.PersonId;
                jobSearch.SearchName = searchModel.SearchName;
                jobSearch.Initiated  = DateTime.Parse(searchModel.Initiated);

                using (GetaJobContext db = new GetaJobContext())
                {
                    db.JobSearches.Add(jobSearch);
                    db.SaveChanges();
                    success = jobSearch.Id.ToString();
                }
            }
            catch (Exception ex) { success = Helpers.ErrorDetails(ex); }
            return(success);
        }
Beispiel #10
0
        public async Task <ListResult <JobResponseModel> > GetFullSearch(JobSearchModel jobSearchModel)
        {
            var result = await _jobRepository.GetFullSearch(jobSearchModel);

            return(result);
        }
Beispiel #11
0
        // GET: Job
        public ActionResult Index(string sortOrder, string currentFilter, string searchString, string state, string category, int?page, JobSearchModel jsmodel = null)
        {
            return(RedirectToAction("S"));

            /*
             * //check if it's ajax result ==> return the list and update only the list section
             *
             * ViewBag.CurrentSort = sortOrder;
             * ViewBag.PopularSortParm = "popular";
             * ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";
             * ViewBag.SalarySortParm = "salary_desc";
             *
             * if (searchString != null)
             * {
             *  page = 1;
             * }
             * else
             * {
             *  searchString = currentFilter;
             * }
             *
             * ViewBag.CurrentFilter = searchString;
             *
             * var model = uow.jobRepository.GetAll();
             *
             * if (Request.IsAjaxRequest())
             * {
             *  Dictionary<string, object> searchObj = JobModelToDict(jsmodel);
             *  model = jobService.FindJob(searchObj);
             *  return PartialView("_JobList", model.ToList());
             * }
             * else if (!(String.IsNullOrEmpty(searchString) || string.IsNullOrEmpty(state) || String.IsNullOrEmpty(category)))
             * {
             *  jsmodel = new JobSearchModel { SearchString = searchString, Category = category, State = state };
             *  Dictionary<string, object> searchObj = JobModelToDict(jsmodel);
             *  model = jobService.FindJob(searchObj);
             * }
             *
             *
             * switch (sortOrder)
             * {
             *  case "salary_desc":
             *      model = model.OrderByDescending(s => s.MaximumSalary);
             *      break;
             *  case "popular":
             *      model = model.OrderByDescending(s => s.NumberOfApplicants);
             *      break;
             *  case "Date":
             *      model = model.OrderBy(s => s.DatePosted);
             *      break;
             *  case "date_desc":
             *      model = model.OrderByDescending(s => s.DatePosted);
             *      break;
             *  default:  // Name ascending
             *      model = model.OrderByDescending(s => s.DatePosted);
             *      break;
             * }
             *
             *
             *
             * 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));
             *
             *
             * int pageSize = 10;
             * int pageNumber = (page ?? 1);
             *
             * int jobStartNum = GetJobStart(pageNumber, pageSize);
             * int jobEndNum = GetJobEnd(model.Count(), pageNumber, pageSize, jobStartNum);
             * ViewBag.StartIndex = jobStartNum;
             * ViewBag.EndIndex = jobEndNum;
             * ViewBag.ModelCount = model.Count();
             * return View(model.ToPagedList(pageNumber, pageSize));
             */
        }
Beispiel #12
0
        public async Task <IActionResult> GetFullSearch([FromBody] JobSearchModel jobSearchModel)
        {
            var result = await _jobService.GetFullSearch(jobSearchModel);

            return(Ok(result));
        }
        //--- Used if searching by GENERAL Industry Category
        public ActionResult Index([Bind(Include = "keyword, zipcode1, Range, industryCategoryCode")] string keyword, string zipcode1, int Range, string industryCategoryCode)
        {
            JobSearchModel model = new JobSearchModel(keyword, zipcode1, Range, industryCategoryCode);

            return(View(model));
        }
        public ActionResult Index()
        {
            JobSearchModel model = new JobSearchModel();

            return(View(model));
        }