public virtual Task <int> SaveChangesAsync(CancellationToken cancellationToken = new CancellationToken()) { var isContinue = true; if (FunctionsBeforeSaveChanges?.Get()?.Any() == true) { foreach (var funcModel in FunctionsBeforeSaveChanges.Get()) { var tempContinue = funcModel?.Func?.Invoke(DbContext.ChangeTracker.Entries()) ?? true; if (!tempContinue) { isContinue = false; } } } var entityStatesModel = SplitEntity(); var result = isContinue ? DbContext.SaveChangesAsync(cancellationToken) : default; if (!isContinue || ActionsAfterSaveChanges?.Get()?.Any() != true) { return(result); } foreach (var actionModel in ActionsAfterSaveChanges.Get()) { actionModel?.Action?.Invoke(entityStatesModel); } return(result); }
public virtual int SaveChanges(bool acceptAllChangesOnSuccess) { var isContinue = true; if (FunctionsBeforeSaveChanges?.Get()?.Any() == true) { foreach (var funcModel in FunctionsBeforeSaveChanges.Get()) { var tempContinue = funcModel?.Func?.Invoke(DbContext.ChangeTracker.Entries()) ?? true; if (!tempContinue) { isContinue = false; } } } var entityStatesModel = SplitEntity(); var result = isContinue ? DbContext.SaveChanges(acceptAllChangesOnSuccess) : default; if (!isContinue || ActionsAfterSaveChanges?.Get()?.Any() != true) { return(result); } foreach (var actionModel in ActionsAfterSaveChanges.Get()) { actionModel?.Action?.Invoke(entityStatesModel); } return(result); }