public override int SaveChanges() { var entities = ChangeTracker.Entries() .Where(t => t.Entity is IEntity && !t.State.Exists(EntityState.Detached, EntityState.Unchanged)) .ToList(); entities .ForEach(dbEntry => { var baseEntity = (IEntity)dbEntry.Entity; if (dbEntry.State == EntityState.Added) { baseEntity.CreatedDate = systemContext.DateTimeNow; baseEntity.CreatedBy = systemContext.UserName; } baseEntity.LastModifiedDate = systemContext.DateTimeNow; baseEntity.LastModifiedBy = systemContext.UserName; }); int recordsAffected = base.SaveChanges(); OnSaveChanges?.Invoke(recordsAffected, entities); return(recordsAffected); }
public int SaveChanges() { // Could also be before try if you know the exception occurs in SaveChanges var changes = _dataContext.SaveChanges(); //Fire the event - notifying all subscribers OnSaveChanges?.Invoke(this, null); return(changes); }
public static void SaveChanges() { if (collection == null) { return; } OnSaveChanges?.Invoke(); string libraryPath = UserConfig.GetValue(CONFIG_FILE, "libary_path", defaultPath); JsonSerializerSettings settings = new JsonSerializerSettings(); settings.NullValueHandling = NullValueHandling.Ignore; settings.ContractResolver = new CamelCasePropertyNamesContractResolver(); string json = JsonConvert.SerializeObject(collection, Formatting.Indented, settings); File.WriteAllText(libraryPath, json); UserConfig.SetValue(CONFIG_FILE, "recent", recent.ToArray()); }
public override Task <int> SaveChangesAsync(bool acceptAllChangesOnSuccess, CancellationToken cancellationToken = default(CancellationToken)) { UpdateConcurrencyStamps(); OnSaveChanges?.Invoke(this, null); return(base.SaveChangesAsync(acceptAllChangesOnSuccess, cancellationToken)); }