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