@namespace Oqtane.Modules.Admin.UrlMappings @inherits ModuleBase @inject NavigationManager NavigationManager @inject IUrlMappingService UrlMappingService @inject IStringLocalizer Localizer @inject IStringLocalizer SharedLocalizer


@SharedLocalizer["Cancel"]
@code { private ElementReference form; private bool validated = false; private string _url = string.Empty; private string _mappedurl = string.Empty; public override SecurityAccessLevel SecurityAccessLevel => SecurityAccessLevel.Admin; private async Task SaveUrlMapping() { validated = true; var interop = new Interop(JSRuntime); if (await interop.FormValid(form)) { var route = new Route(_url, PageState.Alias.Path); var url = route.SiteUrl + "/" + route.PagePath; var urlmapping = new UrlMapping(); urlmapping.SiteId = PageState.Site.SiteId; urlmapping.Url = url; urlmapping.MappedUrl = _mappedurl; urlmapping.Requests = 0; urlmapping.CreatedOn = DateTime.UtcNow; urlmapping.RequestedOn = DateTime.UtcNow; try { urlmapping = await UrlMappingService.AddUrlMappingAsync(urlmapping); await logger.LogInformation("UrlMapping Saved {UrlMapping}", urlmapping); NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { await logger.LogError(ex, "Error Saving UrlMapping {UrlMapping} {Error}", urlmapping, ex.Message); AddModuleMessage(Localizer["Error.SaveUrlMapping"], MessageType.Error); } } else { AddModuleMessage(SharedLocalizer["Message.InfoRequired"], MessageType.Warning); } } }