49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace GazpromApp.Models;
|
|
|
|
public class Equipment
|
|
{
|
|
public Equipment()
|
|
{
|
|
LocalId = Id == Guid.Empty ? Guid.NewGuid() : Id;
|
|
}
|
|
|
|
[Key]
|
|
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
[JsonIgnore]
|
|
public Guid Id { get; set; }
|
|
|
|
[JsonIgnore]
|
|
[NotMapped]
|
|
public Guid LocalId { get; set; }
|
|
|
|
[Required]
|
|
public string? Name { get; set; } = string.Empty;
|
|
public string? Description { get; set; } = string.Empty;
|
|
public DateTime CreationDate { get; set; }
|
|
|
|
// Foreign keys
|
|
[JsonIgnore]
|
|
public Guid? PointId { get; set; }
|
|
[JsonIgnore]
|
|
public List<Guid> ImageIds { get; set; } = [];
|
|
[JsonIgnore]
|
|
public List<Guid> InspectionIds { get; set; } = [];
|
|
[JsonIgnore]
|
|
public List<Guid> EquipmentIds { get; set; } = [];
|
|
public Guid? ParentEquipmentId { get; set; }
|
|
|
|
// Navigation Properties
|
|
public List<Image> Images { get; set; } = [];
|
|
[JsonIgnore]
|
|
public Point? Point { get; set; } = null!;
|
|
public List<Property> Properties { get; set; } = [];
|
|
public List<Inspection> Inspections { get; set; } = [];
|
|
public List<Equipment> Equipments { get; set; } = [];
|
|
public Equipment? ParentEquipment { get; set; }
|
|
} |