Пример #1
0
        private void SetGraph()
        {
            ReadTestData();
            ReadGradingSystemData();
            SeriesCollection.Clear();

            LineSeriesCollection.Clear();
            DateTimes.Clear();

            if (SelectedSubject == null)
            {
                return;
            }
            if (SelectedTestType == null)
            {
                return;
            }
            if (SelectedGradingPeriod == null)
            {
                return;
            }


            //var selectedSubject = AssociatedPerson.Subjects.Where(x => x.Name == SelectedSubject.Name);
            LineSeries           dummyLineSeries = new LineSeries();
            ChartValues <double> chartValues     = new ChartValues <double>();

            foreach (var test in SelectedSubject.Tests.Where(x => x.TestType.Name == SelectedTestType.Name && x.GradingPeriod.Name == SelectedGradingPeriod.Name))
            {
                chartValues.Add(test.Percentage);
                DateTimes.Add(test.TestDate.ToString(CultureInfo.InvariantCulture));
                if (chartValues.Count() > 4)
                {
                    GraphWidth = chartValues.Count() * 150;
                }
            }

            dummyLineSeries.Values = chartValues;
            //dummyLineSeries.LineSmoothness = 0;

            LineSeriesCollection.Add(dummyLineSeries);

            foreach (var s in LineSeriesCollection)
            {
                SeriesCollection.Add(s);
            }
        }
        private void LoadDashboardTimespan()
        {
            try
            {
                // Load Current Day Start and Day End
                var d        = DateTime.Now;
                var dayStart = new DateTime(d.Year, d.Month, d.Day, 0, 0, 0, DateTimeKind.Local);
                var dayEnd   = dayStart.AddDays(1);

                DateTimes.Clear();
                for (var x = 0; x <= 24; x++)
                {
                    DateTimes.Add(dayStart.AddHours(x));
                }

                // Load From Setting
                string   fromSetting = Properties.Settings.Default.SavedStatusFromTime;
                DateTime savedFrom   = DateTime.MinValue;
                DateTime.TryParse(fromSetting, out savedFrom);

                // Load To Setting
                string   toSetting = Properties.Settings.Default.SavedStatusToTime;
                DateTime savedTo   = DateTime.MinValue;
                DateTime.TryParse(toSetting, out savedTo);

                // Set From
                if (savedFrom > dayStart)
                {
                    From = savedFrom;
                }
                else if (savedFrom > DateTime.MinValue)
                {
                    From = new DateTime(dayStart.Year, dayStart.Month, dayStart.Day, savedFrom.Hour, 0, 0);
                }
                else
                {
                    From = dayStart;
                }

                // Set To
                if (savedTo > dayStart && savedTo < dayEnd && savedTo > From)
                {
                    To = savedTo;
                }
                else if (savedTo > DateTime.MinValue && savedTo.Hour > 0)
                {
                    To = new DateTime(dayStart.Year, dayStart.Month, dayStart.Day, savedTo.Hour, 0, 0);
                }
                else
                {
                    To = dayEnd;
                }

                SaveDashboardTimespan();
                SendDashboardTimespan();
            }
            catch (Exception ex)
            {
                Logger.Log("LoadDashboardTimespan :: Exception :: " + ex.Message);
            }
        }
        private void UpdateDashboardTimespan()
        {
            try
            {
                // Load Current Day Start and Day End
                var d        = DateTime.Now;
                var dayStart = new DateTime(d.Year, d.Month, d.Day, 0, 0, 0, DateTimeKind.Local);
                var dayEnd   = dayStart.AddDays(1);

                DateTime from = DateTime.MinValue;
                DateTime to   = DateTime.MinValue;

                // Set From
                if (From > dayStart)
                {
                    from = From;
                }
                else if (From > DateTime.MinValue)
                {
                    from = new DateTime(dayStart.Year, dayStart.Month, dayStart.Day, From.Hour, 0, 0);
                }
                else
                {
                    from = dayStart;
                }

                // Set To
                if (To > dayStart && To <= dayEnd)
                {
                    to = To;
                }
                else if (To > DateTime.MinValue && To.Hour > 0)
                {
                    to = new DateTime(dayStart.Year, dayStart.Month, dayStart.Day, To.Hour, 0, 0);
                }
                else
                {
                    to = dayEnd;
                }

                // Update Timespan
                if (From != from || To != to)
                {
                    DateTimes.Clear();
                    for (var x = 0; x <= 24; x++)
                    {
                        DateTimes.Add(dayStart.AddHours(x));
                    }

                    From = from;
                    To   = to;

                    SaveDashboardTimespan();
                    SendDashboardTimespan();
                }
            }
            catch (Exception ex)
            {
                Logger.Log("UpdateDashboardTimespan :: Exception :: " + ex.Message);
            }
        }