private async void ExecuteNewUserCommand(object obj) { this.DemandeurIdentite.Id = Guid.NewGuid().ToString(); var loader = await MaterialDialog.Instance.LoadingDialogAsync("Veuillez patienter svp ..."); try { if (PwdConfirm.Trim() != Pwd.Trim()) { throw new Exception("Mot de passe saisi ne correspond pas"); } if (IsError) { throw new Exception("Verifiez vos données"); } this.DemandeurIdentite.Password = Pwd.HashPassword(); await RestService.For <IBackendService>(Configurations.ServerConfig.Host).Inscription(JsonConvert.SerializeObject(this.DemandeurIdentite)); await loader.DismissAsync(); await MaterialDialog.Instance.AlertAsync($"Un e-mail de verification a été envoyé à {this.DemandeurIdentite.Email}"); } catch (Exception e) { await loader.DismissAsync(); await MaterialDialog.Instance.SnackbarAsync("Error: " + e.Message, 3000, Configurations.MaterialConfig.MaterialSnackbarConfiguration); } }
private async void ExecuteLoginCommand(object obj) { var loader = await MaterialDialog.Instance.LoadingDialogAsync("Contact du serveur ... ", Configurations.MaterialConfig.MaterialLoadingDialogConfiguration); try { var currentUser = await RestService.For <Services.IBackendService>(Configurations.ServerConfig.Host).Connexion(JsonConvert.SerializeObject(new { email = Email, motDePasse = Pwd.HashPassword() })); SecureStorageHelper.AuthKey = currentUser.Id; LiteDbHelper.SaveDataUser(currentUser); await loader.DismissAsync(); if (string.IsNullOrEmpty(currentUser.Nom) || string.IsNullOrEmpty(currentUser.Postnom) || string.IsNullOrEmpty(currentUser.Prenom) || string.IsNullOrEmpty(currentUser.Username)) { await Navigation.PushAsync(new Views.FirstUpdatePage()); } else { await Navigation.PushAsync(new Views.HomePage()); } } catch (Exception e) { await loader.DismissAsync(); if (e is Refit.ApiException) { await MaterialDialog.Instance.SnackbarAsync($"{((Refit.ApiException)e).Content}", 3000, Configurations.MaterialConfig.MaterialSnackbarConfiguration); } else { await MaterialDialog.Instance.SnackbarAsync($"Erreur: {e.Message}", 3000, Configurations.MaterialConfig.MaterialSnackbarConfiguration); } } }