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