57 lines
1.8 KiB
C#
57 lines
1.8 KiB
C#
using Elwig.Helpers;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Elwig.Models.Entities {
|
|
[Table("delivery_announcement"), PrimaryKey("Year", "DsNr", "MgNr", "SortId")]
|
|
public class DeliveryAncmt {
|
|
|
|
[Column("year")]
|
|
public int Year { get; set; }
|
|
|
|
[Column("dsnr")]
|
|
public int DsNr { get; set; }
|
|
|
|
[Column("mgnr")]
|
|
public int MgNr { get; set; }
|
|
|
|
[Column("sortid")]
|
|
public required string SortId { get; set; }
|
|
|
|
[Column("weight")]
|
|
public int Weight { get; set; }
|
|
|
|
[Column("type")]
|
|
public required string Type { get; set; }
|
|
|
|
[Column("ctime"), DatabaseGenerated(DatabaseGeneratedOption.Computed)]
|
|
public long CTime { get; private set; }
|
|
[NotMapped]
|
|
public DateTime CreatedTimestamp => DateTimeOffset.FromUnixTimeSeconds(CTime).LocalDateTime;
|
|
|
|
[Column("mtime"), DatabaseGenerated(DatabaseGeneratedOption.Computed)]
|
|
public long MTime { get; private set; }
|
|
[NotMapped]
|
|
public DateTime ModifiedTimestamp => DateTimeOffset.FromUnixTimeSeconds(MTime).LocalDateTime;
|
|
|
|
[ForeignKey("Year, DsNr")]
|
|
public virtual DeliverySchedule Schedule { get; private set; } = null!;
|
|
|
|
[ForeignKey("MgNr")]
|
|
public virtual Member Member { get; private set; } = null!;
|
|
|
|
[ForeignKey("SortId")]
|
|
public virtual WineVar Variety { get; private set; } = null!;
|
|
|
|
public int SearchScore(IEnumerable<string> keywords) {
|
|
return Utils.GetSearchScore([
|
|
Schedule.Description,
|
|
Member.Name, Member.MiddleName, Member.GivenName,
|
|
Member.BillingAddress?.FullName,
|
|
], keywords);
|
|
}
|
|
}
|
|
}
|