Exemple #1
0
        protected void Load_Data()
        {
            KeywordId   = Convert.ToInt32(Request.QueryString["keywordid"]);
            total       = PostOrmDB.count_by_keywordid(KeywordId);
            _pagenumber = total / 10;

            if (total > 1)
            {
                rptPages.Visible = true;
                btn_pre.Visible  = true;
                btn_next.Visible = true;
                System.Collections.ArrayList pages = new System.Collections.ArrayList();
                if (total < 5)
                {
                    for (int i = 0; i < total; i++)
                    {
                        pages.Add((i + 1).ToString());
                    }
                }
                else
                {
                    if (PageNumber < 2)
                    {
                        pages.Add((PageNumber - 1).ToString());
                        pages.Add((PageNumber).ToString());
                        pages.Add((PageNumber + 1).ToString());
                        pages.Add((((PageNumber + 1) + _pagenumber) / 2 + 1).ToString());
                        btn_last.Visible = true;
                    }
                    else if (PageNumber > (total - 2))
                    {
                        pages.Add((((PageNumber + 1) - 1) / 2 + 1).ToString());
                        pages.Add((PageNumber - 1).ToString());
                        pages.Add((PageNumber).ToString());
                        pages.Add((PageNumber + 1).ToString());
                        btn_first.Visible = true;
                    }
                    else
                    {
                        pages.Add((PageNumber - 1).ToString());
                        pages.Add((PageNumber).ToString());
                        pages.Add((PageNumber + 1).ToString());
                        pages.Add((((PageNumber + 1) + _pagenumber) / 2 + 1).ToString());
                        btn_first.Visible = true;
                        btn_last.Visible  = true;
                    }
                }
                rptPages.DataSource = pages;
                rptPages.DataBind();
            }
            else
            {
                rptPages.Visible = false;
                DataTable myDatatable = PostOrmDB.SelectTop10ByKeywordId(KeywordId);
                get10Lines.DataSource     = myDatatable;
                get10Lines.ItemDataBound += get10Lines_ItemDataBound;
                get10Lines.DataBind();
            }
        }
Exemple #2
0
        protected void bnt_Click()
        {
            DataTable myDatatable = PostOrmDB.SelectBy10(KeywordId, PageNumber * 10, 10);

            get10Lines.DataSource     = myDatatable;
            get10Lines.ItemDataBound += get10Lines_ItemDataBound;
            get10Lines.DataBind();
        }
Exemple #3
0
        protected void btn_last_Click(object sender, EventArgs e)
        {
            DataTable myDatatable = PostOrmDB.SelectBy10(KeywordId, _pagenumber * 10, 10);

            get10Lines.DataSource     = myDatatable;
            get10Lines.ItemDataBound += get10Lines_ItemDataBound;
            get10Lines.DataBind();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            /* get data
             */
            DataTable dt = PostOrmDB.GetTop10MentionKeyword();

            var query = dt.AsEnumerable()
                        .GroupBy(row => new
            {
                Text    = row.Field <string>("keyword_value"),
                Keyword = row.Field <int>("KeywordId"),
                Senti   = row.Field <int>("SentiLabel")
            })
                        .Select(grp => new
            {
                Text    = grp.Key.Text,
                Keyword = grp.Key.Keyword,
                Senti   = grp.Key.Senti,
                Count   = grp.Count()
            });

            List <string> ltext    = new List <string>();
            List <string> lkeyword = new List <string>();
            List <int>    lpos     = new List <int>();
            List <int>    lnor     = new List <int>();
            List <int>    lneg     = new List <int>();

            /*
             * get value of pos/nor/neg
             */
            /*
             * foreach (var senti in query)
             * {
             *      if (!lkeyword.Contains(senti.Keyword.ToString()))
             *      {
             *          lkeyword.Add(senti.Keyword.ToString());
             *
             *          if (senti.Senti == 0 || senti.Senti == 1)
             *          {
             *              lneg.Add(senti.Count);
             *          }
             *          else{
             *              lneg.Add(0);
             *          }
             *          if (senti.Senti == 2)
             *          {
             *              lnor.Add(senti.Count);
             *          }
             *          else{
             *              lnor.Add(0);
             *          }
             *
             *          if (senti.Senti == 3 || senti.Senti == 4)
             *          {
             *              lpos.Add(senti.Count);
             *          }
             *          else
             *          {
             *              lpos.Add(0);
             *          }
             *
             *      }
             *      else
             *      {
             *          if (senti.Senti == 0 || senti.Senti == 1)
             *          {
             *              lneg[lneg.Count-1]=senti.Count;
             *          }
             *
             *          if (senti.Senti == 2)
             *          {
             *              lnor[lnor.Count - 1] = senti.Count;
             *          }
             *
             *          if (senti.Senti == 3 || senti.Senti == 4)
             *          {
             *              lpos[lpos.Count - 1] = senti.Count;
             *          }
             *
             *      }
             *
             * }
             * */

            foreach (var senti in query)
            {
                if (!ltext.Contains(senti.Text))
                {
                    ltext.Add(senti.Text);

                    if (senti.Senti == 0 || senti.Senti == 1)
                    {
                        lneg.Add(senti.Count);
                    }
                    else
                    {
                        lneg.Add(0);
                    }
                    if (senti.Senti == 2)
                    {
                        lnor.Add(senti.Count);
                    }
                    else
                    {
                        lnor.Add(0);
                    }

                    if (senti.Senti == 3 || senti.Senti == 4)
                    {
                        lpos.Add(senti.Count);
                    }
                    else
                    {
                        lpos.Add(0);
                    }
                }
                else
                {
                    if (senti.Senti == 0 || senti.Senti == 1)
                    {
                        lneg[lneg.Count - 1] = senti.Count;
                    }

                    if (senti.Senti == 2)
                    {
                        lnor[lnor.Count - 1] = senti.Count;
                    }

                    if (senti.Senti == 3 || senti.Senti == 4)
                    {
                        lpos[lpos.Count - 1] = senti.Count;
                    }
                }
            }

            List <string> lstr = new List <string>();

            /*
             * foreach (var item in lkeyword)
             * {
             *  lstr.Add(item.ToString());
             * }
             */
            foreach (var item in ltext)
            {
                lstr.Add(item);
            }

            //string[] o_keyword = lstr.ToArray();
            string[] o_text = lstr.ToArray();
            object[] o_neg  = lneg.Cast <object>().ToArray();
            object[] o_nor  = lnor.Cast <object>().ToArray();
            object[] o_pos  = lpos.Cast <object>().ToArray();


            /* Display chart
             *
             */
            DotNet.Highcharts.Highcharts chart = new DotNet.Highcharts.Highcharts("chart")
                                                 .InitChart(new Chart {
                DefaultSeriesType = DotNet.Highcharts.Enums.ChartTypes.Bar
            })
                                                 .SetTitle(new Title {
                Text = "Distribution of Top 10 Keywords In A Week"
            })
                                                 //.SetXAxis(new XAxis { Categories = o_keyword })
                                                 .SetXAxis(new XAxis {
                Categories = o_text
            })
                                                 .SetPlotOptions(new PlotOptions {
                Column = new PlotOptionsColumn {
                    Stacking = Stackings.Normal
                }
            })
                                                 .SetSeries(new[]
            {
                new Series {
                    Name = "Negative", Data = new Data(o_neg)
                },
                new Series {
                    Name = "Normal", Data = new Data(o_nor)
                },
                new Series {
                    Name = "Positive", Data = new Data(o_pos)
                }
            });

            huyChart.Text = chart.ToHtmlString();
        }