@namespace Oqtane.Modules.Admin.Profiles @using Oqtane.Enums @inherits ModuleBase @inject NavigationManager NavigationManager @inject IProfileService ProfileService
Cancel @code { private int _profileid = -1; private string _name = string.Empty; private string _title = string.Empty; private string _description = string.Empty; private string _category = string.Empty; private string _vieworder = "0"; private string _maxlength = "0"; private string _defaultvalue = string.Empty; private string _isrequired = "False"; private string _isprivate = "False"; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; public override string Actions => "Add,Edit"; protected override async Task OnInitializedAsync() { try { if (PageState.QueryString.ContainsKey("id")) { _profileid = Int32.Parse(PageState.QueryString["id"]); var profile = await ProfileService.GetProfileAsync(_profileid); if (profile != null) { _name = profile.Name; _title = profile.Title; _description = profile.Description; _category = profile.Category; _vieworder = profile.ViewOrder.ToString(); _maxlength = profile.MaxLength.ToString(); _defaultvalue = profile.DefaultValue; _isrequired = profile.IsRequired.ToString(); _isprivate = profile.IsPrivate.ToString(); } } } catch (Exception ex) { await logger.LogError(ex, "Error Loading Profile {ProfileId} {Error}", _profileid, ex.Message); AddModuleMessage("Error Loading Profile", MessageType.Error); } } private async Task SaveProfile() { try { Profile profile; if (_profileid != -1) { profile = await ProfileService.GetProfileAsync(_profileid); } else { profile = new Profile(); } profile.Name = _name; profile.Title = _title; profile.Description = _description; profile.Category = _category; profile.ViewOrder = int.Parse(_vieworder); profile.MaxLength = int.Parse(_maxlength); profile.DefaultValue = _defaultvalue; profile.IsRequired = (_isrequired == null ? false : Boolean.Parse(_isrequired)); profile.IsPrivate = (_isprivate == null ? false : Boolean.Parse(_isprivate)); profile = await ProfileService.UpdateProfileAsync(profile); await logger.LogInformation("Profile Saved {Profile}", profile); NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { await logger.LogError(ex, "Error Saving Profile {ProfleId} {Error}", _profileid, ex.Message); AddModuleMessage("Error Saving Profile", MessageType.Error); } } }