protected void SetTenantConfig()

in App/src/Events-TenantUserApp/Controllers/BaseController.cs [48:92]


        protected void SetTenantConfig(int tenantId, string tenantIdInString)
        {
            var host = HttpContext.Request.Host.ToString();

            var tenantConfig = PopulateTenantConfigs(tenantId, tenantIdInString, host);

            if (tenantConfig != null)
            {
                var tenantConfigs = HttpContext.Session.GetObjectFromJson<List<TenantConfig>>("TenantConfigs");
                if (tenantConfigs == null)
                {
                    tenantConfigs = new List<TenantConfig>
                    {
                        tenantConfig
                    };
                    HttpContext.Session.SetObjectAsJson("TenantConfigs", tenantConfigs);
                }
                else
                {
                    var tenantsInfo = tenantConfigs.Where(i => i.TenantId == tenantId);

                    if (!tenantsInfo.Any())
                    {
                        tenantConfigs.Add(tenantConfig);
                        HttpContext.Session.SetObjectAsJson("TenantConfigs", tenantConfigs);
                    }
                    else
                    {
                        for (var i = 0; i < tenantConfigs.Count; i++)
                        {
                            if (tenantConfigs[i].TenantId == tenantId)
                            {
                                tenantConfigs[i] = tenantConfig;
                                HttpContext.Session.SetObjectAsJson("TenantConfigs", tenantConfigs);
                                break;
                            }
                        }
                    }
                }

                //localisation per venue's language
                Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(tenantConfig.TenantCulture);
                Thread.CurrentThread.CurrentUICulture = new CultureInfo(tenantConfig.TenantCulture);
            }
        }