/// <summary>
        /// Se encarga de guardar las respuestas en el sistema.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void SubmitAnswer(object sender, EventArgs e)
        {
            try
            {
                PollAnswerManager pollAnswerManager = new PollAnswerManager();
                List <PollAnswer> pollAnswers       = new List <PollAnswer>();

                foreach (RepeaterItem item in pollRepeater.Items)
                {
                    PollAnswer pollAnswer = new PollAnswer();
                    pollAnswer.User            = SessionHelper.GetUser();
                    pollAnswer.PollOption.Id   = Convert.ToInt32(((RadioButtonList)item.FindControl("radioOptionList")).SelectedValue);
                    pollAnswer.PollQuestion.Id = Convert.ToInt32(((HiddenField)item.FindControl("lblQuestion")).Value);
                    //if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
                    pollAnswers.Add(pollAnswer);
                }

                bool success = pollAnswerManager.Save(pollAnswers);

                if (!success && pollAnswerManager.HasErrors)
                {
                    ((front)Master).Alert.Show("Error", pollAnswerManager.ErrorDescription);
                }
                else
                {
                    divPoll.Visible           = false;
                    divSuccessMessage.Visible = true;
                }
            }
            catch (Exception exception)
            {
                ((front)Master).Alert.Show("Excepción", exception.Message);
            }
        }
Beispiel #2
0
        /// <summary>
        /// Se encarga de guardar las respuestas en el sistema.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void SubmitAnswer(object sender, EventArgs e)
        {
            try
            {
                PollAnswerManager pollAnswerManager = new PollAnswerManager();
                List <PollAnswer> pollAnswers       = new List <PollAnswer>();

                foreach (RepeaterItem item in pollRepeater.Items)
                {
                    PollAnswer pollAnswer = new PollAnswer();
                    pollAnswer.User            = SessionHelper.GetUser();
                    pollAnswer.PollOption.Id   = Convert.ToInt32(((RadioButtonList)item.FindControl("radioOptionList")).SelectedValue);
                    pollAnswer.PollQuestion.Id = Convert.ToInt32(((HiddenField)item.FindControl("lblQuestion")).Value);
                    //if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
                    pollAnswers.Add(pollAnswer);
                }

                bool success = pollAnswerManager.Save(pollAnswers);

                if (!success && pollAnswerManager.HasErrors)
                {
                    //TODO - Aplicar control de errores
                    //((front)Master).Alert.Show("Error", pollAnswerManager.ErrorDescription);
                }
                else
                {
                    //Esconde el panel de las preguntas y muestra el resultado en el chart
                    divPoll.Visible           = false;
                    divPollStatistics.Visible = true;
                    int pollId = Convert.ToInt32(SessionUtilHelper.GetIdFromSession(Session));
                    Dictionary <string, ArrayList[]> statistics = pollAnswerManager.GetReportForPollAnswers(pollId);

                    int i = 0;


                    foreach (KeyValuePair <string, ArrayList[]> serie in statistics)
                    {
                        Chart1.Series.Add(new Series(serie.Key));
                        Chart1.Legends.Add(serie.Key);
                        Array yValues = serie.Value[1].ToArray(typeof(int));
                        Array xLabels = (string[])serie.Value[0].ToArray(typeof(string));
                        Chart1.Series[i].Points.DataBindXY(xLabels, yValues);
                        Chart1.Series[i].ChartType = SeriesChartType.Column;
                        ++i;
                    }
                }
            }
            catch (Exception exception)
            {
                //Aplicar control de errores
                // ((front)Master).Alert.Show("Excepción", exception.Message);
            }
        }