// GET: PhoneInterview
        public ActionResult Index(int?applicantId)
        {
            if (applicantId == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (_rolesManager.SetCurrentEmployee(GetCurrentUserEmail()))
            {
                if (_rolesManager.IsStaffing())
                {
                    ViewBag.ApplicantName = _applicantsDataAccess.GetApplicantById(applicantId).Name;

                    var formQuestions = from d in _formQuestionsDataAccess.GetAllQuestions(FormType.PhoneInterview)
                                        orderby d.OrderInForm
                                        select d;

                    var phoneInterview = new PhoneInterview
                    {
                        ApplicantId = (int)applicantId
                    };

                    var viewModel = new PhoneInterviewViewModel
                    {
                        FormQuestions  = formQuestions.ToList(),
                        PhoneInterview = phoneInterview
                    };

                    ViewBag.ProfilePic = _rolesManager.LoggedInEmployee.ProfilePic;
                    ViewBag.Staffing   = _rolesManager.IsStaffing();
                    return(View(viewModel));
                }

                ViewBag.ErrorMsg = "You are not authorized to view this page";
                return(View("Error"));
            }

            ViewBag.ErrorMsg = "You are not registered on our system. Plz contact the system administrator if u think this is wrong.";
            return(View("Error"));
        }
        public ActionResult Save(PhoneInterviewViewModel phoneInterviewViewModel)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.ErrorMsg = "Failed to create Phone Interview. Check the correctness of your input format";
                return(View("Error"));
            }

            phoneInterviewViewModel.PhoneInterview.SubmissionDate = DateTime.Now;
            _phoneInterviewDataAccess.CreatePhoneInterview(phoneInterviewViewModel.PhoneInterview);

            var applicant = _applicantsDataAccess.GetApplicantById(phoneInterviewViewModel.PhoneInterview.ApplicantId);

            if (phoneInterviewViewModel.PhoneInterview.Status == PhoneIntervewStatus.Passed)
            {
                _applicantsDataAccess.EditApplicantStatus(applicant, ApplicantStatus.PhoneInterviewPassed);
            }
            else if (phoneInterviewViewModel.PhoneInterview.Status == PhoneIntervewStatus.NotPassed)
            {
                _applicantsDataAccess.EditApplicantStatus(applicant, ApplicantStatus.PhoneInterviewRejected);
            }

            return(RedirectToAction("Index", "Applicants"));
        }