forked from ddrilling/AsbCloudServer
Разделил Dto
This commit is contained in:
parent
14615517d6
commit
7d00cfde1c
@ -0,0 +1,12 @@
|
|||||||
|
namespace AsbCloudApp.Data.WellOperationImport.Options;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Опции для парсинга
|
||||||
|
/// </summary>
|
||||||
|
public interface IWellOperationImportOptions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Тип операции
|
||||||
|
/// </summary>
|
||||||
|
int IdType { get; }
|
||||||
|
}
|
@ -0,0 +1,18 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.WellOperationImport.Options;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Опции для парсинга дефолтного шаблона
|
||||||
|
/// </summary>
|
||||||
|
public class WellOperationImportDefaultOptionsDto : IWellOperationImportOptions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Тип операции
|
||||||
|
/// 0 - плановая операция
|
||||||
|
/// 1 - фактическая операция
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
[Range(0, 1, ErrorMessage = "Тип операции недопустим. Допустимые: 0, 1")]
|
||||||
|
public int IdType { get; set; }
|
||||||
|
}
|
@ -0,0 +1,36 @@
|
|||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.WellOperationImport.Options;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Опции для настройки парсинга документа ГПНХ(Хантос)
|
||||||
|
/// </summary>
|
||||||
|
public class WellOperationImportGazpromKhantosOptionsDto : IWellOperationImportOptions
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Название листа
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
[StringLength(250, MinimumLength = 1, ErrorMessage = "Название листа должно быть задано")]
|
||||||
|
public string SheetName { get; set; } = null!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Тип операции
|
||||||
|
/// 0 - плановая операция
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
[Range(0, 0, ErrorMessage = "Тип операции недопустим. Допустимый: 0")]
|
||||||
|
public int IdType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Начальная строка
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public int StartRow { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Конечная строка
|
||||||
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
public int EndRow { get; set; }
|
||||||
|
}
|
20
AsbCloudApp/Data/WellOperationImport/SheetDto.cs
Normal file
20
AsbCloudApp/Data/WellOperationImport/SheetDto.cs
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
namespace AsbCloudApp.Data.WellOperationImport;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Лист полученный из файла Excel
|
||||||
|
/// </summary>
|
||||||
|
public class SheetDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Название листа
|
||||||
|
/// </summary>
|
||||||
|
public string Name { get; set; } = null!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Строки
|
||||||
|
/// </summary>
|
||||||
|
public IEnumerable<RowDto> Rows { get; set; } = Enumerable.Empty<RowDto>();
|
||||||
|
}
|
@ -1,50 +0,0 @@
|
|||||||
using System.Collections.Generic;
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
|
||||||
|
|
||||||
namespace AsbCloudApp.Data.WellOperationImport;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Опции для настройки парсинга документа
|
|
||||||
/// </summary>
|
|
||||||
public class WellOperationParserOptionsDto : IValidatableObject
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Название листа
|
|
||||||
/// </summary>
|
|
||||||
public string? SheetName { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Тип операции
|
|
||||||
/// 0 - плановая операция
|
|
||||||
/// 1 - фактическая операция
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 1, ErrorMessage = "Тип операции недопустим. Допустимые: 0, 1")]
|
|
||||||
public int IdType { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Тип шаблона
|
|
||||||
/// 0 - Дефолтный шаблон
|
|
||||||
/// 1 - Газпром хантос
|
|
||||||
/// </summary>
|
|
||||||
[Required]
|
|
||||||
[Range(0, 1, ErrorMessage = "Тип шаблона недопустим. Допустимые: 0, 1")]
|
|
||||||
public int IdTemplate { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Начальная строка
|
|
||||||
/// </summary>
|
|
||||||
public int? StartRow { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Конечная строка
|
|
||||||
/// </summary>
|
|
||||||
public int? EndRow { get; set; }
|
|
||||||
|
|
||||||
/// <inheritdoc/>
|
|
||||||
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
|
|
||||||
{
|
|
||||||
if (IdTemplate != 0 && string.IsNullOrWhiteSpace(SheetName))
|
|
||||||
yield return new ValidationResult("Название листа должно быть задано", new[] { nameof(SheetName) });
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user