54 lines
1.5 KiB
C#
54 lines
1.5 KiB
C#
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) ? $"{(Abs.Value < 0 ? "\u00a0-" : "+")}{Math.Abs(Abs.Value)}\u00a0{Season.Currency.Symbol}/kg" :
|
|
(Rel != null) ? $"{(Math.Abs(Rel.Value) < 0.1 ? "\u2007" : "")}{(Rel.Value < 0 ? "\u00a0-" : "+")}{Math.Abs(Rel.Value):0.00##\u00a0%}" : "";
|
|
|
|
public override string ToString() {
|
|
return Name;
|
|
}
|
|
}
|
|
}
|