using CommunityToolkit.Mvvm.ComponentModel; using Elwig.Models.Entities; using System.Collections.Generic; using System.Linq; using System.Windows.Controls; namespace Elwig.ViewModels { public partial class AreaCmtAdminViewModel : ObservableObject { [ObservableProperty] public partial string Title { get; set; } = "Flächenbindungen - Elwig"; public required Member FilterMember { get; set; } [ObservableProperty] public partial string? SearchQuery { get; set; } = ""; public List TextFilter { get => [.. SearchQuery?.ToLower().Split(' ').ToList().FindAll(e => e.Length > 0) ?? []]; set => SearchQuery = string.Join(' ', value.Where(e => e.Length > 0)); } [ObservableProperty] public partial string? FilterSeasonString { get; set; } public int? FilterSeason { get => int.TryParse(FilterSeasonString, out var year) ? year : null; set => FilterSeasonString = $"{value}"; } [ObservableProperty] public partial string? FbNrString { get; set; } public int? FbNr { get => int.TryParse(FbNrString, out var mgnr) ? mgnr : null; set => FbNrString = $"{value}"; } [ObservableProperty] public partial string? MgNrString { get; set; } public int? MgNr { get => int.TryParse(MgNrString, out var mgnr) ? mgnr : null; set => MgNrString = $"{value}"; } [ObservableProperty] public partial string? YearFromString { get; set; } public int? YearFrom { get => int.TryParse(YearFromString, out var year) ? year : null; set => YearFromString = $"{value}"; } [ObservableProperty] public partial string? YearToString { get; set; } public int? YearTo { get => int.TryParse(YearToString, out var year) ? year : null; set => YearToString = $"{value}"; } [ObservableProperty] public partial string? Period { get; set; } [ObservableProperty] public partial AreaCmtType? AreaCmtType { get; set; } [ObservableProperty] public partial IEnumerable AreaCmtTypeSource { get; set; } = []; [ObservableProperty] public partial object? WineCultObj { get; set; } public WineCult? WineCult { get => WineCultObj as WineCult; set => WineCultObj = value ?? WineCultSource.FirstOrDefault(); } [ObservableProperty] public partial IEnumerable WineCultSource { get; set; } = []; [ObservableProperty] public partial string? Comment { get; set; } [ObservableProperty] public partial AT_Kg? Kg { get; set; } [ObservableProperty] public partial IEnumerable KgSource { get; set; } = []; [ObservableProperty] public partial object? RdObj { get; set; } public WbRd? Rd { get => RdObj as WbRd; set => RdObj = value ?? RdSource.FirstOrDefault(); } [ObservableProperty] public partial IEnumerable RdSource { get; set; } = []; [ObservableProperty] public partial string? GstNr { get; set; } [ObservableProperty] public partial string? AreaString { get; set; } public int? Area { get => int.TryParse(AreaString, out var area) ? area : null; set => AreaString = $"{value}"; } [ObservableProperty] public partial string StatusAreaCommitments { get; set; } = "-"; [ObservableProperty] public partial string StatusContracts { get; set; } = "-"; [ObservableProperty] public partial string StatusArea { get; set; } = "-"; [ObservableProperty] public partial Grid? StatusAreaToolTip { get; set; } } }