/// <summary> /// CTOR finally called by injection CTOR. Good to be used instantiating with DI. /// </summary> /// <param name="organizationKey"></param> /// <param name="organizationContextResolver"></param> /// <param name="siteList"></param> public SiteContext(string organizationKey, OrganizationContextResolver organizationContextResolver, SiteList siteList) { SiteList = siteList; OrganizationContextResolver = organizationContextResolver; // copies the resolved OrganizationContext properties to this siteContext Resolve(this, organizationKey); }
private SiteContext Resolve(SiteContext siteContext, string organizationKey) { var siteSettings = SiteList.FirstOrDefault(sl => sl.OrganizationKey == (organizationKey ?? string.Empty)); if (siteSettings == null) { return(null); } OrganizationContextResolver.CopyContextTo(siteContext, organizationKey); // shallow-copy all OrganizationContext properties siteContext.HostName = siteSettings.HostName; siteContext.UrlSegmentValue = siteSettings.UrlSegmentValue; siteContext.FolderName = siteSettings.FolderName; siteContext.IdentityCookieName = siteSettings.IdentityCookieName; siteContext.SessionName = siteSettings.SessionName; siteContext.HideInMenu = siteSettings.HideInMenu; return(siteContext); }
/// <summary> /// Mainly helper CTOR called by injection CTOR. /// </summary> /// <param name="httpContext"></param> /// <param name="organizationContextResolver"></param> /// <param name="siteList"></param> public SiteContext(HttpContext httpContext, OrganizationContextResolver organizationContextResolver, SiteList siteList) : this(ResolveOrganizationKey(httpContext, siteList), organizationContextResolver, siteList) { SetMostRecentOrganizationCookie(httpContext, base.OrganizationKey); }
/// <summary> /// CTOR for dependency injection. /// </summary> /// <param name="httpContextAccessor"></param> /// <param name="organizationContextResolver"></param> /// <param name="siteList"></param> public SiteContext(IHttpContextAccessor httpContextAccessor, OrganizationContextResolver organizationContextResolver, SiteList siteList) : this(httpContextAccessor?.HttpContext, organizationContextResolver, siteList) { }
public OrganizationRouteConstraint(OrganizationContextResolver organizationContextResolver, SiteList siteList) { _organizationContextResolver = organizationContextResolver; _siteList = siteList; }