コード例 #1
0
        public async Task BookmarkSchool(string school, bool bookmark)
        {
            SchoolBookmarks.UpdateOrInsert(new SchoolBookmark(school, bookmark));

            AllSchoolClassBookmarks.Where((arg) => arg.SchoolClass.School.Equals(school))
            .ToList()
            .ForEach(schoolClassBookmark => {
                var newBookmark = new SchoolClassBookmark(schoolClassBookmark.SchoolClass,
                                                          schoolClassBookmark.Bookmarked,
                                                          bookmark);
                UpdateSchoolClassBookmark(newBookmark);
            });
            UpdateBookmarkedVplan();

            await PersistSchoolBookmarks();
            await PersistSchoolClassBookmarks();
        }
コード例 #2
0
        void UpdateSchoolClassBookmark(SchoolClassBookmark newBookmark)
        {
            // Replace bookmark
            AllSchoolClassBookmarks.Remove(newBookmark);
            AllSchoolClassBookmarks.Add(newBookmark);

            var newBookmarkIndex = NewSchoolClassBookmarks.IndexOf(newBookmark);

            if (newBookmarkIndex >= 0)
            {
                NewSchoolClassBookmarks[newBookmarkIndex] = newBookmark;
            }

            if (newBookmark.SchoolBookmarked)
            {
                SchoolClassBookmarks.UpdateOrInsert(newBookmark);
            }
            else
            {
                SchoolClassBookmarks.Remove(newBookmark);
            }
        }
コード例 #3
0
        void AddNewSchoolClasses(IEnumerable <SchoolClass> schoolClasses)
        {
            foreach (SchoolClass schoolClass in schoolClasses)
            {
                var schoolBookmark = GetSchoolBookmark(schoolClass.School);
                Debug.Assert(schoolBookmark != null, string.Format("School class bookmark {0} schould exist", schoolClass));
                var newBookmark = new SchoolClassBookmark(schoolClass,
                                                          false,
                                                          schoolBookmark.Bookmarked);

                if (AllSchoolClassBookmarks.Contains(newBookmark))
                {
                    return;
                }

                if (schoolBookmark.Bookmarked)
                {
                    NewSchoolClassBookmarks.Add(newBookmark);
                }
                UpdateSchoolClassBookmark(newBookmark);
            }
        }
コード例 #4
0
 async Task PersistSchoolClassBookmarks()
 {
     await Persistence.PersistSchoolClassBookmarks(AllSchoolClassBookmarks.ToList());
 }