66 lines
1.9 KiB
C#
66 lines
1.9 KiB
C#
using Elwig.Helpers;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
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 byte 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; }
|
|
|
|
[InverseProperty("Season")]
|
|
public virtual ISet<Modifier> Modifiers { get; private set; }
|
|
|
|
[InverseProperty("Season")]
|
|
public virtual ISet<PaymentVar> PaymentVariants { get; private set; }
|
|
|
|
[InverseProperty("Season")]
|
|
public virtual ISet<Delivery> Deliveries { get; private set; }
|
|
|
|
public decimal DecFromDb(long value) {
|
|
return Utils.DecFromDb(value, Precision);
|
|
}
|
|
|
|
public long DecToDb(decimal value) {
|
|
return Utils.DecToDb(value, Precision);
|
|
}
|
|
}
|
|
}
|