Пример #1
0
        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));
        }