@namespace Oqtane.Modules.Admin.Register @inherits ModuleBase @inject NavigationManager NavigationManager @inject IUserService UserService @if (Message != "") { }
@code { public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Anonymous; } } string Message = "Please Note That Registration Requires A Valid Email Address In Order To Verify Your Identity"; string Username = ""; string Password = ""; string Confirm = ""; string Email = ""; string DisplayName = ""; private async Task Register() { try { Message = ""; if (Username != "" && Password != "" && Confirm != "" && Email != "") { if (Password == Confirm) { User user = new User(); user.SiteId = PageState.Site.SiteId; user.Username = Username; user.DisplayName = (DisplayName == "" ? Username : DisplayName); user.Email = Email; user.Password = Password; user = await UserService.AddUserAsync(user); if (user != null) { await logger.LogInformation("User Created {Username} {Email}", Username, Email); AddModuleMessage("User Account Created. Please Check Your Email For Verification Instructions.", MessageType.Info); } else { await logger.LogError("Error Adding User {Username} {Email}", Username, Email); AddModuleMessage("Error Adding User. Please Ensure Password Meets Complexity Requirements And Username Is Not Already In Use.", MessageType.Error); } } else { AddModuleMessage("Passwords Entered Do Not Match", MessageType.Warning); } } else { AddModuleMessage("You Must Provide A Username, Password, and Email Address", MessageType.Warning); } } catch (Exception ex) { await logger.LogError(ex, "Error Adding User {Username} {Email} {Error}", Username, Email, ex.Message); AddModuleMessage("Error Adding User", MessageType.Error); } } private void Cancel() { NavigationManager.NavigateTo(NavigateUrl("")); } }