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
<SPAN class="keyword token">if</SPAN> <SPAN class="punctuation token">(</SPAN>pmi<SPAN class="punctuation token">.</SPAN>HasShapeChanged <SPAN class="operator token">&&</SPAN> <SPAN class="operator token">!</SPAN>canChange<SPAN class="punctuation token">)</SPAN> <SPAN class="comment token">//Locked Area Rollback</SPAN>
<SPAN class="punctuation token">{</SPAN>
<SPAN class="comment token">// CANCEL the Change to the currently selected</SPAN>
ArcGIS<SPAN class="punctuation token">.</SPAN>Desktop<SPAN class="punctuation token">.</SPAN>Framework<SPAN class="punctuation token">.</SPAN>Dialogs<SPAN class="punctuation token">.</SPAN>MessageBox<SPAN class="punctuation token">.</SPAN><SPAN class="token function">Show</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="string token">"Changes Not Allowed to Area Verified Field!"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"Area Verified"</SPAN><SPAN class="punctuation token">,</SPAN> MessageBoxButton<SPAN class="punctuation token">.</SPAN>OK<SPAN class="punctuation token">,</SPAN> MessageBoxImage<SPAN class="punctuation token">.</SPAN>Exclamation<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="comment token">//CANCEL the Change works for edit vertices</SPAN>
args<SPAN class="punctuation token">.</SPAN><SPAN class="token function">CancelEdit</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">=</SPAN><SPAN class="operator token">></SPAN> Task<SPAN class="punctuation token">.</SPAN><SPAN class="token function">FromResult</SPAN><SPAN class="punctuation token">(</SPAN><SPAN class="keyword token">false</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">;</SPAN>
<SPAN class="punctuation token">}</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>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?