using Elwig.Helpers; using Microsoft.EntityFrameworkCore; using System; using System.ComponentModel.DataAnnotations.Schema; namespace Elwig.Models { [Table("modifier"), PrimaryKey("Year", "ModId")] public class Modifier { [Column("year")] public int Year { get; set; } [Column("modid")] public string ModId { get; set; } [Column("ordering")] public int Ordering { get; set; } [Column("name")] public string Name { get; set; } [Column("abs")] public long? AbsValue { get; set; } [NotMapped] public decimal? Abs { get { return AbsValue != null ? Season.DecFromDb((long)AbsValue) : null; } set { AbsValue = value != null ? Season.DecToDb((decimal)value) : null; } } [Column("rel")] public double? Rel { get; set; } [Column("standard")] public bool IsStandard { get; set; } [Column("quick_select")] public bool IsQuickSelect { get; set; } [ForeignKey("Year")] public virtual Season Season { get; private set; } public string ValueStr => (Abs != null) ? $"{Utils.GetSign(Abs.Value)}{Math.Abs(Abs.Value)}\u00a0{Season.Currency.Symbol}/kg" : (Rel != null) ? $"{Utils.GetSign(Rel.Value)}{(Math.Abs(Rel.Value) < 0.1 ? "\u2007" : "")}{Math.Abs(Rel.Value):0.00##\u00a0%}" : ""; public override string ToString() { return Name; } } }