using CommunityToolkit.Mvvm.ComponentModel; using Elwig.Models.Entities; using System.Collections.Generic; using System.Linq; using System.Windows; namespace Elwig.ViewModels { public partial class DeliveryAncmtAdminViewModel : ObservableObject { [ObservableProperty] private string? _searchQuery = ""; public List TextFilter => [.. SearchQuery?.ToLower().Split(' ').ToList().FindAll(e => e.Length > 0)]; [ObservableProperty] private bool _filterOnlyUpcoming; [ObservableProperty] private string? _filterSeasonString; public int? FilterSeason { get => int.TryParse(FilterSeasonString, out var year) ? year : null; set => FilterSeasonString = $"{value}"; } [ObservableProperty] private DeliveryAncmt? _selectedDeliveryAncmt; [ObservableProperty] private IEnumerable _deliveryAncmts = []; [ObservableProperty] private DeliverySchedule? _selectedDeliverySchedule; [ObservableProperty] private IEnumerable _deliverySchedules = []; [ObservableProperty] private bool _enableSearchInputs = true; [ObservableProperty] private string? _mgNrString; public int? MgNr { get => int.TryParse(MgNrString, out var mgnr) ? mgnr : null; set => MgNrString = $"{value}"; } [ObservableProperty] private Member? _member; [ObservableProperty] private IEnumerable _memberSource = []; [ObservableProperty] private string? _memberAddress; [ObservableProperty] private DeliverySchedule? _deliverySchedule; [ObservableProperty] private IEnumerable _deliveryScheduleSource = []; [ObservableProperty] private string? _sortId; [ObservableProperty] private WineVar? _wineVariety; [ObservableProperty] private IEnumerable _wineVarietySource = []; [ObservableProperty] private string? _weightString; public int? Weight { get => int.TryParse(WeightString, out var w) ? w : null; set => WeightString = $"{value}"; } [ObservableProperty] private Visibility _controlButtonsVisibility = Visibility.Visible; [ObservableProperty] private Visibility _editingButtonsVisibility = Visibility.Hidden; } }