예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }