private async void ButtonClicked(object sender, EventArgs e) { decimal amount; if (decimal.TryParse(AmountEntry.Text, out amount)) { amount *= sender == PlusButton ? 1 : -1; } else { return; } UserDialogs.Instance.ShowLoading(); var updated = new Debt { Id = Debt.Id, Reason = null, Balance = amount }; Debt = await _serviceClient.AddMovementToDebt(updated); DebtUpdated?.Invoke(sender, Debt); Movements.Insert(0, new Movement { Amount = amount, Date = Debt.UpdatedAt.Value, Reason = Debt.Reason }); AmountEntry.Text = null; UpdateAmounts(); UserDialogs.Instance.HideLoading(); }
private async void Button_OnClicked(object sender, EventArgs e) { if (sender == CancelButton) { await PopupNavigation.PopAsync(); return; } var id = DebtManipulation?.Id; decimal amount; if (decimal.TryParse(DebtAmountEntry.Text, out amount)) { amount *= sender == PlusButton ? 1 : -1; } else { return; } UserDialogs.Instance.ShowLoading(AppStrings.Wait); if (id != null) // modify debt { var updated = new Debt { Id = DebtManipulation.Id, Reason = DebtReasonEntry.Text, Balance = amount }; var result = await _serviceClient.AddMovementToDebt(updated); DebtUpdated?.Invoke(sender, result); } else { var created = new Debt { Name = DebtNameEntry.Text, Reason = DebtReasonEntry.Text, Balance = amount }; var result = await _serviceClient.AddNewDebt(created); DebtCreated?.Invoke(sender, result); } DebtReasonEntry.Text = ""; DebtNameEntry.Text = ""; DebtAmountEntry.Text = ""; UserDialogs.Instance.HideLoading(); await PopupNavigation.PopAsync(); }