public string FindRedirect(string source)
{
string redirectDestinationUrl = null;
var useCache = cmsConfiguration.Cache.Enabled;
if (urlService.ValidateInternalUrl(source))
{
source = urlService.FixUrl(source);
}
if (useCache)
{
var redirects = cacheService.Get(cacheKey, cmsConfiguration.Cache.Timeout, () => redirectService.GetAllRedirects());
redirectDestinationUrl = redirects.Where(x => x.PageUrl.Equals(source, StringComparison.InvariantCultureIgnoreCase)).Select(x => x.RedirectUrl).FirstOrDefault();
}
else
{
return redirectService.GetRedirect(source);
}
return redirectDestinationUrl;
}