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

namespace AsbCloudDb.Model
{
    [Table("t_operationvalue"), Comment("Целевые/нормативные показатели операции")]
    public class OperationValue : IId, IWellRelated
    {
        [Key]
        [Column("id"), Comment("Идентификатор")]
        public int Id { get; set; }

        [Column("id_well"), Comment("Ид скважины")]
        public int IdWell { get; set; }

        [Column("id_operation_category"), Comment("Ид категории операции")]
        public int IdOperationCategory { get; set; }

        [Column("target_value"), Comment("Целевой показатель")]
        public double TargetValue { get; set; }

        [Column("standard_value"), Comment("Нормативный показатель")]
        public double StandardValue { get; set; }

        [Column("depth_start"), Comment("Старотовая глубина")]
        public double DepthStart { get; set; }

        [Column("depth_end"), Comment("Конечная глубина")]
        public double DepthEnd { get; set; }

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

        [ForeignKey(nameof(IdOperationCategory))]
        public virtual WellOperationCategory OperationCategory { get; set; } = null!;
    }
}