public async Task DeleteSettingAsync(string id) { try { using (var context = new SettingsContext(this.ConnectionString)) { long dbId; if (long.TryParse(id, out dbId)) { SettingEF settingToDelete = await context.Settings.Where(s => s.DbId == dbId) .FirstOrDefaultAsync() .ConfigureAwait(false); if (settingToDelete != null) { context.Settings.Remove(settingToDelete); await context.SaveChangesAsync().ConfigureAwait(false); } } } } catch (Exception exp) { logger.Warn(string.Format("Error while deleting setting with id {0} from EF", id), exp); throw; } }
public async Task AddSettingAsync(Setting setting) { try { using (var context = new SettingsContext(this.ConnectionString)) { SettingEF settingToAdd = StoredSettingMapper.Map <SettingEF>(setting); settingToAdd.Created = settingToAdd.Updated = DateTimeOffset.UtcNow; context.Settings.Add(settingToAdd); await context.SaveChangesAsync().ConfigureAwait(false); } } catch (Exception exp) { logger.Warn(string.Format("Error adding setting {0} to EF", Newtonsoft.Json.JsonConvert.SerializeObject(setting)), exp); throw; } }
public async Task <Setting> GetSettingAsync(string id) { try { using (var context = new SettingsContext(this.ConnectionString)) { long lId; if (long.TryParse(id, out lId)) { SettingEF result = await context.Settings.FirstOrDefaultAsync(s => s.DbId == lId) .ConfigureAwait(false); return(StoredSettingMapper.Map(result)); } return(null); } } catch (Exception exp) { logger.Warn(string.Format("Error getting setting with id {0} from mongo", id), exp); throw; } }
public async Task UpdateSettingAsync(string id, Setting value) { try { using (var context = new SettingsContext(this.ConnectionString)) { SettingEF settingMapped = StoredSettingMapper.Map <SettingEF>(value); SettingEF settingEF = await context.Settings.Where(s => s.Id == id).FirstOrDefaultAsync().ConfigureAwait(false); if (settingEF != null) { settingEF.JSONValue = settingMapped.JSONValue; settingEF.Documentation = settingMapped.Documentation; settingEF.Updated = DateTimeOffset.UtcNow; await context.SaveChangesAsync().ConfigureAwait(false); } } } catch (Exception exp) { logger.Warn(string.Format("Error while updating setting {0} in EF", Newtonsoft.Json.JsonConvert.SerializeObject(value)), exp); throw; } }