public async void LoginHandler() { try { _user.UserName = _user.UserName.Trim(); string hashedPassword = new SHA512Crypto().GetHashBase64String(_user.Password); LoggedUserModel loggedUser = new LoggedUserModel(); await Task.Run(() => { using (CoreContext context = new CoreContext()) { User user = context.Users.FirstOrDefault(x => x.UserName.Equals(_user.UserName, StringComparison.InvariantCultureIgnoreCase) && x.PasswordHash.Equals(hashedPassword)); if (user != null) { loggedUser.ID = user.ID; loggedUser.UserName = user.UserName; loggedUser.FullName = user.FullName; loggedUser.Email = user.Email; loggedUser.IsAuthenticated = true; } else { loggedUser.IsAuthenticated = true; } } }); GoToMainViewRequested?.Invoke(this, loggedUser); } catch (Exception ex) { LogHelper.LogException(new string[] { ex.ToString() }); } }
private async void RegisterHandler() { bool success = true; try { LoggedUserModel loggedUser = new LoggedUserModel(); await Task.Run(() => { try { using (CoreContext context = new CoreContext()) { User user = new User { UserName = UserRegisterModel.UserName, Email = UserRegisterModel.Email, FullName = UserRegisterModel.FullName }; user.PasswordHash = new SHA512Crypto().GetHashBase64String(UserRegisterModel.Password); context.Users.Add(user); int i = context.SaveChanges(); success = i > 0; if (success) { loggedUser.ID = user.ID; loggedUser.UserName = user.UserName; loggedUser.FullName = user.FullName; loggedUser.Email = user.Email; loggedUser.IsAuthenticated = true; } else { loggedUser.IsAuthenticated = false; } } } catch { } }); GoToMainViewRequested?.Invoke(this, loggedUser); } catch (Exception ex) { LogHelper.LogException(new string[] { ex.ToString() }); } }