private async Task ExecuteLoadedAsync(object parameter) { Lessons = new List <List <WrappedLesson> >(); for (int i = 0; i < 8; i++) { Lessons.Add(new List <WrappedLesson>()); for (int j = 0; j < 5; j++) { Lessons[i].Add(new WrappedLesson()); } } List <Lesson> lessons = null; if (UserType == "Student") { if (!IsOfflineMode) { var student = User as Student; lessons = await _timeTableService.GetLessonsForGivenClassAsync(student.ClassId); _applicationSettingsService.SaveTimeTableForUserInRegistry(nameof(Student), lessons); } else { lessons = _applicationSettingsService.GetTimeTableForUserFromRegistry(nameof(Student)); } } else if (UserType == "Parent") { if (!IsOfflineMode) { var parent = User as Parent; lessons = await _timeTableService.GetLessonsForGivenClassAsync(parent.ChildClassId); _applicationSettingsService.SaveTimeTableForUserInRegistry(nameof(Student), lessons); } else { lessons = _applicationSettingsService.GetTimeTableForUserFromRegistry(nameof(Student)); } } else if (UserType == "Teacher") { if (!IsOfflineMode) { var teacher = User as Teacher; lessons = await _timeTableService.GetLessonsForGivenTeacherAsync(teacher.Id); _applicationSettingsService.SaveTimeTableForUserInRegistry(nameof(Teacher), lessons); } else { lessons = _applicationSettingsService.GetTimeTableForUserFromRegistry(nameof(Teacher)); } } CreateTimeTable(lessons); TimeTableLoaded = true; OnPropertyChanged(nameof(TimeTableLoaded)); }