private static IDictionary <string, string> GetDomainDatas(Implementation.Domain domain1) { var domainRegex1 = CreateRegexDomain(domain1.Path); var domainMatch1 = domainRegex1.Match(domain1.Path.Replace("{", "").Replace("}", "")); IDictionary <string, string> data1 = new Dictionary <string, string>(); GetDatas(data1, domainRegex1, domainMatch1); return(data1); }
/// <summary> /// Récupère le chemin associé au domaine /// </summary> /// <param name="url"></param> /// <param name="domain"></param> /// <param name="domainDatas"> </param> /// <returns></returns> private static string GetRoutePath(string url, Implementation.Domain domain, Dictionary <string, string> domainDatas) { var routePath = GetPath(url, domainDatas); var domainPath = string.Empty; if (!string.IsNullOrEmpty(domain.Path)) { domainPath = GetPath(domain.Path, domainDatas); } if (!string.IsNullOrEmpty(routePath)) { routePath = routePath.ReplaceIgnoreCase(domainPath, string.Empty).TrimStart('/'); } return(routePath); }
private async Task <bool> IsHomePage(Implementation.Domain domain, IDictionary <string, string> domainDatas, IDictionary <string, string> routeDatas) { var siteId = string.Empty; if (!string.IsNullOrEmpty(domain.SiteId)) { siteId = domain.SiteId; } else if (domainDatas.Count > 0) { siteId = await _routeProvider.GetSiteIdAsync(domainDatas, domain.DomainMasterId); } if (string.IsNullOrEmpty(siteId)) { return(false); } return(await IsHomePage(siteId, routeDatas)); }
/// <summary> /// Récupère un domaine du même type si {culture} présent dans le domain 1 il faut que {culture} soit présent dans le /// domain 2 /// </summary> /// <param name="domain1"></param> /// <param name="domainDatas"> </param> /// <param name="domain2"></param> /// <returns></returns> private static bool IsSameDomainType(IDictionary <string, string> domainDatas, Implementation.Domain domain2) { var data2 = GetDomainDatas(domain2); foreach (var key in data2.Keys) { if (!domainDatas.ContainsKey(key)) { return(false); } if (domain2.ExcludedDomainData != null && domain2.ExcludedDomainData.ContainsKey(key) && domain2.ExcludedDomainData[key] == domainDatas[key]) { return(false); } } return(true); }