Files
elwig/Elwig/Models/Contract.cs

46 lines
1.1 KiB
C#

using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace Elwig.Models {
[Table("contract"), PrimaryKey("VNr")]
public class Contract {
[Column("vnr")]
public int VNr { get; set; }
[Column("mgnr")]
public int MgNr { get; set; }
[Column("date")]
public string? DateString { get; set; }
[NotMapped]
public DateOnly? Date {
get {
return DateString != null ? DateOnly.ParseExact(DateString, "yyyy-MM-dd") : null;
}
set {
DateString = value?.ToString("yyyy-MM-dd");
}
}
[Column("year_from")]
public int YearFrom { get; set; }
[Column("year_to")]
public int? YearTo { get; set; }
[Column("comment")]
public string? Comment { get; set; }
[ForeignKey("MgNr")]
public virtual Member Member { get; private set; }
[InverseProperty("Contract")]
public virtual AreaCom? AreaCom { get; private set; }
[NotMapped]
public int? Area => AreaCom?.Area;
}
}