estara/Estara/ViewModels/ListDetailsViewModel.cs

47 lines
1.1 KiB
C#

using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using Estara.Contracts.ViewModels;
using Estara.Core.Contracts.Services;
using Estara.Core.Models;
namespace Estara.ViewModels;
public partial class ListDetailsViewModel : ObservableRecipient, INavigationAware
{
private readonly ISampleDataService _sampleDataService;
[ObservableProperty]
private SampleOrder? selected;
public ObservableCollection<SampleOrder> SampleItems { get; private set; } = new ObservableCollection<SampleOrder>();
public ListDetailsViewModel(ISampleDataService sampleDataService)
{
_sampleDataService = sampleDataService;
}
public async void OnNavigatedTo(object parameter)
{
SampleItems.Clear();
// TODO: Replace with real data.
var data = await _sampleDataService.GetListDetailsDataAsync();
foreach (var item in data)
{
SampleItems.Add(item);
}
}
public void OnNavigatedFrom()
{
}
public void EnsureItemSelected()
{
Selected ??= SampleItems.First();
}
}