Example #1
0
        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();
        }
Example #2
0
        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();
        }