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

namespace AsbCloudApp.Data;

/// <summary>
/// DTO кустов
/// </summary>
public class ClusterDto : MapPointBaseDto
{
    /// <summary>
    /// ИД месторождения, необязательный
    /// </summary>
    [Required]
    [Range(1, int.MaxValue, ErrorMessage = "Id месторождения не может быть меньше 1")]
    public int IdDeposit { get; set; }

    /// <summary>
    /// DTO месторождения
    /// </summary>
    public DepositBaseDto? Deposit { get; set; }

    /// <summary>
    /// Список скважин куста
    /// </summary>
    public IEnumerable<WellDto> Wells { get; set; } = Enumerable.Empty<WellDto>();
}

/// <summary>
/// DTO кустов
/// </summary>
public class ClusterBranchDto : MapPointBaseDto
{
    /// <summary>
    /// Список скважин куста
    /// </summary>
    public IEnumerable<WellMapInfoWithTelemetryStat> Wells { get; set; } = Enumerable.Empty<WellMapInfoWithTelemetryStat>();
}