private async Task SelectAttendances(AttendanceTableViewModel attendances)
        {
            if (attendances == null)
            {
                return;
            }

            SelectedAttendance = null;

            var viewModel = new AttendanceDetailViewModel(attendances, _attendanceStore, _pageService);

            viewModel.AttendanceUpdated += (source, updateAttendance) =>
            {
                attendances.Id        = updateAttendance.id;
                attendances.StudentID = updateAttendance.studentID;
                attendances.ModuleID  = updateAttendance.moduleID;
                attendances.Present   = updateAttendance.present;
                attendances.Late      = updateAttendance.late;
                attendances.Absent    = updateAttendance.absent;
                attendances.Excused   = updateAttendance.excused;
                attendances.Date      = updateAttendance.date;
            };

            await _pageService.PushModalAsync(new AttendanceDetailPage(viewModel));
        }
        private async Task DeleteAttendances(AttendanceTableViewModel attendance)
        {
            var a = "";

            if (await _pageService.DisplayAlert("Warning", $"Are you sure you want to delete{attendance.StudentID}?", "Yes", "No"))
            {
                Attendances.Remove(attendance);
                var userAttendance = await _attendanceStore.GetAttendance(attendance.Id);

                await _attendanceStore.DeleteAttendance(userAttendance);
            }
        }
        public AttendanceDetailViewModel(AttendanceTableViewModel viewModel, IAttendance attendanceStore, IPageService pageService)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException(nameof(viewModel));
            }

            _pageService     = pageService;
            _attendanceStore = attendanceStore;

            SaveCommand = new Command(async() => await Save());

            Attendance = new Attendance
            {
                id        = viewModel.Id,
                studentID = viewModel.StudentID,
                moduleID  = viewModel.ModuleID,
                date      = viewModel.Date,
                present   = viewModel.Present,
                late      = viewModel.Late,
                absent    = viewModel.Absent,
                excused   = viewModel.Excused
            };
        }