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>();
    }
}