Exemple #1
0
        /// <summary>
        /// Update ConfigSetting
        /// </summary>
        public BaseResponse UpdateConfigValue(ConfigValue configSetting)
        {
            if (configSetting.Id == default(int))
            {
                return(ErrorCode.ConfigurationSettingNotFound);
            }

            ConfigValue oldSetting = Uow.ConfigValues.GetById(configSetting.Id);

            if (oldSetting == null)
            {
                return(ErrorCode.ConfigurationSettingNotFound);
            }

            if (configSetting.SettingTypeString != oldSetting.ValueString)
            {
                return(ErrorCode.ConfigurationForbiddenToModify);
            }

            object result;

            if (!configSetting.TryGetValue(out result))
            {
                return(ErrorCode.ConfigurationSettingDeserializationError);
            }

            oldSetting.Description = configSetting.Description;
            oldSetting.ModifiedBy  = configSetting.ModifiedBy;
            oldSetting.ValueString = configSetting.ValueString;

            Uow.ConfigValues.Update(oldSetting);
            Uow.Commit();

            return(BaseResponse.Success());
        }
Exemple #2
0
        /// <summary>
        /// Update ConfigSection without deletes
        /// </summary>
        public BaseResponse UpdateConfigDirectory(ConfigDirectory configSection)
        {
            EntityResponse <IQueryable <ConfigDirectory> > response = GetConfigDirectoryById(configSection.Id);

            if (!response.IsSuccess)
            {
                return(response.ErrorCode);
            }

            if (response.Entity.Count() > 1)
            {
                // Clients are not available to modify root configSection
                return(ErrorCode.ConfigurationForbiddenToModify);
            }

            ConfigDirectory oldConfigSection = response.Entity.Single();

            oldConfigSection.Description = configSection.Description;
            oldConfigSection.ModifiedBy  = configSection.ModifiedBy;

            foreach (ConfigValue oldSetting in oldConfigSection.ChildValues)
            {
                ConfigValue newSetting = configSection.ChildValues.SingleOrDefault(s => oldSetting.Id.Equals(s.Id));
                if (newSetting == null)
                {
                    // Clients are not available to remove settings
                    return(ErrorCode.ConfigurationForbiddenToModify);
                }

                object result;
                if (!newSetting.TryGetValue(out result))
                {
                    return(ErrorCode.ConfigurationSettingDeserializationError);
                }

                oldSetting.ValueString = newSetting.ValueString;
                oldSetting.Description = newSetting.Description;
                oldSetting.ModifiedBy  = newSetting.ModifiedBy;
            }

            Uow.ConfigDirectories.Update(oldConfigSection);
            Uow.Commit();

            return(BaseResponse.Success());
        }