ViewModels: Use partial properties

This commit is contained in:
2026-09-29 21:08:25 +02:00
parent 5845693f17
commit c2bc5b221a
7 changed files with 281 additions and 281 deletions
@@ -10,76 +10,76 @@ namespace Elwig.ViewModels {
public partial class DeliveryScheduleAdminViewModel : ObservableObject {
[ObservableProperty]
private string? _searchQuery = "";
public partial string? SearchQuery { get; set; } = "";
public List<string> TextFilter => [.. SearchQuery?.ToLower().Split(' ').ToList().FindAll(e => e.Length > 0) ?? []];
[ObservableProperty]
private bool _filterOnlyUpcoming;
public partial bool FilterOnlyUpcoming { get; set; }
[ObservableProperty]
private string? _filterSeasonString;
public partial string? FilterSeasonString { get; set; }
public int? FilterSeason {
get => int.TryParse(FilterSeasonString, out var year) ? year : null;
set => FilterSeasonString = $"{value}";
}
[ObservableProperty]
private DeliverySchedule? _selectedDeliverySchedule;
public partial DeliverySchedule? SelectedDeliverySchedule { get; set; }
[ObservableProperty]
private IEnumerable<DeliverySchedule> _deliverySchedules = [];
public partial IEnumerable<DeliverySchedule> DeliverySchedules { get; set; } = [];
[ObservableProperty]
private bool _enableSearchInputs = true;
public partial bool EnableSearchInputs { get; set; } = true;
[ObservableProperty]
private string _dateString = "";
public partial string DateString { get; set; } = "";
public DateOnly? Date {
get => DateOnly.TryParseExact(DateString, "dd.MM.yyyy", out var d) ? d : null;
set => DateString = $"{value:dd.MM.yyyy}";
}
[ObservableProperty]
private Branch? _branch;
public partial Branch? Branch { get; set; }
[ObservableProperty]
private IEnumerable<Branch> _branchSource = [];
public partial IEnumerable<Branch> BranchSource { get; set; } = [];
[ObservableProperty]
private string _description = "";
public partial string Description { get; set; } = "";
[ObservableProperty]
private string? _maxWeightString = "";
public partial string? MaxWeightString { get; set; } = "";
public int? MaxWeight {
get => int.TryParse(MaxWeightString, out var w) ? w : null;
set => MaxWeightString = $"{value}";
}
[ObservableProperty]
private bool _isCancelled;
public partial bool IsCancelled { get; set; }
public ObservableCollection<WineVar> MainVarieties { get; set; } = [];
[ObservableProperty]
private IEnumerable<WineVar> _mainVarietiesSource = [];
public partial IEnumerable<WineVar> MainVarietiesSource { get; set; } = [];
public ObservableCollection<WineVar> OtherVarieties { get; set; } = [];
[ObservableProperty]
private IEnumerable<WineVar> _otherVarietiesSource = [];
public partial IEnumerable<WineVar> OtherVarietiesSource { get; set; } = [];
[ObservableProperty]
private IEnumerable<object> _attributeSource = [];
public partial IEnumerable<object> AttributeSource { get; set; } = [];
[ObservableProperty]
private object? _attributeObj;
public partial object? AttributeObj { get; set; }
public WineAttr? Attribute {
get => AttributeObj as WineAttr;
set => AttributeObj = value ?? AttributeSource.FirstOrDefault();
}
[ObservableProperty]
private IEnumerable<object> _cultivationSource = [];
public partial IEnumerable<object> CultivationSource { get; set; } = [];
[ObservableProperty]
private object? _cultivationObj;
public partial object? CultivationObj { get; set; }
public WineCult? Cultivation {
get => CultivationObj as WineCult;
set => CultivationObj = value ?? CultivationSource.FirstOrDefault();
}
[ObservableProperty]
private string _ancmtFromDateString = "";
public partial string AncmtFromDateString { get; set; } = "";
public DateOnly? AncmtFromDate {
get => DateOnly.TryParseExact(AncmtFromDateString, "dd.MM.yyyy", out var d) ? d : null;
set => AncmtFromDateString = $"{value:dd.MM.yyyy}";
}
[ObservableProperty]
private string _ancmtFromTimeString = "";
public partial string AncmtFromTimeString { get; set; } = "";
public TimeOnly? AncmtFromTime {
get => TimeOnly.TryParseExact(AncmtFromTimeString, "HH:mm", out var t) ? t : null;
set => AncmtFromTimeString = $"{value:HH:mm}";
@@ -92,13 +92,13 @@ namespace Elwig.ViewModels {
}
}
[ObservableProperty]
private string _ancmtToDateString = "";
public partial string AncmtToDateString { get; set; } = "";
public DateOnly? AncmtToDate {
get => DateOnly.TryParseExact(AncmtToDateString, "dd.MM.yyyy", out var d) ? d : null;
set => AncmtToDateString = $"{value:dd.MM.yyyy}";
}
[ObservableProperty]
private string _ancmtToTimeString = "";
public partial string AncmtToTimeString { get; set; } = "";
public TimeOnly? AncmtToTime {
get => TimeOnly.TryParseExact(AncmtToTimeString, "HH:mm", out var t) ? t : null;
set => AncmtToTimeString = $"{value:HH:mm}";
@@ -112,8 +112,8 @@ namespace Elwig.ViewModels {
}
[ObservableProperty]
private Visibility _controlButtonsVisibility = Visibility.Visible;
public partial Visibility ControlButtonsVisibility { get; set; } = Visibility.Visible;
[ObservableProperty]
private Visibility _editingButtonsVisibility = Visibility.Hidden;
public partial Visibility EditingButtonsVisibility { get; set; } = Visibility.Hidden;
}
}