예제 #1
0
        public async Task <ConfigurationSettingDto> GetAsync(string id)
        {
            var configSetting = await GetConfigurationSettingAsync(id);

            if (configSetting == null)
            {
                return(null);
            }

            ConfigurationSettingDto configurationSettingDto = new ConfigurationSettingDto()
            {
                Id            = configSetting.Id,
                ETag          = configSetting.ETag,
                GroupId       = configSetting.GroupId,
                Culture       = configSetting.Culture,
                Section       = configSetting.Section,
                Key           = configSetting.Key,
                Remark        = configSetting.Remark,
                IncludeInPod  = configSetting.IncludeInPod,
                Priority      = configSetting.Priority,
                Value         = configSetting.Value,
                UpdatedOnUtc  = configSetting.UpdatedOnUtc,
                UpdatedById   = configSetting.UpdatedById,
                UpdatedByName = configSetting.UpdatedByName
            };

            return(configurationSettingDto);
        }
예제 #2
0
        private async Task ValidateConfigurationSettingAsync(ConfigurationSettingDto configuration)
        {
            if (string.IsNullOrEmpty(configuration.Section))
            {
                throw new YawnMassageException("ERR_SECTION_CANNOT_BE_NULL");
            }

            if (string.IsNullOrEmpty(configuration.Culture))
            {
                throw new YawnMassageException("ERR_CULTURE_CANNOT_BE_NULL");
            }

            if (string.IsNullOrEmpty(configuration.Value))
            {
                throw new YawnMassageException("ERR_VALUE_CANNOT_BE_NULL");
            }

            if (string.IsNullOrEmpty(configuration.Key))
            {
                throw new YawnMassageException("ERR_KEY_CANNOT_BE_NULL");
            }

            var exists = await _dataContext.AnyAsync <ConfigurationSetting>(q => q.Where(d =>
                                                                                         d.Key == configuration.Key &&
                                                                                         d.GroupId == configuration.GroupId &&
                                                                                         d.Culture == configuration.Culture &&
                                                                                         d.Section == configuration.Section &&
                                                                                         (configuration.Id == null || d.Id != configuration.Id)));

            if (exists)
            {
                throw new DocumentDuplicateException();
            }
        }
예제 #3
0
        public async Task <DocumentUpdateResultDto> UpdateAsync(ConfigurationSettingDto configurationSettingDto)
        {
            await ValidateConfigurationSettingAsync(configurationSettingDto);

            var configuration = await GetConfigurationSettingAsync(configurationSettingDto.Id);

            AssignConfigurationDtoToEntity(configuration, configurationSettingDto);
            return(await _dataContext.ReplaceDocumentAsync(configuration));
        }
예제 #4
0
        public async Task <DocumentUpdateResultDto> CreateAsync(ConfigurationSettingDto configurationSettingDto)
        {
            await ValidateConfigurationSettingAsync(configurationSettingDto);

            ConfigurationSetting configurationSetting = new ConfigurationSetting();

            AssignConfigurationDtoToEntity(configurationSetting, configurationSettingDto);
            return(await _dataContext.CreateDocumentAsync(configurationSetting));
        }
예제 #5
0
 private void AssignConfigurationDtoToEntity(ConfigurationSetting configurationSetting, ConfigurationSettingDto configurationSettingDto)
 {
     configurationSetting.Section      = configurationSettingDto.Section;
     configurationSetting.Culture      = configurationSettingDto.Culture;
     configurationSetting.Key          = configurationSettingDto.Key;
     configurationSetting.IncludeInPod = configurationSettingDto.IncludeInPod;
     configurationSetting.Value        = configurationSettingDto.Value;
     configurationSetting.Remark       = configurationSettingDto.Remark;
     configurationSetting.Priority     = ConfigurationHelper.GetConfigurationPriority(configurationSettingDto.GroupId, configurationSettingDto.Culture, configurationSettingDto.Section);
     if (!string.IsNullOrEmpty(configurationSetting.Id))
     {
         configurationSetting.ETag = configurationSettingDto.ETag;
     }
 }
 public async Task <DocumentUpdateResultDto> Post([FromBody] ConfigurationSettingDto configurationSettingDto)
 {
     return(await _configurationManagementService.CreateAsync(configurationSettingDto));
 }