using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace AsbCloudApp.Data.WellOperationImport;
///
/// Опции для настройки парсинга документа
///
public class WellOperationParserOptionsDto : IValidatableObject
{
///
/// Название листа
///
public string? SheetName { get; set; }
///
/// Тип операции
/// 0 - плановая операция
/// 1 - фактическая операция
///
[Required]
[Range(0, 1, ErrorMessage = "Тип операции недопустим. Допустимые: 0, 1")]
public int IdType { get; set; }
///
/// Тип шаблона
/// 0 - Дефолтный шаблон
/// 1 - Газпром хантос
///
[Required]
[Range(0, 1, ErrorMessage = "Тип шаблона недопустим. Допустимые: 0, 1")]
public int IdTemplate { get; set; }
///
/// Начальная строка
///
public int? StartRow { get; set; }
///
/// Конечная строка
///
public int? EndRow { get; set; }
///
public IEnumerable Validate(ValidationContext validationContext)
{
if (IdTemplate != 0 && string.IsNullOrWhiteSpace(SheetName))
yield return new ValidationResult("Название листа должно быть задано", new[] { nameof(SheetName) });
}
}