コード例 #1
0
        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;
            }
        }
コード例 #2
0
 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;
     }
 }
コード例 #3
0
        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;
            }
        }
コード例 #4
0
        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;
            }
        }