public async Task <IActionResult> Add([FromBody] SettingsPresetDto settingsPresetDto) { SettingsPreset settingPreset = new SettingsPreset(settingsPresetDto.Name); foreach (var billingSettingPresetDto in settingsPresetDto.BillingSettingPresets) { SettingPresetValue settingPresetValue = new SettingPresetValue( billingSettingPresetDto.Value.DefaultValue, billingSettingPresetDto.Value.MinValue, billingSettingPresetDto.Value.MaxValue ); BillingSettingPreset billingSettingPreset = new BillingSettingPreset( billingSettingPresetDto.SettingsPresetId, billingSettingPresetDto.BillingSettingId, settingPresetValue, billingSettingPresetDto.IsRequired, billingSettingPresetDto.IsReadOnly, billingSettingPresetDto.IsHidden ); settingPreset.AddBillingSettingPreset(billingSettingPreset); } foreach (var ApplicationSettingPresetDto in settingsPresetDto.ApplicationSettingPresets) { SettingPresetValue settingPresetValue = new SettingPresetValue( ApplicationSettingPresetDto.Value.DefaultValue, ApplicationSettingPresetDto.Value.MinValue, ApplicationSettingPresetDto.Value.MaxValue ); ApplicationSettingPreset applicationSettingPreset = new ApplicationSettingPreset( ApplicationSettingPresetDto.SettingsPresetId, ApplicationSettingPresetDto.ApplicationSettingId, settingPresetValue, ApplicationSettingPresetDto.IsRequired, ApplicationSettingPresetDto.IsReadOnly, ApplicationSettingPresetDto.IsHidden ); settingPreset.AddApplicationSettingPreset(applicationSettingPreset); } await settingsPresetRepository.Add(settingPreset); await unitOfWork.SaveEntitiesAsync(); return(Ok()); }
public async Task <IActionResult> Update([FromBody] SettingsPresetDto settingsPresetDto) { SettingsPreset settingsPreset = await settingsPresetRepository.GetSettingsPreset(settingsPresetDto.Id); settingsPreset.SetName(settingsPresetDto.Name); settingsPreset.RemoveApplicationSettingsPresets(settingsPresetDto.ApplicationSettingPresets.Select(x => x.ApplicationSettingId).ToList()); settingsPreset.RemoveBillingSettingPresets(settingsPresetDto.BillingSettingPresets.Select(x => x.BillingSettingId).ToList()); foreach (var item in settingsPresetDto.ApplicationSettingPresets) { SettingPresetValue settingPresetValue = new SettingPresetValue( item.Value.DefaultValue, item.Value.MinValue, item.Value.MaxValue ); ApplicationSettingPreset applicationSettingPreset = new ApplicationSettingPreset( item.SettingsPresetId, item.ApplicationSettingId, settingPresetValue, item.IsRequired, item.IsReadOnly, item.IsHidden ); if (settingsPreset.ApplicationSettingPresets.Select(x => x.ApplicationSettingId).Contains(item.ApplicationSettingId)) { settingsPreset.ChangeApplicationSetting(applicationSettingPreset); } else { settingsPreset.AddApplicationSettingPreset(applicationSettingPreset); } } foreach (var item in settingsPresetDto.BillingSettingPresets) { SettingPresetValue settingPresetValue = new SettingPresetValue( item.Value.DefaultValue, item.Value.MinValue, item.Value.MaxValue ); BillingSettingPreset billingSettingPreset = new BillingSettingPreset( item.SettingsPresetId, item.BillingSettingId, settingPresetValue, item.IsRequired, item.IsReadOnly, item.IsHidden ); if (settingsPreset.BillingSettingPresets.Select(x => x.BillingSettingId).Contains(item.BillingSettingId)) { settingsPreset.ChangeBillingSettingPreset(billingSettingPreset); } else { settingsPreset.AddBillingSettingPreset(billingSettingPreset); } } await settingsPresetRepository.Update(settingsPreset); await unitOfWork.SaveEntitiesAsync(); return(Ok()); }