private async Task AddCourse()
        {
            var rawCourses = await App.Database.GetCoursesAsync();

            var filteredCourses = rawCourses.Where(r => r.TermId == _term[0].Id);
            var courses         = new ObservableCollection <Course>(filteredCourses);

            var termDueDate = _term[0].End;

            if (courses.Count == 6)
            {
                await DisplayAlert("Warning - Too many courses!", "You may not add more than 6 courses per term.", "Ok");
            }
            else
            {
                var detailViewModel = new CourseDetailViewModel();

                var detailPage = new CourseDetailPage(true, new Course(0, termDueDate), _term[0])
                {
                    BindingContext = detailViewModel // Set the binding context
                };

                await this.Navigation.PushAsync(detailPage, true);
            }
        }
        private async void CoursesListView_ItemTapped(object sender, ItemTappedEventArgs e)
        {
            var course = (Course)e.Item;

            var viewModel = new CourseDetailViewModel();

            var assessments = await App.Database.GetAssessmentsAsync();

            var assessmentList       = assessments.Where(r => r.CourseId == course.Id);
            var assessmentsForCourse = new ObservableCollection <Assessment>(assessmentList);

            var page = new CourseDetailPage(false, course, _term[0], assessmentsForCourse)
            {
                BindingContext = viewModel
            };

            await this.Navigation.PushAsync(page, true);
        }
        public async void BtnEdit_Clicked(object sender, EventArgs e)
        {
            var button   = (ImageButton)sender;
            var courseId = Convert.ToInt32(button.CommandParameter.ToString());
            var course   = await App.Database.GetCourseAsync(courseId);

            var viewModel = new CourseDetailViewModel();

            var assessments = await App.Database.GetAssessmentsAsync();

            var assessmentList       = assessments.Where(r => r.CourseId == courseId);
            var assessmentsForCourse = new ObservableCollection <Assessment>(assessmentList);

            var page = new CourseDetailPage(false, course, _term[0], assessmentsForCourse)
            {
                BindingContext = viewModel
            };

            await this.Navigation.PushAsync(page, true);
        }