using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;

namespace AsbCloudApp.Requests
{
    /// <summary>
    /// Параметры запроса на получение операций определенных по телеметрии
    /// </summary>
    public class DetectedOperationRequest : RequestBase
    {
        /// <summary>
        /// категория операций
        /// </summary>
        [Required]
        public int IdWell { get; set; }
        
        /// <summary>
        /// Список id телеметрий
        /// пустой список - нет фильтрации
        /// </summary>
        public IEnumerable<int> IdsTelemetries { get; set; } = Array.Empty<int>();

        /// <summary>
        /// категории операций
        /// </summary>
        public IEnumerable<int> IdsCategories { get; set; } = Array.Empty<int>();

        /// <summary>
        /// Больше или равно дате
        /// </summary>
        public DateTimeOffset? GeDateStart { get; set; }

        /// <summary>
        /// Меньше или равно дате
        /// </summary>
        public DateTimeOffset? LeDateEnd { get; set; }

        /// <summary>
        /// Больше или равно глубины забоя
        /// </summary>
        public double? GeDepth { get; set; }

        /// <summary>
        /// Меньше или равно глубины забоя
        /// </summary>
        public double? LeDepth { get; set; }

        /// <summary>
        /// Фильтр по пользователю панели
        /// </summary>
        public int? IdTelemetryUser { get; set; }

    }
}