コード例 #1
0
        // GET: Interviews/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Interview        interview        = db.Interviews.Find(id);
            StartInterviewVM startInterviewVM = new StartInterviewVM();

            startInterviewVM.interview      = interview;
            startInterviewVM.Student        = interview.Student;
            startInterviewVM.session        = interview.InterviewSession;
            startInterviewVM.overallComment = interview.OverallComment;
            startInterviewVM.bio            = startInterviewVM.bioRegex(interview.Student.StudentBio);
            startInterviewVM.dateOfBirth    = startInterviewVM.dobFormat(interview.InterviewDate);
            startInterviewVM.panelMembers   = new List <PanelMember>();
            startInterviewVM.employees      = new List <Employee>();
            //get all panelMembers for this interview
            var panelMembers = db.PanelMembers.ToList().Where(p => p.InterviewID == interview.InterviewID);

            foreach (PanelMember p in panelMembers)
            {
                startInterviewVM.panelMembers.Add(p);
                startInterviewVM.employees.Add(p.Employee);
            }

            startInterviewVM.categories = db.TraitCategories.ToList();

            //grab all comments for the panel that matches this interview ID
            startInterviewVM.comments = new List <TraitComment>(db.TraitComments.ToList().Where(c => c.PanelMember.InterviewID == startInterviewVM.interview.InterviewID));

            if (interview == null)
            {
                return(HttpNotFound());
            }
            return(View(startInterviewVM));
        }
コード例 #2
0
        public ActionResult StartInterview(int?id)
        {
            StartInterviewVM startInterviewVM = new StartInterviewVM();
            Interview        interview        = db.Interviews.Find(id);

            if (interview != null)
            {
                Session["currentInterview"] = interview.InterviewID.ToString();
                //make a new startInterviewVM intance and assign to it
                try
                {
                    startInterviewVM.interview    = interview;
                    startInterviewVM.Student      = interview.Student;
                    startInterviewVM.session      = interview.InterviewSession;
                    startInterviewVM.bio          = startInterviewVM.bioRegex(interview.Student.StudentBio);
                    startInterviewVM.dateOfBirth  = startInterviewVM.dobFormat(interview.InterviewDate);
                    startInterviewVM.panelMembers = new List <PanelMember>();
                    startInterviewVM.employees    = new List <Employee>();
                    //get all panelMembers for this interview
                    var panelMembers = db.PanelMembers.ToList().Where(p => p.InterviewID == interview.InterviewID);

                    foreach (PanelMember p in panelMembers)
                    {
                        startInterviewVM.panelMembers.Add(p);
                        startInterviewVM.employees.Add(p.Employee);
                    }
                    startInterviewVM.categories = db.TraitCategories.ToList();
                }
                catch (Exception ex)
                {
                    Console.WriteLine("messed up yo" + ex.Message);
                }
            }

            return(View(startInterviewVM));
        }
コード例 #3
0
        public ActionResult StartInterview(StartInterviewVM model)
        {
            if (Session["userLoggedIn"] == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (ModelState.IsValid)
            {
                try
                {
                    String interviewID = "";
                    if (Session["CurrentInterview"] != null)
                    {
                        interviewID = Session["currentInterview"].ToString();
                    }

                    int       idVal     = Convert.ToInt32(interviewID);
                    Interview interview = db.Interviews.Find(idVal);

                    //get all panelMembers for this interview
                    model.panelMembers = new List <PanelMember>();

                    var panelMembers = db.PanelMembers.ToList().Where(p => p.InterviewID == interview.InterviewID);
                    model.employees = new List <Employee>();


                    foreach (PanelMember p in panelMembers)
                    {
                        model.panelMembers.Add(p);
                        model.employees.Add(p.Employee);
                    }


                    //get the current panel member that is scoring this interview from the logged in user session.
                    string loggedInUser = Session["userLoggedIn"].ToString(); //email address

                    //if(panelMembers.FirstOrDefault(p => p.Employee.EmployeeEmail == loggedInUser) == null)
                    //{

                    //    return RedirectToAction("Index", "Home");
                    //}

                    //we need to construct an overall comment from all the panel members' overall comments. Currently the overall comment gets replaced
                    if (Request["overallComment"] != null)
                    {
                        interview.OverallComment = Request["overallComment"].ToString();
                    }

                    foreach (TraitCategory category in db.TraitCategories)
                    {
                        string       name        = category.TraitName;
                        TraitComment comment     = new TraitComment();
                        string       score       = "";
                        string       commentText = "";

                        if (Request[name + "Score"] != null)
                        {
                            score = Request[name + "Score"].ToString();
                        }

                        comment.Score = Convert.ToInt32(score);

                        if (Request[name + "Comment"] != null)
                        {
                            commentText = Request[name + "Comment"].ToString();
                        }

                        comment.Comment = commentText;

                        comment.TraitID       = category.TraitID;
                        comment.TraitCategory = category;

                        comment.PanelMember = model.panelMembers.FirstOrDefault();
                        comment.PanelID     = comment.PanelMember.PanelID;

                        db.TraitComments.Add(comment);
                    }

                    //add the panel member's score to the appropriate row
                    var member = model.panelMembers.First();

                    if (Request["panelScore"] != null)
                    {
                        string panelScore = Request["panelScore"].ToString();
                        member.PannelScore = Convert.ToInt32(panelScore);
                    }
                    db.SaveChanges();

                    var panelScores = from p in db.PanelMembers
                                      where p.InterviewID == interview.InterviewID
                                      select p.PannelScore;

                    interview.OverallScore = totalScoreCalc(panelScores);

                    db.SaveChanges();

                    model.interview = interview;
                    model.Student   = interview.Student;
                }

                catch (NullReferenceException ex)
                {
                    Console.WriteLine("Aw shucks we done messed up " + ex.Message);
                }
            }
            else
            {
                try
                {
                    String interviewID = "";
                    if (Session["CurrentInterview"] != null)
                    {
                        interviewID = Session["currentInterview"].ToString();
                    }

                    int       idVal     = Convert.ToInt32(interviewID);
                    Interview interview = db.Interviews.Find(idVal);
                    model.interview = interview;
                }
                catch (Exception ex)
                {
                    Console.WriteLine("Couldn't find the interview " + ex.Message);
                }
            }

            model.categories = new List <TraitCategory>(db.TraitCategories);

            return(RedirectToAction("Leaderboard"));
        }