protected void VoteAnswerDown(object sender, EventArgs e) { int idOfQuizItem = GetIdOfAnswer(sender as System.Web.UI.Control); try { QuizItem item = QuizItem.Find(idOfQuizItem); Vote o = Vote.FindOne( Expression.Eq("VotedBy", Operator.Current), Expression.Eq("QuizItem", item), Expression.Eq("Score", -1)); if (o != null) { o.Delete(); FindUpLinkButtonForAnswer(sender as System.Web.UI.Control).CssClass = "up"; FindDownLinkButtonForAnswer(sender as System.Web.UI.Control).CssClass = "down"; } else { Vote v = new Vote(); v.QuizItem = item; v.Score = -1; v.VotedBy = Operator.Current; v.Save(); FindUpLinkButtonForAnswer(sender as System.Web.UI.Control).CssClass = "up"; FindDownLinkButtonForAnswer(sender as System.Web.UI.Control).CssClass = "downVoted"; } FindLabelForAnswer(sender as System.Web.UI.Control).Text = QuizItem.Find(idOfQuizItem).Score.ToString(); } catch (Exception err) { ShowError(err.Message); } }
protected void ViewComments(object sender, EventArgs e) { LinkButton btn = sender as LinkButton; int id = GetIdOfAnswer(btn); QuizItem answer = QuizItem.Find(id); Panel tmp = SelectorHelpers.FindFirstByCssClass <Panel>(btn.Parent, "viewComments"); if (!tmp.Visible || tmp.Style["display"] == "none") { btn.Text = "Hide " + btn.Text; tmp.Visible = true; tmp.ReRender(); System.Web.UI.WebControls.Repeater rep = Selector.SelectFirst <System.Web.UI.WebControls.Repeater>(tmp); rep.DataSource = answer.Children; rep.DataBind(); TextArea txt = Selector.SelectFirst <TextArea>(tmp); txt.Text = "write your comment here..."; new EffectRollDown(tmp, 500) .Render(); } else { btn.Text = btn.Text.Replace("Hide ", ""); new EffectRollUp(tmp, 500) .Render(); } }
protected void DeleteQuestionBtnClick(object sender, EventArgs e) { LinkButton btn = sender as LinkButton; int id = GetIdOfAnswer(btn); QuizItem.Find(id).Delete(); DataBindAnswers(); }
protected string GetDownCssClassIfVoted(int id) { QuizItem quiz = QuizItem.Find(id); Vote hasVoted = Vote.FindOne( Expression.Eq("VotedBy", Operator.Current), Expression.Eq("QuizItem", quiz), Expression.Eq("Score", -1)); if (hasVoted != null) { return("downVoted"); } return("down"); }
protected void SaveAnswer(object sender, EventArgs e) { Button btn = sender as Button; Panel pnl = btn.Parent as Panel; TextArea txt = Selector.SelectFirst <TextArea>(pnl); new EffectRollUp(pnl, 500).Render(); int id = GetIdOfAnswer(pnl); QuizItem item = QuizItem.Find(id); item.Body = txt.Text; item.Save(); _question.Refresh(); DataBindAnswers(); }
protected void EditAnswerBtnClick(object sender, EventArgs e) { LinkButton btn = sender as LinkButton; Panel editAnswer = SelectorHelpers.FindFirstByCssClass <Panel>(btn.Parent, "editAnswer"); if (!editAnswer.Visible || editAnswer.Style["display"] == "none") { TextArea text = Selector.SelectFirst <TextArea>(editAnswer); int id = GetIdOfAnswer(btn); text.Text = QuizItem.Find(id).Body; editAnswer.Visible = true; new EffectRollDown(editAnswer, 500) .ChainThese(new EffectFocusAndSelect(text)) .Render(); } }
protected void SaveComment(object sender, EventArgs e) { Button btn = sender as Button; int id = GetIdOfAnswer(btn.Parent); QuizItem q = QuizItem.Find(id); TextArea tmp = Selector.SelectFirst <TextArea>(btn.Parent); QuizItem n = new QuizItem(); n.Body = tmp.Text; n.CreatedBy = Operator.Current; n.Parent = q; n.Save(); q.Refresh(); new EffectRollUp(btn.Parent, 500) .Render(); LinkButton viewComments = SelectorHelpers.FindFirstByCssClass <LinkButton>(btn.Parent.Parent, "comments"); viewComments.Text = "Comments [" + q.Children.Count + "]"; }