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

namespace AsbCloudDb.Model.ProcessMaps;

[Table("t_process_map_plan_operation_switch_mode"), Comment("Выход на плановый расход")]
public class ProcessMapPlanOperationSwitchingToTheMode : ProcessMapPlanBase
{
    [Column("ramp_time"), Comment("Время выхода буровых насосов на плановый расход, сек.")]
    [Range(0.0, 3600.0)]
    [Required]
    public double RampTime { get; set; }

    [Column("flow_rate"), Comment("Расход, л/с")]
    [Range(0.0, 100.0)]
    [Required]
    public double FlowRate { get; set; }

    [Column("pressure_limit"), Comment("Максимально допустимое давление, атм.")]
    [Range(0.0, 400.0)]
    [Required]
    public double PressureMax { get; set; }

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

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