90 lines
2.6 KiB
C#
90 lines
2.6 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Linq;
|
|
|
|
namespace Elwig.Models {
|
|
[Table("payment_variant"), PrimaryKey("Year", "AvNr")]
|
|
public class PaymentVar {
|
|
[Column("year")]
|
|
public int Year { get; set; }
|
|
|
|
[Column("avnr")]
|
|
public int AvNr { get; set; }
|
|
|
|
[Column("name")]
|
|
public string Name { get; set; }
|
|
|
|
[Column("date")]
|
|
public string DateString { get; set; }
|
|
|
|
[NotMapped]
|
|
public DateOnly Date {
|
|
get => DateOnly.ParseExact(DateString, "yyyy-MM-dd");
|
|
set => DateString = value.ToString("yyyy-MM-dd");
|
|
}
|
|
|
|
[Column("transfer_date")]
|
|
public string? TransferDateString { get; set; }
|
|
|
|
[NotMapped]
|
|
public DateOnly? TransferDate {
|
|
get => TransferDateString != null ? DateOnly.ParseExact(TransferDateString, "yyyy-MM-dd") : null;
|
|
set => TransferDateString = value?.ToString("yyyy-MM-dd");
|
|
}
|
|
|
|
[Column("test_variant")]
|
|
public bool TestVariant { get; set; }
|
|
|
|
[Column("calc_time")]
|
|
public int? CalcTime { get; set; }
|
|
|
|
[Column("bucket_1_name")]
|
|
public string? Bucket1Name { get; set; }
|
|
|
|
[Column("bucket_2_name")]
|
|
public string? Bucket2Name { get; set; }
|
|
|
|
[Column("bucket_3_name")]
|
|
public string? Bucket3Name { get; set; }
|
|
|
|
[Column("bucket_4_name")]
|
|
public string? Bucket4Name { get; set; }
|
|
|
|
[Column("bucket_5_name")]
|
|
public string? Bucket5Name { get; set; }
|
|
|
|
[Column("bucket_6_name")]
|
|
public string? Bucket6Name { get; set; }
|
|
|
|
[Column("bucket_7_name")]
|
|
public string? Bucket7Name { get; set; }
|
|
|
|
[Column("bucket_8_name")]
|
|
public string? Bucket8Name { get; set; }
|
|
|
|
[Column("bucket_9_name")]
|
|
public string? Bucket9Name { get; set; }
|
|
|
|
[NotMapped]
|
|
public string[] BucketNames => (new string?[] { Bucket1Name, Bucket2Name, Bucket3Name, Bucket4Name, Bucket5Name, Bucket6Name, Bucket7Name, Bucket8Name, Bucket9Name })
|
|
.Where(n => n != null).Select(n => n ?? "").ToArray();
|
|
|
|
[Column("comment")]
|
|
public string? Comment { get; set; }
|
|
|
|
[Column("data")]
|
|
public string Data { get; set; }
|
|
|
|
[ForeignKey("Year")]
|
|
public virtual Season Season { get; private set; }
|
|
|
|
[InverseProperty("Variant")]
|
|
public virtual ISet<PaymentMember> MemberPayments { get; private set; }
|
|
|
|
[InverseProperty("Variant")]
|
|
public virtual ISet<Credit> Credits { get; private set; }
|
|
}
|
|
}
|