using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using AsbCloudDb.Model.ProcessMapPlan;
using Microsoft.EntityFrameworkCore;

namespace AsbCloudDb.Model.ProcessMapPlan.Operations;

[Table("t_process_map_plan_load_capacity"), Comment("РТК выработка нагрузки")]
public class ProcessMapPlanLoadCapacity : ProcessMapPlanBase
{
    [Column("time_load_capacity_min"), Comment("Время выработки минимальное, сек")]
    [Range(0.0, 800.0)]
    [Required]
    public double TimeLoadCapacityMin { get; set; }

    [Column("differential_pressure_min"), Comment("Перепад давления минимальный, атм")]
    [Range(0.1, 400.0)]
    [Required]
    public double DifferentialPressureMin { get; set; }

    [Column("weight_on_bit_min"), Comment("Нагрузка минимальная, т")]
    [Range(0.1, 99.0)]
    [Required]
    public double WeightOnBitMin { get; set; }

    [Column("note"), Comment("Примечание"), StringLength(1024)]
    public string Note { get; set; } = string.Empty;

    [ForeignKey(nameof(IdPrevious))]
    public virtual ProcessMapPlanLoadCapacity? Previous { get; set; }
}