47 lines
1.4 KiB
C#
47 lines
1.4 KiB
C#
using Microsoft.EntityFrameworkCore;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Windows.Media;
|
|
|
|
namespace Elwig.Models.Entities {
|
|
[Table("wine_variety"), PrimaryKey("SortId")]
|
|
public class WineVar {
|
|
[Column("sortid")]
|
|
public string SortId { get; private set; } = null!;
|
|
|
|
[Column("type")]
|
|
public string Type { get; private set; } = null!;
|
|
|
|
[Column("max_qualid")]
|
|
public string MaxQualId { get; private set; } = null!;
|
|
|
|
[ForeignKey("MaxQualId")]
|
|
public virtual WineQualLevel MaxQualityLevel { get; private set; } = null!;
|
|
|
|
[Column("name")]
|
|
public string Name { get; private set; } = null!;
|
|
|
|
[Column("comment")]
|
|
public string? Comment { get; private set; }
|
|
|
|
public string SortIdFormat => IsQuw ? SortId : $"({SortId})";
|
|
public string CommentFormat => (Comment != null) ? $" ({Comment})" : "";
|
|
|
|
public bool IsRed => Type == "R";
|
|
public bool IsWhite => Type == "W";
|
|
public bool IsQuw => MaxQualId == "QUW";
|
|
public Brush? Color => IsWhite ? Brushes.DarkGreen : IsRed ? Brushes.DarkRed : null;
|
|
|
|
public WineVar() { }
|
|
|
|
public WineVar(string sortId, string name) {
|
|
SortId = sortId;
|
|
Name = name;
|
|
MaxQualId = "QUW";
|
|
}
|
|
|
|
public override string ToString() {
|
|
return Name;
|
|
}
|
|
}
|
|
}
|