private TenantConfig PopulateTenantConfigs()

in App/src/Events-TenantUserApp/Controllers/BaseController.cs [128:182]


        private TenantConfig PopulateTenantConfigs(int tenantId, string tenantIdInString, string host)
        {
            try
            {
                //get blobPath
                var blobPath = _configuration["BlobPath"];
                var defaultCulture = _configuration["DefaultRequestCulture"];

                //get user from url
                string user;
                if (host.Contains("localhost"))
                {
                    user = "testuser";
                }
                else
                {
                    string[] hostpieces = host.Split(new[] { "." }, StringSplitOptions.RemoveEmptyEntries);
                    user = hostpieces[2];
                }

                //get the venue details and populate in config settings
                var venueDetails = (_tenantRepository.GetVenueDetails(tenantId)).Result;
                var venueTypeDetails = (_tenantRepository.GetVenueType(venueDetails.VenueType, tenantId)).Result;
                var countries = (_tenantRepository.GetAllCountries(tenantId)).Result;                           
                var tenantServerName = venueDetails.DatabaseServerName;

                //get country language from db 
                var country = (_tenantRepository.GetCountry(venueDetails.CountryCode, tenantId)).Result;
                RegionInfo regionalInfo = new RegionInfo(country.Language);

                return new TenantConfig
                {
                    DatabaseName = venueDetails.DatabaseName,
                    DatabaseServerName = tenantServerName,
                    VenueName = venueDetails.VenueName,
                    BlobImagePath = blobPath + venueTypeDetails.VenueType + "-user.jpg",
                    EventTypeNamePlural = venueTypeDetails.EventTypeShortNamePlural.ToUpper(),
                    TenantId = tenantId,
                    TenantName = venueDetails.DatabaseName,
                    Currency = regionalInfo.CurrencySymbol,
                    TenantCulture =
                        (!string.IsNullOrEmpty(venueTypeDetails.Language)
                            ? venueTypeDetails.Language
                            : defaultCulture),
                    TenantCountries = countries,
                    TenantIdInString = tenantIdInString,
                    User = user
                };
            }
            catch (Exception exception)
            {
                Trace.TraceError(exception.Message, "Error in populating tenant config.");
            }
            return null;
        }