58 lines
2.1 KiB
C#
58 lines
2.1 KiB
C#
using Elwig.Helpers;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using IndexAttribute = Microsoft.EntityFrameworkCore.IndexAttribute;
|
|
|
|
namespace Elwig.Models {
|
|
[Table("area_commitment_type"), PrimaryKey("VtrgId"), Index("SortId", "AttrId", "Discriminator", IsUnique = true)]
|
|
public class AreaComType {
|
|
[Column("vtrgid")]
|
|
public string VtrgId { get; set; }
|
|
|
|
[Column("sortid")]
|
|
public string SortId { get; set; }
|
|
|
|
[Column("attrid")]
|
|
public string? AttrId { get; set; }
|
|
|
|
[Column("disc")]
|
|
public string? Discriminator { get; set; }
|
|
|
|
[Column("min_kg_per_ha")]
|
|
public int? MinKgPerHa { get; set; }
|
|
|
|
[Column("penalty_per_kg")]
|
|
public long? PenaltyPerKgValue { get; set; }
|
|
[NotMapped]
|
|
public decimal? PenaltyPerKg {
|
|
get => PenaltyPerKgValue != null ? Utils.DecFromDb(PenaltyPerKgValue.Value, 4) : null;
|
|
set => PenaltyPerKgValue = value != null ? Utils.DecToDb(value.Value, 4) : null;
|
|
}
|
|
|
|
[Column("penalty_amount")]
|
|
public long? PenaltyAmoutValue { get; set; }
|
|
[NotMapped]
|
|
public decimal? PenaltyAmount {
|
|
get => PenaltyAmoutValue != null ? Utils.DecFromDb(PenaltyAmoutValue.Value, 4) : null;
|
|
set => PenaltyAmoutValue = value != null ? Utils.DecToDb(value.Value, 4) : null;
|
|
}
|
|
|
|
[Column("penalty_none")]
|
|
public long? PenaltyNoneValue { get; set; }
|
|
[NotMapped]
|
|
public decimal? PenaltyNone {
|
|
get => PenaltyNoneValue != null ? Utils.DecFromDb(PenaltyNoneValue.Value, 4) : null;
|
|
set => PenaltyNoneValue = value != null ? Utils.DecToDb(value.Value, 4) : null;
|
|
}
|
|
|
|
[ForeignKey("SortId")]
|
|
public virtual WineVar WineVar { get; private set; }
|
|
|
|
[ForeignKey("AttrId")]
|
|
public virtual WineAttr? WineAttr { get; private set; }
|
|
|
|
[NotMapped]
|
|
public string DisplayName => WineVar.Name + (WineAttr != null ? $" {WineAttr.Name}" : "") + (Discriminator != null ? $" ({Discriminator})" : "");
|
|
}
|
|
}
|