using Microsoft.EntityFrameworkCore;
using PARR.Domain.Entities.Base;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace PARR.Domain.Entities
{
    [Table("Subprocesses")]
    [Index(nameof(EsppId), IsUnique = true)]
    public class Subprocess : IBaseEntity
    {
        [Key]
        public Guid Id { get; set; }

        public DateTimeOffset DateCreated { get; set; }

        public DateTimeOffset? DateModified { get; set; }

        public required string Name { get; set; }

        public int EsppId { get; set; }

        public Guid ProcessId { get; set; }

        [ForeignKey(nameof(ProcessId))]
        public Process? Process { get; set; }

        public ICollection<Tnk> Tnks { get; set; } = new HashSet<Tnk>();
    }
}
