public async Task <bool> SaveSocialProfileSettings(SocialProfileSettings settings) { var socialSettings = JsonConvert.SerializeObject(settings); var existingSettings = await FindSocialProfileSettings(); if (existingSettings == null) { using (var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { try { var data = new Settings { SettingKey = SettingKey.Social, Value = socialSettings }; await _unitOfWork.Repository <Settings>().AddAsync(data); transaction.Complete(); } catch (Exception) { _unitOfWork.Rollback(); return(false); } } } else { using (var transaction = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled)) { try { existingSettings.Value = socialSettings; await _unitOfWork.Repository <Settings>().UpdateAsync(existingSettings); transaction.Complete(); } catch (Exception) { _unitOfWork.Rollback(); return(false); } } } return(true); }
public async Task <IActionResult> SaveSocialSettings([FromBody] SocialProfileSettings socialProfileSettings) { var result = await _settingsRepository.SaveSocialProfileSettings(socialProfileSettings); return(Ok(result)); }