public async Task <ModelAction> SaveSettings(AppSettingsInput model, IDictionary <string, object> fields = null) { var entity = await FirstOrDefaultAsync(e => true); entity = entity ?? _defaultSettings; if (model != null) { entity.InjectFrom(model); } else { entity.InjectFrom(new DictionaryInjection(new[] { "Id" }), fields); } var action = ModelAction.Create; if (entity.Id == 0) { Repository.Insert(entity, true); } else { Repository.Update(entity, true); action = ModelAction.Update; } return(action); }
private async Task <IHttpActionResult> AddOrUpdate(AppSettingsInput model, IDictionary <string, object> fields = null) { if (model == null && fields == null) { return(BadRequest()); } var action = await _appSettingsService.SaveSettings(model); return(Ok(action, EventStatus.Success)); }
public async Task <IHttpActionResult> Put(AppSettingsInput model) { return(await AddOrUpdate(model)); }