using Microsoft.EntityFrameworkCore;
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;

namespace AsbCloudDb.Model
{
    [Table("t_limiting_parameter"), Comment("Ограничения по параметрам телеметрии")]
    public class LimitingParameter : IId
    {
        [Column("id"), Key]
        public int Id { get; set; }

        [Column("id_telemetry")]
        public int IdTelemetry { get; set; }

        [Column("date_start")]
        public DateTimeOffset DateStart { get; set; }

        [Column("date_end")]
        public DateTimeOffset DateEnd { get; set; }

        [Column("depth_start")]
        public float DepthStart { get; set; }

        [Column("depth_end")]
        public float DepthEnd { get; set; }

        [Column("id_feed_regulator")]
        public short IdFeedRegulator { get; set; }

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