public void Delete(TModel model) { var models = (IList <TModel>)_database.Database[typeof(TModel)]; if (model != null) { var deletedModel = Search(m => m.Id == model.Id); if (models.Remove(deletedModel)) { _logger.Log(DataMessage.Delete(model)); } _database.SaveData <TModel>(); _cache.ThredSafeWorkWithCache(_cache.RemoveFromCache, model); } }
public void Update(TModel newModel) { var models = (IList <TModel>)_database.Database[typeof(TModel)]; if (newModel != null) { var updatedModel = Search(m => m.Id == newModel.Id); var index = models.IndexOf(updatedModel); if (index > -1) { models.RemoveAt(index); models.Insert(index, newModel); _logger.Log(DataMessage.Update(updatedModel, newModel)); _database.SaveData <TModel>(); _cache.ThredSafeWorkWithCache(_cache.SetToCache, newModel); } } }