namespace Core.Common.Utils.Editing { public interface IEditableObject { /// /// True if object is being edited (potentially in invalid state). /// bool IsEditing { get; } /// /// Start editing object with the named action. /// /// void BeginEdit(IEditAction action); /// /// Submit changes to the datasource. /// void EndEdit(); /// /// Revert the changes. /// void CancelEdit(); } }