59 lines
1.7 KiB
C#
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; }
|
|
}
|
|
}
|