private void StopEditTransaction(object sender, EventArgs e) { // Create a dialog to prompt the user to commit or rollback AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this); // Create the layout LinearLayout dialogLayout = new LinearLayout(this) { Orientation = Orientation.Vertical }; // Create a button to commit edits Button commitButton = new Button(this) { Text = "Commit" }; // Handle the click event for the Commit button commitButton.Click += (s, args) => { // See if there is a transaction active for the geodatabase if (_localGeodatabase.IsInTransaction) { // If there is, commit the transaction to store the edits (this will also end the transaction) _localGeodatabase.CommitTransaction(); _messageTextBlock.Text = "Edits were committed to the local geodatabase."; } _stopEditDialog.Dismiss(); }; // Create a button to rollback edits Button rollbackButton = new Button(this) { Text = "Rollback" }; // Handle the click event for the Rollback button rollbackButton.Click += (s, args) => { // See if there is a transaction active for the geodatabase if (_localGeodatabase.IsInTransaction) { // If there is, rollback the transaction to discard the edits (this will also end the transaction) _localGeodatabase.RollbackTransaction(); _messageTextBlock.Text = "Edits were rolled back and not stored to the local geodatabase."; } _stopEditDialog.Dismiss(); }; // Create a button to cancel and return to the transaction Button cancelButton = new Button(this) { Text = "Cancel" }; // Handle the click event for the Cancel button rollbackButton.Click += (s, args) => _stopEditDialog.Dismiss(); // Add the controls to the dialog dialogLayout.AddView(cancelButton); dialogLayout.AddView(rollbackButton); dialogLayout.AddView(commitButton); dialogBuilder.SetView(dialogLayout); dialogBuilder.SetTitle("Stop Editing"); // Show the dialog _stopEditDialog = dialogBuilder.Show(); }