/// <summary> /// Get settings for Areas using Stored Procedure /// </summary> /// <param name="environmentId">Identity of Environment</param> /// <returns>Environment Setting Information</returns> private static EnvironmentSettingInformation GetSettingsForUI(int environmentId) { EnvironmentSettingInformation settingInfo = new EnvironmentSettingInformation(); Collection <ApplicationSetting> settings = new Collection <ApplicationSetting>(); //Get SQL Reader for a specific environment using (IDataReader reader = GetReadSettingsReader(environmentId)) { while (reader.Read()) //Read data set of settings information { ApplicationSetting setting = new ApplicationSetting(); setting.Id = APConvert.ToInt(reader[DataConstants.SpGetEnvironmentSettingsAppSettingID]); setting.Key = (APConvert.ToString(reader[DataConstants.SpGetEnvironmentSettingsKey])).Trim(); setting.Value = (APConvert.ToString(reader[DataConstants.SpGetEnvironmentSettingsValue])).Trim(); setting.Area = (APConvert.ToString(reader[DataConstants.SpGetEnvironmentSettingsAreaName])).Trim(); //Area name of the setting setting.IsEnvironmentRelated = APConvert.ToBoolean(reader[DataConstants.SpGetEnvironmentSettingsIsEnvironmentRelated]); //Whether setting is Environment related or not setting.IsReadOnly = APConvert.ToBoolean(reader[DataConstants.SpGetEnvironmentSettingsIsReadOnly]); //Whether setting is Read only or editable settings.Add(setting); } reader.NextResult(); if (reader.Read()) //Get the environment name for the environment id from the databse SP { settingInfo.EnvironmentName = reader[DataConstants.SpGetEnvironmentSettingsEnvironmentName].ToString(); } else { settingInfo.EnvironmentName = string.Empty; } } settingInfo.Settings = settings; return(settingInfo); }
/// <summary> /// Retrieve Areas for specific Environment /// </summary> /// <param name="environmentId">Identity of Environment</param> /// <returns></returns> public ApplicationSettingAreas GetAreas(int environmentId) { ApplicationSettingAreas areas = new ApplicationSettingAreas(); //Get Environment settings with Area names for a specific environment Id EnvironmentSettingInformation EnvironmentInfo = GetSettingsForUI(environmentId); Collection <ApplicationSetting> settings = EnvironmentInfo.Settings; areas.EnvironmentName = EnvironmentInfo.EnvironmentName; //Group the Environment related settings into relavent areas to display in UI areas.EnvironmentalSettingAreas = (from setting in settings where setting.IsEnvironmentRelated == true group setting by setting.Area into area where area.Count() != 0 orderby area.Key select new ApplicationSettingsArea { Name = area.Key, Settings = (from areaSetting in area orderby areaSetting.Key select areaSetting).ToList(), }).ToList(); //Group the Non Environment related settings into relavent areas to display in UI areas.NonEnvironmentalSettingAreas = (from setting in settings where setting.IsEnvironmentRelated == false group setting by setting.Area into area where area.Count() != 0 orderby area.Key select new ApplicationSettingsArea { Name = area.Key, Settings = (from areaSetting in area orderby areaSetting.Key select areaSetting).ToList(), }).ToList(); return(areas); }