コード例 #1
0
        public ActionResult MyVacancies(string sortOrder, int id)
        {
            if (ModelState.IsValid)
            {
                //int id = UserDAL.GetUserByName(User.Identity.Name).Id;
                var vacancies = VacancyDAL.GetVacanciesByUserId(id);

                ViewBag.NameSortParm      = String.IsNullOrEmpty(sortOrder) ? "Name_desc" : "";
                ViewBag.DescripSortParm   = String.IsNullOrEmpty(sortOrder) ? "Descrip_desc" : "Description";
                ViewBag.PaymentSortParm   = String.IsNullOrEmpty(sortOrder) ? "Payment_desc" : "Payment";
                ViewBag.CloseDateSortParm = sortOrder == "CloseDate" ? "CloseDate_desc" : "CloseDate";
                ViewBag.IsOpenSortParam   = sortOrder == "IsOpen" ? "IsOpen_desc" : "IsOpen";
                switch (sortOrder)
                {
                case "Name_desc":
                    vacancies = vacancies.OrderByDescending(x => x.Name);
                    break;

                case "Descrip_desc":
                    vacancies = vacancies.OrderByDescending(x => x.Description);
                    break;

                case "Description":
                    vacancies = vacancies.OrderByDescending(x => x.Description);
                    break;

                case "Payment_desc":
                    vacancies = vacancies.OrderByDescending(x => x.Payment);
                    break;

                case "Payment":
                    vacancies = vacancies.OrderBy(x => x.Payment);
                    break;

                case "Date":
                    vacancies = vacancies.OrderBy(x => x.CloseTime);
                    break;

                case "CloseDate_desc":
                    vacancies = vacancies.OrderByDescending(x => x.CloseTime);
                    break;

                case "IsOpen":
                    vacancies = vacancies.OrderBy(x => x.IsOpen);
                    break;

                case "IsOpen_desc":
                    vacancies = vacancies.OrderByDescending(x => x.IsOpen);
                    break;

                default:
                    vacancies = vacancies.OrderBy(x => x.Name);
                    break;
                }
                return(View("MyVacancies", vacancies));
            }
            return(RedirectToAction("Index", "Home"));
        }
コード例 #2
0
        public ActionResult VacanciesForCandidate(int id)
        {
            if (UserDAL.GetUserByName(User.Identity.Name).Role == Enum.Role.employer)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var model = VacancyDAL.SearchForVacancy(CandidateDAL.GetCandidateById(id).KeyWords, CandidateDAL.GetCandidateById(id).WorkExpirience);

            return(View("VacanciesForCandidate", model));
        }
コード例 #3
0
        public ActionResult CandidateForVacancy(int id)
        {
            if (UserDAL.GetUserByName(User.Identity.Name).Role == Enum.Role.candidate)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var model = CandidateDAL.SearchForCandidate(VacancyDAL.GetVacancyById(id).KeyWords, VacancyDAL.GetVacancyById(id).WorkExpirience);

            return(View("CandidateForVacancy", model));
        }
コード例 #4
0
 public ActionResult Vacancy(VacancyViewModel model)
 {
     if (ModelState.IsValid)
     {
         if (VacancyDAL.Create(new Vacancy {
             Name = model.Name, CompanyName = model.CompanyName, Description = model.Description, Requirements = model.Requirements, Payment = model.Payment, KeyWords = model.KeyWords, CloseTime = model.CloseTime, IsOpen = model.IsOpen, WorkExpirience = model.WorkExpirience, UserId = UserDAL.GetUserByName(User.Identity.Name)
         }))
         {
             ViewBag.Message = "Your contact page.";
             return(RedirectToAction("Index", "Home"));
         }
     }
     else
     {
         ModelState.AddModelError(string.Empty, "Что-то пошло не так, попробуйте ещё раз");
     }
     return(View());
 }
コード例 #5
0
 public ActionResult VacancyDetails(int id, bool?isOpen)
 {
     try
     {
         if (UserDAL.GetUserByName(User.Identity.Name).Role == Enum.Role.employer && UserDAL.GetUserByName(User.Identity.Name).Id != VacancyDAL.GetVacancyById(id).UserId.Id)
         {
             return(View("Index", "Home"));
         }
         if (isOpen != null)
         {
             VacancyDAL.CloseVacancy(id, isOpen);
         }
         var vacancy = VacancyDAL.GetVacancyById(id);
         return(View("VacancyDetails", vacancy));
     }
     catch
     {
         return(RedirectToAction("Index", "Home"));
     }
 }
コード例 #6
0
        public ActionResult ListOfVacancies(string sortOrder, string searchStringByName, string searchByPayment, DateTime?searchByDate)
        {
            if (UserDAL.GetUserByName(User.Identity.Name).Role == Enum.Role.employer)
            {
                return(View("Index", "Home"));
            }
            var vacancies = VacancyDAL.GetVacancies(UserDAL.GetUserByName(User.Identity.Name).Role).Select(
                x =>
                new VacancyViewModel
            {
                Id             = x.Id,
                Name           = x.Name,
                CompanyName    = x.CompanyName,
                Description    = x.Description,
                CloseTime      = x.CloseTime,
                Requirements   = x.Requirements,
                WorkExpirience = x.WorkExpirience,
                Payment        = x.Payment,
                IsOpen         = x.IsOpen
            });

            if (!String.IsNullOrEmpty(searchStringByName))
            {
                vacancies = vacancies.Where(s => s.Name.Contains(searchStringByName));
            }
            if (!String.IsNullOrEmpty(searchByPayment))
            {
                vacancies = vacancies.Where(s => int.Parse(s.Payment) >= int.Parse(searchByPayment));
            }
            if (searchByDate != null)
            {
                vacancies = vacancies.Where(s => s.CloseTime >= (searchByDate));
            }

            ViewBag.NameSortParm      = String.IsNullOrEmpty(sortOrder) ? "Name_desc" : "";
            ViewBag.DescripSortParm   = String.IsNullOrEmpty(sortOrder) ? "Descrip_desc" : "Description";
            ViewBag.PaymentSortParm   = String.IsNullOrEmpty(sortOrder) ? "Payment_desc" : "Payment";
            ViewBag.CloseDateSortParm = sortOrder == "CloseDate" ? "CloseDate_desc" : "CloseDate";
            ViewBag.IsOpenSortParam   = sortOrder == "IsOpen" ? "IsOpen_desc" : "IsOpen";
            switch (sortOrder)
            {
            case "Name_desc":
                vacancies = vacancies.OrderByDescending(x => x.Name);
                break;

            case "Descrip_desc":
                vacancies = vacancies.OrderByDescending(x => x.Description);
                break;

            case "Description":
                vacancies = vacancies.OrderByDescending(x => x.Description);
                break;

            case "Payment_desc":
                vacancies = vacancies.OrderByDescending(x => x.Payment);
                break;

            case "Payment":
                vacancies = vacancies.OrderBy(x => x.Payment);
                break;

            case "Date":
                vacancies = vacancies.OrderBy(x => x.CloseTime);
                break;

            case "CloseDate_desc":
                vacancies = vacancies.OrderByDescending(x => x.CloseTime);
                break;

            case "IsOpen":
                vacancies = vacancies.OrderBy(x => x.IsOpen);
                break;

            case "IsOpen_desc":
                vacancies = vacancies.OrderByDescending(x => x.IsOpen);
                break;

            default:
                vacancies = vacancies.OrderBy(x => x.Name);
                break;
            }

            return(View("ListOfVacancies", vacancies));
        }