I need to prevent my users from Reshaping my polygons if that polygon has been approved/verified by the field managers. So I need to catch and rollback(canceledit()) those shape changes in the RowChangeEvent of the Module. This works for catching vertices changes and the following is able to rollback that change
if (pmi.HasShapeChanged && !canChange) //Locked Area Rollback
// CANCEL the Change to the currently selected
ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("Changes Not Allowed to Area Verified Field!", "Area Verified", MessageBoxButton.OK, MessageBoxImage.Exclamation);
//CANCEL the Change works for edit vertices
args.CancelEdit(() => Task.FromResult(false));
The problem now, is that I discovered that when the Rotate/Scale/Move modify tools are used, args.CancelEdit doesn't roll back/cancel the change like it does for the edit vertices. I am using a feature service and need to continue to roll back any shape changes on my verified geometries. Is this a bug in that the arg when created with the Rotate/Scale/Move doesn't have the original geometry to rollback to like it does for edit vertices?
I am now able to determine when a user does use the Rotate/Scale/Move tools, but I need to prevent or rollback the user changes from these tools. These would be devastating to my feature service and my values that hook into other systems.