Files
parr_api/PARR.DAL/Models/Host.cs

59 lines
1.7 KiB
C#

using Microsoft.EntityFrameworkCore;
using PARR.DAL.Models.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace PARR.DAL.Models
{
[Table("Hosts")]
[Index(nameof(IP))]
[Index(nameof(Ek), IsUnique = true)]
public class Host : IBase
{
[Key]
public Guid Id { get; set; }
public DateTimeOffset DateCreated { get; set; }
public DateTimeOffset? DateModified { get; set; }
public required string Ek { get; set; }
public int EkStatusCode { get; set; }
public string? IP { get; set; }
//public string? RegionalEK { get; set; }
//public string? LinkEK { get; set; }
//TODO: удалить поле Status, вместо него использовать EkStatusCode
//public string? StatusStr { get; set; }
//public string? WorkGroup { get; set; }
public Guid? WorkGroupId { get; set; }
//TODO: удалить поле ResponseAreaStr
//public string? ResponseAreaStr { get; set; }
public int ResponseAreaCode { get; set; }
public DateTimeOffset? LastLogon { get; set; }
public ICollection<ApplicationInHost> ApplicationsInHosts { get; set; } = new HashSet<ApplicationInHost>();
public ICollection<Template> Templates { get; set; } = new HashSet<Template>();
[ForeignKey(nameof(EkStatusCode))]
public EkStatus? EkStatus { get; set; }
[ForeignKey(nameof(ResponseAreaCode))]
public ResponseArea? ResponseArea { get; set; }
[ForeignKey(nameof(WorkGroupId))]
public WorkGroup? WorkGroup { get; set; }
}
}