Files
elwig/Elwig/ViewModels/DeliveryAncmtAdminViewModel.cs
Lorenz Stechauner f54677d429
All checks were successful
Test / Run tests (push) Successful in 2m27s
DeliveryAncmtAdminWindow: Display stats in status bar
2024-08-22 13:32:08 +02:00

80 lines
2.7 KiB
C#

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<string> 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<DeliveryAncmt> _deliveryAncmts = [];
[ObservableProperty]
private DeliverySchedule? _selectedDeliverySchedule;
[ObservableProperty]
private IEnumerable<DeliverySchedule> _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<Member> _memberSource = [];
[ObservableProperty]
private string? _memberAddress;
[ObservableProperty]
private DeliverySchedule? _deliverySchedule;
[ObservableProperty]
private IEnumerable<DeliverySchedule> _deliveryScheduleSource = [];
[ObservableProperty]
private string? _sortId;
[ObservableProperty]
private WineVar? _wineVariety;
[ObservableProperty]
private IEnumerable<WineVar> _wineVarietySource = [];
[ObservableProperty]
private string? _weightString;
public int? Weight {
get => int.TryParse(WeightString, out var w) ? w : null;
set => WeightString = $"{value}";
}
[ObservableProperty]
private string _statusAncmts = "-";
[ObservableProperty]
private string _statusWeight = "-";
[ObservableProperty]
private string _statusAncmtCreated = "-";
[ObservableProperty]
private string _statusAncmtModified = "-";
[ObservableProperty]
private Visibility _controlButtonsVisibility = Visibility.Visible;
[ObservableProperty]
private Visibility _editingButtonsVisibility = Visibility.Hidden;
}
}