102 lines
3.8 KiB
C#
102 lines
3.8 KiB
C#
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 AreaComAdminViewModel : 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<string> 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 AreaComType? AreaComType { get; set; }
|
|
[ObservableProperty]
|
|
public partial IEnumerable<AreaComType> AreaComTypeSource { 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<object> WineCultSource { get; set; } = [];
|
|
[ObservableProperty]
|
|
public partial string? Comment { get; set; }
|
|
|
|
[ObservableProperty]
|
|
public partial AT_Kg? Kg { get; set; }
|
|
[ObservableProperty]
|
|
public partial IEnumerable<AT_Kg> 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<object> 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; }
|
|
}
|
|
}
|