コード例 #1
0
        protected void AnswerSubmitButton_OnClick(object sender, EventArgs e)
        {
            var logginedUser = HttpContext.Current.User.Identity;

            if (logginedUser.IsAuthenticated) // only logedin users can answer to question
            {
                int questionId;

                if (int.TryParse(Request.QueryString["QuestionID"], out questionId) && questionId > 0)
                {
                    using (var control = new AnswerController())
                    {
                        control.AnswerToQuestion(questionId, AnswerBodyTextBox.Text);
                    }

                    AnswerBodyTextBox.Text = "";
                    QuestionDetailFormView.DataBind();
                    AnswersList.DataBind();
                }
                else
                {
                    ErrorMessage.InnerText = "Please try again later";
                    ErrorDiv.Visible       = true;
                }
            }
            else
            {
                var currentUrl = HttpUtility.UrlEncode(Request.Url.PathAndQuery);
                Response.Redirect($"~/Login.aspx?ReturnUrl={currentUrl}");
            }
        }
コード例 #2
0
        protected void sortAnswerRadioButton_OnCheckedChanged(object sender, EventArgs e)
        {
            var radioButton = (RadioButton)sender;

            AnswersSortValue.Value = radioButton.Text.ToLower();
            AnswersList.DataBind();
        }
コード例 #3
0
        protected void AcceptAnswer_OnClick(object sender, EventArgs e)
        {
            var linkButton = (LinkButton)sender;
            var answerId   = int.Parse(linkButton.CommandArgument);

            using (var control = new AnswerController())
            {
                control.SetAcceptedAnswer(answerId);
            }

            AnswersList.DataBind();
        }
コード例 #4
0
 private void Page_Load(object sender, EventArgs e)
 {
     Submit.Text          = Translate.Text("submit");
     ThankYouLiteral.Text = Translate.Text("thankyouLiteral");
     poll = new Poll(DataSourceItem);
     if (!IsPostBack)
     {
         AnswersList.DataSource = poll.PossibleAnswers;
         //AnswersList.SelectedValue = null;
         AnswersList.DataBind();
     }
 }
コード例 #5
0
        protected void AnswerVote_OnClick(object sender, EventArgs e)
        {
            string username;
            var    logginedUser = HttpContext.Current.User.Identity;
            var    vote         = (LinkButton)sender;
            var    answerId     = int.Parse(vote.CommandArgument);

            using (var control = new AnswerController())
            {
                username = control.GetAnswerAutherEmail(answerId);
            }

            if (logginedUser.IsAuthenticated)      // only logedin users can vote to answers
            {
                if (logginedUser.Name != username) // nobody can't vote his/her answer
                {
                    using (var control = new AnswerController())
                    {
                        control.ManageVote(
                            vote.ID.ToLower().Contains("up")
                                ? AnswerController.VoteType.Up
                                : AnswerController.VoteType.Down,
                            answerId);
                    }
                }
                else
                {
                    ErrorMessage.InnerText = "You can not vote yourself.";
                    ErrorDiv.Visible       = true;
                }

                AnswersList.DataBind();
            }
            else
            {
                var currentUrl = HttpUtility.UrlEncode(Request.Url.PathAndQuery);
                Response.Redirect($"~/Login.aspx?ReturnUrl={currentUrl}");
            }
        }
コード例 #6
0
        protected void AnswerSubmitCommentButton_OnClick(object sender, EventArgs e)
        {
            var logginedUser = HttpContext.Current.User.Identity;

            if (logginedUser.IsAuthenticated)   // only logedin users can comment on answers
            {
                var submitButton   = (Button)sender;
                var answerId       = int.Parse(submitButton.CommandArgument);
                var commentTextBox = (TextBox)submitButton.Parent.FindControl("AnswerCommentBody");

                using (var control = new AnswerController())
                {
                    control.AddComment(answerId, commentTextBox.Text);
                }

                AnswersList.DataBind();
            }
            else
            {
                var currentUrl = HttpUtility.UrlEncode(Request.Url.PathAndQuery);
                Response.Redirect($"~/Login.aspx?ReturnUrl={currentUrl}");
            }
        }
コード例 #7
0
 protected void AnswersList_OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
 {
     //set current page startindex, max rows and rebind to false
     AnswersDataPager.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
     AnswersList.DataBind();
 }