public void SaveChanges(string filePath) { using (var file = File.Create(filePath)) Serializer.Serialize(file, new CommentConfigDTO(this)); ChangesSaved?.Invoke(this, EventArgs.Empty); }
public override async Task <int> SaveChangesAsync(CancellationToken cancellationToken = default) { SavingChanges?.Invoke(_eventHandlerProcessing); await _eventHandlerProcessing.WaitAsync(); var saveChangesResult = await trySaveChangesAsync(); ChangesSaved?.Invoke(saveChangesResult, _eventHandlerProcessing); await _eventHandlerProcessing.WaitAsync(); return(saveChangesResult.IsSuccessful ? saveChangesResult.RowsUpdated : throw saveChangesResult.Exception); ////////////////////////////////////////// async Task <SaveChangesResult> trySaveChangesAsync() { SaveChangesResult result = null; try { var rowsUpdated = await base.SaveChangesAsync(cancellationToken); result = new SaveChangesResult(rowsUpdated); } catch (Exception ex) { result = new SaveChangesResult(ex); } return(result); } }
public void RaiseSaveEvent(bool changesSaved) { PostSave(changesSaved); ChangesSaved?.Invoke(this, new ChangesSaveEventArgs() { ChangesSaved = changesSaved }); }
public async Task SaveChangesAsync() { SavingChanges?.Invoke(this, new SaveEventArgs { TrackedItems = _trackedEntities.Values }); try { var deleted = new List <GraphDataEntity>(); foreach (var graphDataEntity in from i in _trackedEntities where i.Value.IsDirty select i) { await _connector.ExecuteAsync(graphDataEntity.Value.GetUpdateStatement()); foreach (var edges in graphDataEntity.Value.GetEdges()) { await edges.SaveChangesAsync(); } if (graphDataEntity.Value.IsDeleted) { deleted.Add(graphDataEntity.Value); } } foreach (var graphDataEntity in from i in _trackedEntities where i.Value.IsDirty select i) { foreach (var edges in graphDataEntity.Value.GetEdges()) { await edges.SaveChangesAsync(); } if (graphDataEntity.Value.IsDeleted) { deleted.Add(graphDataEntity.Value); } } foreach (var graphDataEntity in deleted) { _trackedEntities.TryRemove(graphDataEntity._entityKey, out var d); } foreach (var graphDataEntity in _trackedEntities) { graphDataEntity.Value.Reset(false); } } catch (Exception ex) { SaveChangesError?.Invoke(this, new SaveEventArgs { TrackedItems = _trackedEntities.Values, Error = ex }); } ChangesSaved?.Invoke(this, new SaveEventArgs { TrackedItems = _trackedEntities.Values }); }
private void RaiseChangesSaved(List <OneEntityChanging> changes) { ChangesSaved?.Invoke(this, new SaveChangesEventArgs(changes)); }
/// <summary>Raises the<see /// cref="E:MyBlogLister.BusinessLayer.BusinessLayer.BloggingServiceBase.ChangesSaved" /> /// event.</summary> /// <param name="rowsAffected">(Required.) Integer that specifies the total number of rows affected by the Save operation.</param> protected virtual void OnChangesSaved(int rowsAffected) => ChangesSaved?.Invoke(rowsAffected);