} // end of this function

        void InitTodayChartContent()
        {
            List <TodayData> itemSource = new List <TodayData>();

            // today only
            var todayData = StudentData.historyDatas[StudentData.historyDatas.Count - 1];

            foreach (var data in todayData.SubjectHistoryData)
            {
                int percent = 0;
                foreach (var peroid in data.Peroids)
                {
                    if (showGradeOfTerm)
                    {
                        if ((peroid.Peroid == "T1") || (peroid.Peroid == "T2") || (peroid.Peroid == "T3") || (peroid.Peroid == "T4"))
                        {
                            percent = peroid.Percent;
                        }
                    }
                    else if ((peroid.Peroid == "S1") || (peroid.Peroid == "S2"))
                    {
                        percent = peroid.Percent;
                    }

                    if (percent == 0)
                    {
                        if (peroid.Peroid == "Y1")
                        {
                            percent = peroid.Percent;
                        }
                    }
                }
                if (percent != 0)
                {
                    var RmVsaWRhZQ = data.Subject;
                    itemSource.Add(new TodayData(U2hyaWtl.Execute(RmVsaWRhZQ), percent));
                }
            }
            (this.ColumnChart.Series[0] as ColumnSeries).ItemsSource = itemSource;
            (this.BlobChart.Series[0] as BubbleSeries).ItemsSource   = itemSource;
            if (itemSource.Count == 0)
            {
                ColumnChart.Visibility = Visibility.Collapsed;
                ColNoData.Visibility   = Visibility.Visible;
                BlobChart.Visibility   = Visibility.Collapsed;
                BlobNoData.Visibility  = Visibility.Visible;
            }
        }
        void InitLineChartContent()
        {
            foreach (var subject in StudentData.subjects)   // foreach StudentData.subject

            {
                List <LineData> itemSource  = new List <LineData>();
                string          subjectName = subject.Name;

                foreach (var Day in StudentData.historyDatas)   // for each day
                {
                    int percent = 0;
                    foreach (var subjectData in Day.SubjectHistoryData)   // for each subject
                    {
                        if (subjectName == subjectData.Subject)
                        {
                            foreach (var peroid in subjectData.Peroids)   // for each peroid

                            {
                                if (showGradeOfTerm)
                                {
                                    if (peroid.Peroid.Contains("T"))
                                    {
                                        percent = peroid.Percent;
                                    }
                                }
                                else
                                {
                                    if (peroid.Peroid.Contains("S"))
                                    {
                                        percent = peroid.Percent;
                                    }
                                }

                                if (percent == 0 && peroid.Peroid == "Y1") // summer school
                                {
                                    percent = peroid.Percent;
                                }
                            }
                        }
                    }
                    itemSource.Add(new LineData(Day.Date, percent));
                }

                var        RmVsaWRhZQ = subjectName;
                LineSeries series     = new LineSeries {
                    IndependentValuePath = "Date",
                    DependentValuePath   = "Percent",
                    IsSelectionEnabled   = true,
                    ItemsSource          = itemSource,
                    Title = U2hyaWtl.Execute(RmVsaWRhZQ)
                };

                this.LineChart.Series.Add(series);
            } // end of foreach subject

            /*
             * if (LineChart.Series.Count >= 1)
             *  ((LineSeries)LineChart.Series[0]).DependentRangeAxis = new LinearAxis() {
             *      Maximum = 100,
             *      Minimum = 0,
             *      Orientation = AxisOrientation.Y,
             *      Interval = 10,
             *      ShowGridLines = true,
             *  };
             */
            if (LineChart.Series.Count == 0)
            {
                LineChart.Visibility  = Visibility.Collapsed;
                LineNoData.Visibility = Visibility.Visible;
            }
        } // end of this function