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); }