public override void Delete() { try { // To.CurrentModel = View.CurrentModel; // var position = View.CurrentPosition; // TODO: Verificar se eu preciso mesmo desse if if (View.CurrentList.Count <= 1) { // if (View.CurrentModel != null) // To.CurrentModel = View.CurrentModel; // TODO: Verificar se eu preciso mesmo desse if if (View.CurrentPosition > -1) { var bindableList = View.BindableList ?? new SortableBindingList <Category>(To.List); if (View.SortInfo.SortOrder != PropertySortOrder.None) { bindableList.Sort(View.SortInfo); } To.CurrentModel = bindableList[View.CurrentPosition]; } else { HelperFactory.MessageHelper.ShowMessageError("Error", "No item was selected to delete"); } if (HelperFactory.MessageHelper.ShowMessageConfirm("Alert", "Do you really want to delete the item?")) { Bo.Delete(); FindAllDataBind(); HelperFactory.MessageHelper.ShowMessage("Success", "Item deleted"); } // View.CurrentPosition = position < View.BindableList.Count ? position : View.BindableList.Count - 1; } else { HelperFactory.MessageHelper.ShowMessageError("Error", "Please select only one item to delete"); } } catch (Exception ex) { HelperFactory.MessageHelper.ShowMessageError("Error", "Error trying to delete item", ex); } finally { Clear(); } }