Exemple #1
0
        private void ShowResult()
        {
            //LoadPoll();
            poll = new Poll(ModuleId);

            if (currentUser != null)
            {
                userHasVoted = poll.UserHasVoted(currentUser);
            }
            else
            {
                userHasVoted = CookieHelper.CookieExists(poll.PollGuid.ToString());
            }

            if (userHasVoted)
            {
                lblVotingStatus.Text = PollResources.AlreadyVotedMessage;
            }

            rblOptions.Visible     = false;
            dlResults.Visible      = true;
            btnBackToVote.Visible  = !userHasVoted;
            btnShowResults.Visible = false;

            lblMessage.Text = PollResources.PollTotalVotesLabel + poll.TotalVotes;
            //IDataReader reader = PollOption.GetOptionsByPollGuid(poll.PollGuid);
            List <PollOption> pollOptions = PollOption.GetOptionsByPollGuid(poll.PollGuid);

            dlResults.DataSource = pollOptions;
            dlResults.DataBind();
            //reader.Close();

            //rptResults.DataSource = PollOption.GetOptionsByPollGuid(poll.PollGuid);
            //rptResults.DataBind();
        }
        private void dlPolls_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            Guid     pollGuid  = new Guid(dlPolls.DataKeys[e.Item.ItemIndex].ToString());
            DataList dlResults = (DataList)e.Item.FindControl("dlResults");

            //IDataReader reader = PollOption.GetOptionsByPollGuid(pollGuid);
            List <PollOption> pollOptions = PollOption.GetOptionsByPollGuid(pollGuid);

            dlResults.DataSource = pollOptions;
            dlResults.DataBind();


            foreach (DataListItem item in dlResults.Items)
            {
                Control spnResultImage = (Control)item.FindControl("spnResultImage");
                Guid    optionGuid     = new Guid(dlResults.DataKeys[item.ItemIndex].ToString());
                //PollOption option = new PollOption(optionGuid);
                PollOption option = pollOptions[item.ItemIndex];
                PollUIHelper.AddResultBarToControl(option, resultBarColor, spnResultImage);
            }
        }
Exemple #3
0
        private void dlPolls_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            Guid     pollGuid  = new Guid(dlPolls.DataKeys[e.Item.ItemIndex].ToString());
            DataList dlResults = (DataList)e.Item.FindControl("dlResults");
            //IDataReader reader = PollOption.GetOptionsByPollGuid(pollGuid);
            List <PollOption> pollOptions = PollOption.GetOptionsByPollGuid(pollGuid);

            dlResults.DataSource = pollOptions;
            dlResults.DataBind();
            //reader.Close();

            foreach (DataListItem item in dlResults.Items)
            {
                Control spnResultImage = (Control)item.FindControl("spnResultImage");
                Guid    optionGuid     = new Guid(dlResults.DataKeys[item.ItemIndex].ToString());
                //PollOption option = new PollOption(optionGuid);
                PollOption option = pollOptions[item.ItemIndex];
                PollUIHelper.AddResultBarToControl(option, resultBarColor, spnResultImage);
            }

            // Only admin and content admin can edit poll content
            //HyperLink lnkEdit = (HyperLink)e.Item.FindControl("lnkEdit");
            //lnkEdit.Visible = WebUser.IsAdminOrContentAdmin;

            Button btnChoose = (Button)e.Item.FindControl("btnChoose");

            if (
                (currentPoll != null) &&
                (btnChoose.CommandArgument == currentPoll.PollGuid.ToString()) &&
                (currentPoll.IsActive)
                )
            {
                btnChoose.Text = btnChoose.Text = PollResources.ActiveLink;
            }
            else
            {
                btnChoose.Text = PollResources.MakeActive;
            }
        }
