using System.ComponentModel.DataAnnotations;

namespace AsbCloudApp.Data.DetectedOperation;

/// <summary>
/// Статистика по операциям например за период.
/// </summary>
public class DetectedOperationStatDto
{
    /// <summary>
    /// Id названия/описания операции
    /// </summary>
    [Required]
    public int IdCategory { get; set; }

    /// <summary>
    /// Название операции
    /// </summary>
    public string Category { get; set; } = string.Empty;

    /// <summary>
    /// Количество операций
    /// </summary>
    [Required]
    public int Count { get; set; }

    /// <summary>
    /// Среднее по ключевому показателю
    /// </summary>
    [Required]
    public double ValueAverage { get; set; }

    /// <summary>
    /// Мин по ключевому показателю
    /// </summary>
    [Required]
    public double ValueMin { get; set; }

    /// <summary>
    /// Макс по ключевому показателю
    /// </summary>
    [Required]
    public double ValueMax { get; set; }

    /// <summary>
    /// Суммарное время операций, мин
    /// </summary>
    [Required]
    public double MinutesTotal { get; set; }

    /// <summary>
    /// Мин продолжительность операции, мин
    /// </summary>
    [Required]
    public double MinutesMin { get; set; }

    /// <summary>
    /// Макс продолжительность операции, мин
    /// </summary>
    [Required]
    public double MinutesMax { get; set; }

    /// <summary>
    /// Средняя продолжительность операции, мин
    /// </summary>
    [Required]
    public double MinutesAverage { get; set; }
}