public ActionResult filterReplies(String category, int question)
        {
            Question             questionn = db.questions.ToList().Find(x => x.Id == question);
            List <Reply>         replies   = db.replies.ToList().FindAll(x => x.ReplyToWhichQuestion.Id == questionn.Id);
            QuestionAnswersClass q         = new QuestionAnswersClass();

            q.filters = new List <String>();
            q.filters.Add("Least recent"); q.filters.Add("Most recent"); q.filters.Add("Best rated"); q.filters.Add("Worst rated");
            switch (category)
            {
            case "Least recent": { replies.Sort(new DateComparer()); q.selectedFilter = "Least recent"; } break;

            case "Most recent": { replies.Sort(new DateComparer()); replies.Reverse(); q.selectedFilter = "Most recent"; } break;

            case "Best rated":
                replies.Sort(delegate(Reply x, Reply y)
                {
                    q.selectedFilter = "Best rated";
                    if (x.MinusGrades > y.MinusGrades)
                    {
                        return(1);
                    }
                    else if (y.MinusGrades > x.MinusGrades)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(0);
                    }
                }); break;

            case "Worst rated":
                replies.Sort(delegate(Reply x, Reply y)
                {
                    q.selectedFilter = "Worst rated";
                    if (x.PlusGrades > y.PlusGrades)
                    {
                        return(1);
                    }
                    else if (y.PlusGrades > x.PlusGrades)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(0);
                    }
                }); break;
            }
            q.question        = questionn;
            q.allReplies      = replies;
            ViewBag.returnVal = q;
            return(View("questionThread"));
        }
        public ActionResult openQuestion(int index)
        {
            Question     question = db.questions.ToList().Find(x => x.Id == index);
            List <Reply> replies  = null;

            if (question.Replies != null)
            {
                replies = question.Replies.ToList();
            }
            QuestionAnswersClass q = new QuestionAnswersClass();

            q.filters = new List <String>();
            q.filters.Add("Least recent"); q.filters.Add("Most recent"); q.filters.Add("Best rated"); q.filters.Add("Worst rated");
            q.selectedFilter  = "Least recent";
            q.question        = question;
            q.allReplies      = replies;
            ViewBag.returnVal = q;
            return(View("questionThread"));
        }