private async void Send(object sender, EventArgs e) { IProgressDialog waiter = null; try { UserModel[] additionalVolunteers = viewModel.AdditionalVolunteers.Select(m => m.Model).ToArray(); double hours = viewModel.Hours; DateTime now = DateTime.UtcNow; UserModel user = UserModel.CurrentUser; IDataStore <Event> dataStore = DependencyService.Get <IDataStore <Event> >() ?? new MockDataStore(); EventCheckInModel checkIn = new EventCheckInModel(); checkIn.EventId = program.Id; checkIn.CheckinDate = now; checkIn.HourCount = hours; checkIn.ParentUserEmail = null; checkIn.UserEmail = user.Email; waiter = UserDialogs.Instance.Loading("Sending...", maskType: MaskType.Clear); waiter.Show(); bool result = await dataStore.CheckInUserOnEventAsync(checkIn); if (!result) { throw new Exception(); } waiter?.Hide(); await Navigation.PopAsync(); } catch { waiter?.Hide(); await DisplayAlert("Error", "Cannot save hours", "OK"); } }
Task <bool> IDataStore <Event> .CheckInUserOnEventAsync(EventCheckInModel item) { throw new NotImplementedException(); }