internal async Task SignInAsync() { try { IsBusy = true; _hud.Show(LoginMessage); var credentials = new Credentials(UserName, Password); Result validationResult = await _credentialValidator.ValidateAsync(credentials) .ConfigureAwait(false); if (!validationResult.IsSuccessful) { _alerts.ShowError(validationResult.ErrorMessage); return; } var saveResult = await _credentialStorage.SaveCredentialsAsync(credentials) .ConfigureAwait(false); if (!saveResult.IsSuccessful) { _alerts.ShowError(saveResult.ErrorMessage); return; } _backgroundSync.Enable(); SignedIn?.Invoke(this, EventArgs.Empty); } finally { _hud.Dismiss(); IsBusy = false; } }