.NET Core 3.0+
.NET Framework 4.5.2+
.NET Standard 2.0+
.NET Core 3.0+

IObjectSpace.Committing Event

Occurs before saving the persistent objects belonging to the current Object Space to the database.

Namespace: DevExpress.ExpressApp

Assembly: DevExpress.ExpressApp.v20.2.dll

Declaration

event EventHandler<CancelEventArgs> Committing
Event Committing As EventHandler(Of CancelEventArgs)

Event Data

The Committing event's data class is CancelEventArgs. The following properties provide information specific to this event:

Property Description
Cancel Gets or sets a value indicating whether the event should be canceled.

Remarks

The Committing event is raised before committing persistent objects as a result of calling the IObjectSpace.CommitChanges method. Handle this event to prevent saving object changes to the database. For this purpose, set the handler's CancelEventArgs.Cancel parameter to true. By default, this parameter is set to false.

If you implement the IObjectSpace interface in the BaseObjectSpace class' descendant, you should override the BaseObjectSpace.DoCommit method which is called by the BaseObjectSpace.CommitChanges method. In this instance, you won't have to raise the Committing event, since it is raised by the BaseObjectSpace.CommitChanges method.

The following example demonstrates how to prevent any commits to the Payment Detail View.

using System.ComponentModel;
using DevExpress.ExpressApp;

// ...
public class CancelCommitController : ObjectViewController<DetailView, MainDemo.Module.BusinessObjects.Payment> {
    protected override void OnActivated() {
        base.OnActivated();
        View.ObjectSpace.Committing += ObjectSpace_Committing;
    }
    private void ObjectSpace_Committing(object sender, CancelEventArgs e) {
        e.Cancel = true;
    }
    protected override void OnDeactivated() {
        View.ObjectSpace.Committing -= ObjectSpace_Committing;
    }
}
See Also