using System; using System.Threading.Tasks; using Avalonia.Controls; using CommunityToolkit.Mvvm.Input; using MarketData.DataAccess; using MarketData.Generator.Interface; using MarketData.MarketDataModel; using MarketData.Utils; using PortfolioManager.ViewModels; namespace PortfolioManager.Dialogs { public partial class EditPositionDialogNoStopViewModel : DialogViewModelBase { private IPurePosition sourcePosition; public EditPositionDialogNoStopViewModel(Window dialogWindow, IPurePosition clonedPosition) : base(dialogWindow) { sourcePosition = clonedPosition; DisplayName = "Edit Position"; } public String Symbol { get { return sourcePosition.Symbol; } } public String CompanyName { get { CompanyProfile companyProfile = CompanyProfileDA.GetCompanyProfile(sourcePosition.Symbol); return companyProfile.CompanyName; } } public String PurchaseDate { get { return sourcePosition.PurchaseDate.ToShortDateString(); } } public String PurchasePrice { get { return Utility.FormatCurrency(sourcePosition.PurchasePrice); } set { sourcePosition.PurchasePrice = Utility.ParseCurrency(value); base.OnPropertyChanged("PurchasePrice"); } } public IPurePosition GetResult() { return sourcePosition; } [RelayCommand] public async Task OkButtonClick() { IsSuccess = true; await Close(); } [RelayCommand] public async Task CancelButtonClick() { await Close(); } } }