Exemple #4
0
        private void PopulateControls()
        {
            if (currentModule == null)
            {
                return;
            }

            lnkPageCrumb.Text = currentModule.ModuleTitle;

            lnkPolls.Text = string.Format(CultureInfo.InvariantCulture,
                                          PollResources.ChooseActivePollFormatString,
                                          currentModule.ModuleTitle);

            if (IsPostBack)
            {
                return;
            }
            if (Page.IsCallback)
            {
                return;
            }

            if (pollGuid == Guid.Empty)
            {
                btnDelete.Visible             = false;
                btnActivateDeactivate.Visible = false;
                btnAddNewPoll.Visible         = false;
                if (timeZone != null)
                {
                    dpActiveFrom.Text = DateTimeHelper.LocalizeToCalendar(DateTime.UtcNow.ToLocalTime(timeZone).ToString("g"));
                    dpActiveTo.Text   = DateTimeHelper.LocalizeToCalendar(DateTime.UtcNow.AddYears(1).ToLocalTime(timeZone).ToString("g"));
                }
                else
                {
                    dpActiveFrom.Text = DateTimeHelper.LocalizeToCalendar(DateTime.UtcNow.AddHours(timeOffset).ToString("g"));
                    dpActiveTo.Text   = DateTimeHelper.LocalizeToCalendar(DateTime.UtcNow.AddYears(1).AddHours(timeOffset).ToString("g"));
                }


                return;
            }

            lblStartDeactivated.Visible = false;
            chkStartDeactivated.Visible = false;

            Poll poll = new Poll(pollGuid);

            txtQuestion.Text = poll.Question;
            chkAllowViewingResultsBeforeVoting.Checked = poll.AllowViewingResultsBeforeVoting;
            chkAnonymousVoting.Checked            = poll.AnonymousVoting;
            chkShowOrderNumbers.Checked           = poll.ShowOrderNumbers;
            chkShowResultsWhenDeactivated.Checked = poll.ShowResultsWhenDeactivated;

            if (timeZone != null)
            {
                dpActiveFrom.Text = DateTimeHelper.LocalizeToCalendar(poll.ActiveFrom.ToLocalTime(timeZone).ToString("g"));
                dpActiveTo.Text   = DateTimeHelper.LocalizeToCalendar(poll.ActiveTo.ToLocalTime(timeZone).ToString("g"));
            }
            else
            {
                dpActiveFrom.Text = DateTimeHelper.LocalizeToCalendar(poll.ActiveFrom.AddHours(timeOffset).ToString("g"));
                dpActiveTo.Text   = DateTimeHelper.LocalizeToCalendar(poll.ActiveTo.AddHours(timeOffset).ToString("g"));
            }

            List <PollOption> pollOptions = PollOption.GetOptionsByPollGuid(pollGuid);
            ListItem          li;

            foreach (PollOption option in pollOptions)
            {
                li = new ListItem(option.Answer, option.OptionGuid.ToString());
                lbOptions.Items.Add(li);
            }


            if (poll.Activated)
            {
                btnActivateDeactivate.Text        = PollResources.PollEditDeactivateButton;
                btnActivateDeactivate.ToolTip     = PollResources.PollEditDeactivateToolTip;
                btnActivateDeactivate.CommandName = "Deactivate";
            }
            else
            {
                btnActivateDeactivate.Text        = PollResources.PollEditActivateButton;
                btnActivateDeactivate.ToolTip     = PollResources.PollEditActivateToolTip;
                btnActivateDeactivate.CommandName = "Activate";
            }
            btnActivateDeactivate.CommandArgument = poll.PollGuid.ToString();
        }
Exemple #5
0
        private void ShowVoting()
        {
            LoadPoll();

            lblMessage.Text        = String.Empty;
            rblOptions.Visible     = true;
            dlResults.Visible      = false;
            btnBackToVote.Visible  = false;
            btnShowResults.Visible = true;

            if (poll.PollGuid == Guid.Empty)
            {
                lblMessage.Text        = PollResources.PollNoActivePollLabel;
                btnShowResults.Visible = false;
                return;
            }

            if (!poll.IsActive && poll.ShowResultsWhenDeactivated)
            {
                lblMessage.Text = PollResources.PollDeactivatedLabel;
                userHasVoted    = true;
                ShowResult();
                return;
            }

            if (!poll.IsActive)
            {
                lblMessage.Text        = PollResources.PollNoActivePollLabel;
                lblQuestion.Text       = String.Empty;
                btnShowResults.Visible = false;
                return;
            }

            if (currentUser != null)
            {
                userHasVoted = poll.UserHasVoted(currentUser);
            }
            else
            {
                userHasVoted = CookieHelper.CookieExists(poll.PollGuid.ToString());
            }

            if (userHasVoted)
            {
                ShowResult();
                return;
            }

            if (!poll.AnonymousVoting && !Request.IsAuthenticated)
            {
                rblOptions.Enabled = false;
                lblMessage.Text    = PollResources.PollMustLoginToVoteLabel;
            }

            if (!userHasVoted && !poll.AllowViewingResultsBeforeVoting)
            {
                btnShowResults.Visible = false;
            }

            //IDataReader reader;
            List <PollOption> pollOptions = PollOption.GetOptionsByPollGuid(poll.PollGuid);

            if (poll.ShowOrderNumbers)
            {
                //reader = PollOption.GetOptionsByPollGuid(poll.PollGuid);
                DataTable table = new DataTable();
                table.Columns.Add("OptionGuid");
                table.Columns.Add("Answer");
                foreach (PollOption option in pollOptions)
                {
                    table.Rows.Add(
                        option.OptionGuid.ToString(),
                        option.Order.ToString(CultureInfo.InvariantCulture) + ". " + option.Answer);
                }
                //reader.Close();

                rblOptions.DataSource = table;
                rblOptions.DataBind();
            }
            else
            {
                //reader = PollOption.GetOptionsByPollGuid(poll.PollGuid);
                rblOptions.DataSource = pollOptions;
                rblOptions.DataBind();
                //reader.Close();
            }
        }