protected override void OnDelete(Entity item, out string message, ref Action <Entity> afterConfirm) { if (afterConfirm == null) { throw new ArgumentNullException(nameof(afterConfirm)); } message = ((Position)item).Description; afterConfirm = currentItem => { try { var deletedItem = (Position)currentItem; deletedItem.RowStatus = RecordStatus.DeletedRecord; //Save to the Database var dataWriter = new PositionDataWriter(App.CurrentUser.User.Username, deletedItem); dataWriter.SaveChanges(); App.LogAction("Payroll Position", "Deleted Position: " + deletedItem.Description); ItemDataCollection.Remove((Position)currentItem); } catch (Exception ex) { MessageDialog.ShowError(ex, this); } }; }