linting
This commit is contained in:
@@ -19,105 +19,108 @@ namespace Umbraco.Web.Website.ActionResults
|
||||
public class RedirectToUmbracoPageResult : IActionResult
|
||||
{
|
||||
private IPublishedContent _publishedContent;
|
||||
private readonly Guid _key;
|
||||
private readonly QueryString _queryString;
|
||||
private readonly IPublishedUrlProvider _publishedUrlProvider;
|
||||
private readonly IUmbracoContextAccessor _umbracoContextAccessor;
|
||||
private string _url;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="RedirectToUmbracoPageResult"/> class.
|
||||
/// </summary>
|
||||
public RedirectToUmbracoPageResult(Guid key, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
|
||||
{
|
||||
Key = key;
|
||||
_publishedUrlProvider = publishedUrlProvider;
|
||||
_umbracoContextAccessor = umbracoContextAccessor;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="RedirectToUmbracoPageResult"/> class.
|
||||
/// </summary>
|
||||
public RedirectToUmbracoPageResult(Guid key, QueryString queryString, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
|
||||
{
|
||||
Key = key;
|
||||
_queryString = queryString;
|
||||
_publishedUrlProvider = publishedUrlProvider;
|
||||
_umbracoContextAccessor = umbracoContextAccessor;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="RedirectToUmbracoPageResult"/> class.
|
||||
/// </summary>
|
||||
public RedirectToUmbracoPageResult(IPublishedContent publishedContent, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
|
||||
{
|
||||
_publishedContent = publishedContent;
|
||||
Key = publishedContent.Key;
|
||||
_publishedUrlProvider = publishedUrlProvider;
|
||||
_umbracoContextAccessor = umbracoContextAccessor;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="RedirectToUmbracoPageResult"/> class.
|
||||
/// </summary>
|
||||
public RedirectToUmbracoPageResult(IPublishedContent publishedContent, QueryString queryString, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
|
||||
{
|
||||
_publishedContent = publishedContent;
|
||||
Key = publishedContent.Key;
|
||||
_queryString = queryString;
|
||||
_publishedUrlProvider = publishedUrlProvider;
|
||||
_umbracoContextAccessor = umbracoContextAccessor;
|
||||
}
|
||||
|
||||
private string Url
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(_url)) return _url;
|
||||
if (!string.IsNullOrWhiteSpace(_url))
|
||||
{
|
||||
return _url;
|
||||
}
|
||||
|
||||
if (PublishedContent is null)
|
||||
{
|
||||
throw new InvalidOperationException($"Cannot redirect, no entity was found for key {Key}");
|
||||
}
|
||||
|
||||
var result = _publishedUrlProvider.GetUrl(PublishedContent.Id);
|
||||
|
||||
if (result == "#")
|
||||
{
|
||||
throw new InvalidOperationException(
|
||||
$"Could not route to entity with key {Key}, the NiceUrlProvider could not generate a URL");
|
||||
}
|
||||
|
||||
_url = result;
|
||||
|
||||
return _url;
|
||||
}
|
||||
}
|
||||
public Guid Key => _key;
|
||||
|
||||
public Guid Key { get; }
|
||||
|
||||
private IPublishedContent PublishedContent
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!(_publishedContent is null)) return _publishedContent;
|
||||
if (!(_publishedContent is null))
|
||||
{
|
||||
return _publishedContent;
|
||||
}
|
||||
|
||||
//need to get the URL for the page
|
||||
_publishedContent = _umbracoContextAccessor.GetRequiredUmbracoContext().Content.GetById(_key);
|
||||
// need to get the URL for the page
|
||||
_publishedContent = _umbracoContextAccessor.GetRequiredUmbracoContext().Content.GetById(Key);
|
||||
|
||||
return _publishedContent;
|
||||
return _publishedContent;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new RedirectToUmbracoResult
|
||||
/// </summary>
|
||||
/// <param name="pageId"></param>
|
||||
/// <param name="publishedUrlProvider"></param>
|
||||
public RedirectToUmbracoPageResult(Guid key, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
|
||||
{
|
||||
_key = key;
|
||||
_publishedUrlProvider = publishedUrlProvider;
|
||||
_umbracoContextAccessor = umbracoContextAccessor;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new RedirectToUmbracoResult
|
||||
/// </summary>
|
||||
/// <param name="pageId"></param>
|
||||
/// <param name="queryStringValues"></param>
|
||||
/// <param name="publishedUrlProvider"></param>
|
||||
public RedirectToUmbracoPageResult(Guid key, QueryString queryString, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
|
||||
{
|
||||
_key = key;
|
||||
_queryString = queryString;
|
||||
_publishedUrlProvider = publishedUrlProvider;
|
||||
_umbracoContextAccessor = umbracoContextAccessor;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new RedirectToUmbracoResult
|
||||
/// </summary>
|
||||
/// <param name="publishedContent"></param>
|
||||
/// <param name="publishedUrlProvider"></param>
|
||||
/// <param name="umbracoContextAccessor"></param>
|
||||
public RedirectToUmbracoPageResult(IPublishedContent publishedContent, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
|
||||
{
|
||||
_publishedContent = publishedContent;
|
||||
_key = publishedContent.Key;
|
||||
_publishedUrlProvider = publishedUrlProvider;
|
||||
_umbracoContextAccessor = umbracoContextAccessor;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new RedirectToUmbracoResult
|
||||
/// </summary>
|
||||
/// <param name="publishedContent"></param>
|
||||
/// <param name="queryString"></param>
|
||||
/// <param name="publishedUrlProvider"></param>
|
||||
/// <param name="umbracoContextAccessor"></param>
|
||||
public RedirectToUmbracoPageResult(IPublishedContent publishedContent, QueryString queryString, IPublishedUrlProvider publishedUrlProvider, IUmbracoContextAccessor umbracoContextAccessor)
|
||||
{
|
||||
_publishedContent = publishedContent;
|
||||
_key = publishedContent.Key;
|
||||
_queryString = queryString;
|
||||
_publishedUrlProvider = publishedUrlProvider;
|
||||
_umbracoContextAccessor = umbracoContextAccessor;
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public Task ExecuteResultAsync(ActionContext context)
|
||||
{
|
||||
if (context is null) throw new ArgumentNullException(nameof(context));
|
||||
if (context is null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(context));
|
||||
}
|
||||
|
||||
var httpContext = context.HttpContext;
|
||||
var ioHelper = httpContext.RequestServices.GetRequiredService<IIOHelper>();
|
||||
|
||||
Reference in New Issue
Block a user