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