47 lines
1.3 KiB
C#
47 lines
1.3 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using System;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Elwig.Models {
|
|
[Table("season"), PrimaryKey("Year")]
|
|
public class Season {
|
|
[Column("year")]
|
|
public int Year { get; set; }
|
|
|
|
[Column("currency")]
|
|
public string CurrencyCode { get; set; }
|
|
|
|
[Column("precision")]
|
|
public int Precision { get; set; }
|
|
|
|
[Column("start_date")]
|
|
public string? StartDateString { get; set; }
|
|
|
|
[NotMapped]
|
|
public DateOnly? StartDate {
|
|
get {
|
|
return StartDateString != null ? DateOnly.ParseExact(StartDateString, "yyyy-MM-dd") : null;
|
|
}
|
|
set {
|
|
StartDateString = value?.ToString("yyyy-MM-dd");
|
|
}
|
|
}
|
|
|
|
[Column("end_date")]
|
|
public string? EndDateString { get; set; }
|
|
|
|
[NotMapped]
|
|
public DateOnly? EndDate {
|
|
get {
|
|
return EndDateString != null ? DateOnly.ParseExact(EndDateString, "yyyy-MM-dd") : null;
|
|
}
|
|
set {
|
|
EndDateString = value?.ToString("yyyy-MM-dd");
|
|
}
|
|
}
|
|
|
|
[ForeignKey("CurrencyCode")]
|
|
public virtual Currency Currency { get; private set; }
|
|
}
|
|
}
|