using System;
using System.ComponentModel.DataAnnotations;

namespace AsbCloudApp.Requests;

/// <summary>
/// Запрос для получения РТК план
/// </summary>
public class ProcessMapPlanBaseRequest: ChangeLogBaseRequest
{
    /// <summary>
    /// Тип секции
    /// </summary>
    [Range(1, int.MaxValue, ErrorMessage = "Id секции - положительное число")]
    public int? IdWellSectionType { get; set; }

    /// <summary>
    /// Вернуть данные, которые поменялись с указанной даты
    /// </summary>
    public DateTimeOffset? UpdateFrom { get; set; }
}

/// <summary>
/// Запрос для получения РТК план по скважине
/// </summary>
public class ProcessMapPlanBaseRequestWithWell: ProcessMapPlanBaseRequest
{
    /// <summary>
    /// Запрос для получения РТК план по скважине
    /// </summary>
    /// <param name="idWell"></param>
    public ProcessMapPlanBaseRequestWithWell(int idWell)
    {
        IdWell = idWell;
    }

    /// <summary>
    /// Запрос для получения РТК план по скважине
    /// </summary>
    /// <param name="request"></param>
    /// <param name="idWell"></param>
    public ProcessMapPlanBaseRequestWithWell(ProcessMapPlanBaseRequest request, int idWell)
    {
        IdWell=idWell;
        IdWellSectionType=request.IdWellSectionType;
        UpdateFrom = request.UpdateFrom;
        Moment = request.Moment;
    }

    /// <summary>
    /// Id скважины
    /// </summary>
    public int IdWell { get; set; }
}