private static async Task <OfficeElements> CreateTaskAsync() { _dateInterface = Substitute.For <IGetDate>(); _dateInterface.GetCurrentDate().Returns(DateTime.Parse("2020-01-01")); MainSql.CreateConnection(); await MainSql.CkeckConnectionAsync(); await MainSql.CreateAsync(new TestUserHelpers(), new TestInternetAccess(), "1111"); return(await OfficeElements.CreateAsync(_dateInterface).ConfigureAwait(false)); }
public async Task CreateAsync_IncorrectUser_ReturnsNullAsync(string pin) { var dateInterface = Substitute.For <IGetDate>(); dateInterface.GetCurrentDate().Returns(DateTime.Parse("2020-01-01")); MainSql.CreateConnection(); await MainSql.CkeckConnectionAsync(); Task AsyncTestDelegate() => MainSql.CreateAsync(new TestUserHelpers(), new TestInternetAccess(), pin); Assert.CatchAsync <NoUserFound>(AsyncTestDelegate); }
private async void Enter_Clicked(object sender, EventArgs e) { if (MainSql.IsConnNull()) { return; } var entryPin = Pin.Text; if (string.IsNullOrEmpty(entryPin)) { return; } UserDialogs.Instance.ShowLoading(); Enter.IsEnabled = false; try { await MainSql.CreateAsync(new UserHelpers(), _internetCheck, entryPin); } catch (NoUserFound) { if (!await HelperFunctions.InternetCheck()) { return; } UserDialogs.Instance.HideLoading(); await DisplayAlert("Error", "No user found! Please create one.", "OK"); await Navigation.PushModalAsync(new AddNewUserPage(entryPin)); Enter.IsEnabled = true; return; } catch (Exception ex) when(ex is InvalidOperationException || ex is DataException) { App.Close(); } if (!await HelperFunctions.InternetCheck()) { return; } await CreateHomeClass(); UserDialogs.Instance.HideLoading(); }
public async Task CleanupAsync() { MainSql.SetNullConnection(); var dateInterface = Substitute.For <IGetDate>(); dateInterface.GetCurrentDate().Returns(DateTime.Parse("2020-01-01")); MainSql.CreateConnection(); await MainSql.CkeckConnectionAsync(); await MainSql.CreateAsync(new TestUserHelpers(), new TestInternetAccess(), "1111"); await MainSql.DeleteFromDbAsync(true, null, "2020-01-01").ConfigureAwait(false); MainSql.SetNullConnection(); }
private async void Enter_Clicked(object sender, EventArgs e) { if (MainSql.IsConnNull()) { return; } if (string.IsNullOrEmpty(Username.Text)) { return; } var username = Username.Text.ToLowerInvariant().RemoveWhitespace(); try { await MainSql.MakeUserAccountAsync(username, _password); } catch (UserTableNotFound) { await DisplayAlert("Error", "No table found with that name!", "OK"); return; } catch (UserAlreadyExists) { await DisplayAlert("Error", "User already registered!", "OK"); return; } catch (PinAlreadyExists) { await DisplayAlert("Error", "Password already used!", "OK"); return; } await DisplayAlert("New user", "User created! Please re-enter pin", "OK"); // ReSharper disable once RedundantCapturedContext await Navigation.PopModalAsync(); }
protected override async void OnAppearing() { base.OnAppearing(); if (!Users.LoggedAccountExists()) { return; } try { UserDialogs.Instance.ShowLoading(); Pin.Text = "0000"; Enter.IsEnabled = false; await MainSql.CreateAsync(new UserHelpers(), _internetCheck); if (!await HelperFunctions.InternetCheck()) { return; } await CreateHomeClass(); UserDialogs.Instance.HideLoading(); } catch (UserReadFailed) { SecureStorage.RemoveAll(); Preferences.Clear(); await HelperFunctions.ShowAlertAsync("There's been an error, please restart the app!", true); } catch (Exception ex) when(ex is TaskCanceledException || ex is InvalidOperationException) { App.Close(); } }