using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace AsbCloudDb.Model
{
    [Table("t_drill_test"), Comment("Drill_test")]
    public class DrillTest
    {
        /// <summary>
        /// Идентификатор drill test
        /// </summary>
        [Key, Column("id"), Comment("Идентификатор")]
        public int Id { get; set; }

        /// <summary>
        /// Идентификатор телеметрии drill test
        /// </summary>
        [Key, Column("id_telemetry"), Comment("Идентификатор телеметрии")]
        public int IdTelemetry { get; set; }

        /// <summary>
        /// Время начала drill test
        /// </summary>
        [Column("timestamp_start", TypeName = "timestamp with time zone"), Comment("Время начала")]
        public DateTimeOffset TimeStampStart { get; set; }

        /// <summary>
        /// Глубина начала drill test
        /// </summary>
        [Column("depthStart"), Comment("Глубина начала")]
        public float DepthStart { get; set; }

        [ForeignKey(nameof(IdTelemetry))]
        public virtual Telemetry Telemetry { get; set; } = null!;

        [Column("t_drill_test_params", TypeName = "jsonb"), Comment("Параметры записи drill test")]
        public virtual ICollection<DrillTestParameter> Params { get; set; } = null!;
    }
}