Files
elwig/Elwig/Models/Entities/AreaCom.cs

80 lines
2.6 KiB
C#

using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations.Schema;
namespace Elwig.Models.Entities {
[Table("area_commitment"), PrimaryKey("FbNr", "RevNr")]
public class AreaCom {
[Column("fbnr")]
public int FbNr { get; set; }
[Column("revnr")]
public int RevNr { get; set; }
[Column("mgnr")]
public int MgNr { get; set; }
[Column("vtrgid")]
public required string VtrgId { get; set; }
[Column("cultid")]
public string? CultId { get; set; }
[Column("area")]
public int Area { get; set; }
[Column("gstnr")]
public required string GstNr { get; set; }
[Column("year_from")]
public int? YearFrom { get; set; }
[Column("year_to")]
public int? YearTo { get; set; }
[Column("ctime"), DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public long CTime { get; set; }
[NotMapped]
public DateTime CreatedAt {
get => DateTimeOffset.FromUnixTimeSeconds(CTime).LocalDateTime;
set => CTime = ((DateTimeOffset)value.ToUniversalTime()).ToUnixTimeSeconds();
}
[Column("mtime"), DatabaseGenerated(DatabaseGeneratedOption.Computed)]
public long MTime { get; set; }
[NotMapped]
public DateTime ModifiedAt {
get => DateTimeOffset.FromUnixTimeSeconds(MTime).LocalDateTime;
set => MTime = ((DateTimeOffset)value.ToUniversalTime()).ToUnixTimeSeconds();
}
[Column("xtime")]
public long? XTime { get; set; }
[NotMapped]
public DateTime? ExportedAt {
get => XTime == null ? null : DateTimeOffset.FromUnixTimeSeconds(XTime.Value).LocalDateTime;
set => XTime = value == null ? null : ((DateTimeOffset)value.Value.ToUniversalTime()).ToUnixTimeSeconds();
}
[Column("itime")]
public long? ITime { get; set; }
[NotMapped]
public DateTime? ImportedAt {
get => ITime == null ? null : DateTimeOffset.FromUnixTimeSeconds(ITime.Value).LocalDateTime;
set => ITime = value == null ? null : ((DateTimeOffset)value.Value.ToUniversalTime()).ToUnixTimeSeconds();
}
[ForeignKey("FbNr")]
public virtual AreaComContract Contract { get; private set; } = null!;
[ForeignKey("MgNr")]
public virtual Member Member { get; private set; } = null!;
[ForeignKey("VtrgId")]
public virtual AreaComType AreaComType { get; private set; } = null!;
[ForeignKey("CultId")]
public virtual WineCult? WineCult { get; private set; }
}
}