Files
elwig/Elwig/ViewModels/MemberBusinessSharesViewModel.cs
T

79 lines
3.2 KiB
C#

using CommunityToolkit.Mvvm.ComponentModel;
using Elwig.Models.Entities;
using System;
using System.Collections.Generic;
using System.Windows;
namespace Elwig.ViewModels {
public partial class MemberBusinessSharesViewModel : ObservableObject {
[ObservableProperty]
public partial string Title { get; set; } = "Geschäftsanteilbewegungen - Elwig";
public required Member FilterMember { get; set; }
[ObservableProperty]
public partial MemberHistory? SelectedHistoryEntry { get; set; }
[ObservableProperty]
public partial IEnumerable<MemberHistory> History { get; set; } = [];
[ObservableProperty]
public partial string? DateNoticeString { get; set; }
public DateOnly? DateNotice {
get => DateOnly.TryParseExact(DateNoticeString, "dd.MM.yyyy", out var d) ? d : null;
set => DateNoticeString = $"{value:dd.MM.yyyy}";
}
[ObservableProperty]
public partial string? DateEffectiveString { get; set; }
public DateOnly? DateEffective {
get => DateOnly.TryParseExact(DateEffectiveString, "dd.MM.yyyy", out var d) ? d : null;
set => DateEffectiveString = $"{value:dd.MM.yyyy}";
}
[ObservableProperty]
public partial string? Reason { get; set; }
[ObservableProperty]
public partial string? SharesString { get; set; }
public int? Shares {
get => int.TryParse(SharesString, out var shares) ? shares : null;
set => SharesString = $"{value}";
}
[ObservableProperty]
public partial string? OtherMgNrString { get; set; }
public int? OtherMgNr {
get => int.TryParse(OtherMgNrString, out var mgnr) ? mgnr : null;
set => OtherMgNrString = $"{value}";
}
[ObservableProperty]
public partial string? DeductYearString { get; set; }
public int? DeductYear {
get => int.TryParse(DeductYearString, out var year) ? year : null;
set => DeductYearString = $"{value}";
}
[ObservableProperty]
public partial bool Deduct { get; set; }
[ObservableProperty]
public partial bool CompanyHasSigned { get; set; }
[ObservableProperty]
public partial bool MemberHasSigned { get; set; }
[ObservableProperty]
public partial string? ValuePerShareString { get; set; }
public decimal? ValuePerShare {
get => decimal.TryParse(ValuePerShareString, out var v) ? v : null;
set => ValuePerShareString = $"{value:0.00}";
}
[ObservableProperty]
public partial string? TotalAmount { get; set; }
[ObservableProperty]
public partial string? Comment { get; set; }
[ObservableProperty]
public partial Visibility ControlButtonsVisibility { get; set; } = Visibility.Visible;
[ObservableProperty]
public partial Visibility EditingButtonsVisibility { get; set; } = Visibility.Hidden;
[ObservableProperty]
public partial Visibility PersonalNameVisibility { get; set; } = Visibility.Visible;
[ObservableProperty]
public partial Visibility JuridicalNameVisibility { get; set; } = Visibility.Hidden;
}
}