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

58 lines
1.6 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(Ek), nameof(IP))]
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? WorkGroupItem { get; set; }
}
}