private void PopupMenu_MenuItemClick(object sender, PopupMenu.MenuItemClickEventArgs e) { popupMenu.Dismiss(); switch (e.Item.ItemId) { case Resource.Id.edit: var intent = new Intent(ItemView.Context, typeof(EditOutcomeActivity)); var content = JsonConvert.SerializeObject(outcomeModel); intent.PutExtra("OutcomeDetail", content); ItemView.Context.StartActivity(intent); break; case Resource.Id.delete: ((Activity)ItemView.Context).RunOnUiThread(() => { ItemView.Context.ShowConfirmDialog(Resource.String.confirm, Resource.String.delete_outcome, () => { var dialog = ItemView.Context.CreateDialog(Resource.String.deleting_outcome, Resource.String.wait); dialog.Show(); ((Activity)ItemView.Context).DoRequest(OutComesController.Instance.Delete(OutcomeModel), () => { dialog.Dismiss(); DeleteClick?.Invoke(OutcomeModel, e); ItemView.Context.ShowMessage(Resource.String.delete_outcome_success); }); }, () => { }).Show(); }); break; } }
private void PopupMenu_MenuItemClick(object sender, PopupMenu.MenuItemClickEventArgs e) { popupMenu.Dismiss(); switch (e.Item.ItemId) { case Resource.Id.edit: var intent = new Intent(ItemView.Context, typeof(EditFeeActivity)); var content = JsonConvert.SerializeObject(moneyState.MoneyModel); intent.PutExtra("MoneyDetail", content); ItemView.Context.StartActivity(intent); break; case Resource.Id.delete: ((Activity)ItemView.Context).RunOnUiThread(() => { ItemView.Context.ShowConfirmDialog(Resource.String.delete_fee, Resource.String.confirm_delete, () => { var dialog = ItemView.Context.CreateDialog("Deleting fee", "Please wait"); dialog.Show(); // delete ((Activity)ItemView.Context).DoRequest(Task.Run(async() => { await MoneysController.Instance.Delete(moneyState.MoneyModel); foreach (var userMoneyModel in UserMoneysController.Instance.Values.Where(x => x.MoneyId == moneyState.MoneyModel.Id)) { await UserMoneysController.Instance.Delete(userMoneyModel); } }), () => { DeleteClick?.Invoke("Success", null); dialog.Dismiss(); }); }, () => { }).Show(); }); break; } }