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 Modifiers { get; private set; } [InverseProperty("Season")] public virtual ISet PaymentVariants { get; private set; } [InverseProperty("Season")] public virtual ISet Deliveries { get; private set; } public decimal DecFromDb(long value) { return Utils.DecFromDb(value, Precision); } public long DecToDb(decimal value) { return Utils.DecToDb(value, Precision); } } }