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);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |