コード例 #1
0
        /// <summary>
        /// Set interview results and delete interview from list
        /// Also set to Candidate SUer status Passed or Rejected of Admission program
        /// </summary>
        /// <param name="candidateId">Id of Candidate User</param>
        /// <param name="status">Result of interview</param>
        /// <exception cref="CandidateDoesntExistsException">if candidate id doesn't exists</exception>
        public static void SetInterviewResults(int candidateId, InterviewStatus status)
        {
            CandidateUser candidate = UsersManager.GetUser <CandidateUser>(candidateId);

            if (candidate == null)
            {
                throw new CandidateDoesntExistsException(candidateId);
            }

            Instance._interviews.RemoveAll(n => n.CandidateID == candidateId);

            switch (status)
            {
            case InterviewStatus.Passed:
                candidate.Status = Passed;
                break;

            case InterviewStatus.Fail:
                candidate.Status = Rejected;
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(status), status, null);
            }
        }
コード例 #2
0
        public Interview GetInterviewWithStatus(string interviewID, InterviewStatus status)
        {
            var interview = GetInterview(interviewID);

            if (interview.Status != status)
            {
                throw new Exception($"Interview doesn't have the required status {status} - it is actually {interview.Status}");
            }

            return(interview);
        }
コード例 #3
0
        //
        // GET: /InterviewStatus/Edit/5

        public ActionResult Edit(int id = 0)
        {
            InterviewStatus interviewstatus = db.InterviewStatus.Find(id);

            if (interviewstatus == null)
            {
                Session["FlashMessage"] = "Interview Status not found.";
                return(RedirectToAction("Index"));
            }
            return(View(interviewstatus));
        }
コード例 #4
0
        /// <summary>
        /// 根据ID修改Resume的面试状态
        /// </summary>
        /// <param name="model"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public int UpdateInterviewStatus(Resume model, int id, InterviewStatus state)
        {
            Resume resume = new Resume();

            resume.Id = id;
            using (_dbContext)
            {
                _dbContext.Resume.Attach(resume);
                resume.InterviewStatus = state;
                return(_dbContext.SaveChanges());
            }
        }
コード例 #5
0
        public ActionResult DeleteConfirmed(int id)
        {
            InterviewStatus interviewstatus = db.InterviewStatus.Find(id);

            db.InterviewStatus.Remove(interviewstatus);
            try
            {
                db.SaveChanges();
            }
            catch (Exception e)
            {
                Session["FlashMessage"] = "Failed to delete status." + e.Message;
                return(View(interviewstatus));
            }
            return(RedirectToAction("Index"));
        }
コード例 #6
0
        //
        // GET: /InterviewStatus/Delete/5

        public ActionResult Delete(int id = 0)
        {
            InterviewStatus interviewstatus = db.InterviewStatus.Find(id);

            if (interviewstatus == null)
            {
                Session["FlashMessage"] = "Interview Status not found.";
                return(RedirectToAction("Index"));
            }
            if (interviewstatus.Interviews != null)
            {
                Session["FlashMessage"] = "Interview Status is attached to existing Interview(s).";
                return(RedirectToAction("Index"));
            }
            return(View(interviewstatus));
        }
コード例 #7
0
 public ActionResult Edit(InterviewStatus interviewstatus)
 {
     if (ModelState.IsValid)
     {
         db.Entry(interviewstatus).State = EntityState.Modified;
         try
         {
             db.SaveChanges();
         }
         catch (Exception e)
         {
             Session["FlashMessage"] = "Failed to edit status." + e.Message;
             return(View(interviewstatus));
         }
         return(RedirectToAction("Index"));
     }
     return(View(interviewstatus));
 }
コード例 #8
0
        public ActionResult Create(InterviewStatus interviewstatus)
        {
            if (ModelState.IsValid)
            {
                db.InterviewStatus.Add(interviewstatus);
                try
                {
                    db.SaveChanges();
                }
                catch (Exception e)
                {
                    Session["FlashMessage"] = "Failed to create status." + e.Message;
                    return(View(interviewstatus));
                }
                return(RedirectToAction("Index"));
            }

            return(View(interviewstatus));
        }
コード例 #9
0
 /// <summary>
 /// 根据ID修改Resume的面试状态
 /// </summary>
 /// <param name="model"></param>
 /// <param name="id"></param>
 /// <returns></returns>
 public int UpdateInterviewStatus(Resume model, int id, InterviewStatus state)
 {
     return(_resumeRepository.UpdateInterviewStatus(model, id, state));
 }
コード例 #10
0
 /// <summary>
 /// 根据面试状态查询简历
 /// </summary>
 /// <param name="state">面试状态</param>
 /// <returns></returns>
 public IPageCollection <Resume> GetListByInterviewStatus(int page, int limit, InterviewStatus state)
 {
     return(_resumeRepository.GetListByInterviewStatus(page, limit, state));
 }
コード例 #11
0
 public Task <IEnumerable <Interview> > Get(InterviewStatus status)
 {
     return(_unitOfWork.InterviewRepository.GetAsync(_filters[status]));
 }
コード例 #12
0
        public async Task <ActionResult> Get(InterviewStatus status)
        {
            var interviews = await _interviewService.Get(status);

            return(View());
        }
コード例 #13
0
 /// <summary>
 /// Get multiple interviews with matching interview status
 /// </summary>
 /// <param name="status">Interview status to match with interviews' data</param>
 /// <returns>Multiple interviews with matching interview status</returns>
 public IEnumerable <Interview> GetManyByStatus(InterviewStatus status)
 {
     return(this.GetContext.Interviews.Include("Candidate").Include("Interviewer").Where(i => i.Status == status).ToList());
 }
コード例 #14
0
 public ICollection <Interview> GetAllMyInterviewByStatusAsync(string userId, InterviewStatus status)
 {
     return(_dbContext.Interviews.Include(c => c.Application)
            .Where(c => c.InterviewStatus == status && c.InterviewerId == userId).ToList());
 }
コード例 #15
0
        /// <summary>
        /// 根据面试状态查询简历
        /// </summary>
        /// <param name="state">面试状态</param>
        /// <returns></returns>
        public IPageCollection <Resume> GetListByInterviewStatus(int page, int limit, InterviewStatus state)
        {
            var query = (from r in _dbContext.Resume
                         join rr in _dbContext.ResumeRecord on r.Id equals rr.ResumeId
                         orderby r.Id descending
                         where rr.InterviewStatus == state
                         select r);

            return(query.Page(page, limit));
        }