/// <summary> /// Adds or updates the given model in the database /// depending on its state. /// </summary> /// <param name="model">The model</param> public void Save(Models.SiteType model) { var type = _db.SiteTypes .FirstOrDefault(t => t.Id == model.Id); if (type == null) { type = new Data.SiteType { Id = model.Id, Created = DateTime.Now }; _db.SiteTypes.Add(type); } type.CLRType = model.CLRType; type.Body = JsonConvert.SerializeObject(model); type.LastModified = DateTime.Now; _db.SaveChanges(); lock (_typesMutex) { Load(); } }
/// <summary> /// Adds or updates the given model in the database /// depending on its state. /// </summary> /// <param name="model">The model</param> public async Task Save(SiteType model) { var type = await _db.SiteTypes .FirstOrDefaultAsync(t => t.Id == model.Id) .ConfigureAwait(false); if (type == null) { type = new Data.SiteType { Id = model.Id, Created = DateTime.Now }; await _db.SiteTypes.AddAsync(type).ConfigureAwait(false); } type.CLRType = model.CLRType; type.Body = JsonConvert.SerializeObject(model); type.LastModified = DateTime.Now; await _db.SaveChangesAsync().ConfigureAwait(false); }