private async Task ExecuteLoadedAsync(object parameter)
        {
            User user = null;

            if (!IsOfflineMode)
            {
                user = await _usersRepository.GetAsync(nameof(Student), StudentId.ToString());

                _applicationSettingsService.SaveLoggedUserDataInRegistry(nameof(Student), user as Student);
            }
            else
            {
                user = _applicationSettingsService.GetLoggedUserDataFromRegistry(nameof(Student));
                if (user == null)
                {
                    return;
                }
            }

            Student student = user as Student;

            if (!String.IsNullOrWhiteSpace(student.SerializedGrades))
            {
                student.Grades = JsonConvert.DeserializeObject <Dictionary <string, List <Grade> > >(student.SerializedGrades);
                var subjects = new ObservableCollection <WrappedSubject>();
                foreach (var subjectName in student.Grades.Keys)
                {
                    var wrappedGrades = new ObservableCollection <WrappedGrade>();
                    var grades        = student.Grades[subjectName];
                    if (grades.Count > 0)
                    {
                        double sum = 0;
                        foreach (var grade in grades)
                        {
                            wrappedGrades.Add(new WrappedGrade
                            {
                                Value   = grade.Value,
                                Comment = grade.Comment,
                                LastModificationDate = grade.LastModificationDate
                            });

                            sum += grade.Value;
                        }

                        double average = sum / grades.Count;
                        var    subject = new WrappedSubject
                        {
                            Name    = subjectName,
                            Grades  = wrappedGrades,
                            Average = String.Format("{0:0.00}", average)
                        };

                        subjects.Add(subject);
                    }
                }

                Subjects = subjects;
                OnPropertyChanged(nameof(Subjects));
            }
        }
예제 #2
0
 public void Dispose()
 {
     WrappedSubject.Dispose();
 }
예제 #3
0
 public void Stop()
 {
     WrappedSubject.Stop();
 }
예제 #4
0
 public void Start()
 {
     WrappedSubject.Start();
 }
예제 #5
0
 public virtual WebResponse EndGetResponse(IAsyncResult asyncResult)
 {
     return(WrappedSubject.EndGetResponse(asyncResult));
 }
예제 #6
0
 public virtual IAsyncResult BeginGetResponse(AsyncCallback callback, object state)
 {
     return(WrappedSubject.BeginGetResponse(callback, state));
 }
예제 #7
0
 public virtual Stream EndGetRequestStream(IAsyncResult asyncResult)
 {
     return(WrappedSubject.EndGetRequestStream(asyncResult));
 }
예제 #8
0
 public virtual IAsyncResult BeginGetRequestStream(AsyncCallback callback, object state)
 {
     return(WrappedSubject.BeginGetRequestStream(callback, state));
 }
예제 #9
0
 public void Abort()
 {
     WrappedSubject.Abort();
 }
예제 #10
0
 public void Show()
 {
     WrappedSubject.Show();
 }