basic logic
This commit is contained in:
86
Billing.Shared/Views/AddAccountPage.xaml.cs
Normal file
86
Billing.Shared/Views/AddAccountPage.xaml.cs
Normal file
@ -0,0 +1,86 @@
|
||||
using Billing.Models;
|
||||
using Billing.UI;
|
||||
using System;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Billing.Views;
|
||||
|
||||
public partial class AddAccountPage : BillingPage
|
||||
{
|
||||
private static readonly BindableProperty AccountNameProperty = BindableProperty.Create(nameof(AccountName), typeof(string), typeof(AddAccountPage));
|
||||
private static readonly BindableProperty AccountIconProperty = BindableProperty.Create(nameof(AccountIcon), typeof(string), typeof(AddAccountPage));
|
||||
private static readonly BindableProperty CategoryProperty = BindableProperty.Create(nameof(Category), typeof(string), typeof(AddAccountPage));
|
||||
private static readonly BindableProperty BalanceProperty = BindableProperty.Create(nameof(Balance), typeof(decimal), typeof(AddAccountPage));
|
||||
private static readonly BindableProperty MemoProperty = BindableProperty.Create(nameof(Memo), typeof(string), typeof(AddAccountPage));
|
||||
|
||||
public string AccountName
|
||||
{
|
||||
get => (string)GetValue(AccountNameProperty);
|
||||
set => SetValue(AccountNameProperty, value);
|
||||
}
|
||||
public string AccountIcon
|
||||
{
|
||||
get => (string)GetValue(AccountIconProperty);
|
||||
set => SetValue(AccountIconProperty, value);
|
||||
}
|
||||
public string Category
|
||||
{
|
||||
get => (string)GetValue(CategoryProperty);
|
||||
set => SetValue(CategoryProperty, value);
|
||||
}
|
||||
public decimal Balance
|
||||
{
|
||||
get => (decimal)GetValue(BalanceProperty);
|
||||
set => SetValue(BalanceProperty, value);
|
||||
}
|
||||
public string Memo
|
||||
{
|
||||
get => (string)GetValue(MemoProperty);
|
||||
set => SetValue(MemoProperty, value);
|
||||
}
|
||||
|
||||
private readonly Account account;
|
||||
|
||||
public Command CheckAccount { get; }
|
||||
|
||||
public event EventHandler<AccountEventArgs> AccountChecked;
|
||||
|
||||
public AddAccountPage()
|
||||
{
|
||||
CheckAccount = new Command(OnCheckAccount);
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public AddAccountPage(Account account)
|
||||
{
|
||||
this.account = account;
|
||||
AccountName = account.Name;
|
||||
AccountIcon = account.Icon;
|
||||
Category = account.Category.ToString();
|
||||
Balance = account.Balance;
|
||||
Memo = account.Memo;
|
||||
CheckAccount = new Command(OnCheckAccount);
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void OnCheckAccount()
|
||||
{
|
||||
AccountChecked?.Invoke(this, new AccountEventArgs
|
||||
{
|
||||
Account = new Account
|
||||
{
|
||||
Id = account?.Id ?? -1,
|
||||
Name = AccountName,
|
||||
Icon = AccountIcon,
|
||||
//Category = Category,
|
||||
Balance = Balance,
|
||||
Memo = Memo
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
public class AccountEventArgs : EventArgs
|
||||
{
|
||||
public Account Account { get; set; }
|
||||
}
|
Reference in New Issue
Block a user