public async Task <IActionResult> UpdateApplicationSetting([FromBody] ApplicationSettingDto applicationSettingDto) { ApplicationSetting applicationSetting = await applicationSettingRepository.GetApplicationSetting(applicationSettingDto.Id); if (applicationSetting == null) { return(StatusCode(StatusCodes.Status500InternalServerError, $"ApplicationSetting id == {applicationSettingDto.Id}. Not found!")); } if (applicationSetting.ApplicationId != applicationSettingDto.ApplicationId && applicationSetting.SettingId != applicationSettingDto.SettingId) { if (await applicationSettingRepository.GetApplicationSetting(applicationSettingDto.ApplicationId, applicationSettingDto.SettingId) != null) { Application application = await applicationRepository.GetApplication(applicationSettingDto.ApplicationId); Setting setting = await settingRepository.GetSetting(applicationSettingDto.SettingId); return(StatusCode(StatusCodes.Status500InternalServerError, $"ApplicationSetting with this Application == {application.Name} and" + $" Setting == {setting.Name} already exists")); } } applicationSetting.SetSettingId(applicationSettingDto.SettingId); applicationSetting.SetApplicationId(applicationSettingDto.ApplicationId); applicationSetting.SetDefaultValue(applicationSettingDto.DefaultValue); await applicationSettingRepository.Update(applicationSetting); await unitOfWork.SaveEntitiesAsync(); return(Ok()); }
public async Task UpdateApplicationSettings(Dictionary <string, string> applicationSettings, CancellationToken cancellationToken = default) { cancellationToken.ThrowIfCancellationRequested(); foreach (var applicationSetting in applicationSettings) { var spec = new ApplicationSettingFilterSpecification(applicationSetting.Key); var result = await _applicationSettingRepository.GetSingleBySpec(spec); result.Value = applicationSetting.Value; await _applicationSettingRepository.Update(result, cancellationToken); } }