Files
elwig/Elwig/Models/Modifier.cs

51 lines
1.3 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("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 < 0 ? " -" : "+")}{Math.Abs(Abs.Value)} {Season.Currency.Symbol}/kg" :
$"{(Rel < 0 ? " -" : "+")}{Math.Abs(Rel.Value):P2}";
public override string ToString() {
return Name;
}
}
}