Небольшой фикс сервиса импорта/экспорта

1. Добавил валидацию режима
2. Поправил валидацию секции
This commit is contained in:
parent fb87ee84bd
commit 98ddf83e0b

View File

@ -181,8 +181,8 @@ public class ProcessMapPlanImportService : IProcessMapPlanImportService
private ProcessMapPlanDto ParseRow(IXLRow row)
{
var wellSectionTypeCaption = GetCellValue<string>(row, columnWellSectionType);
var modeName = GetCellValue<string>(row, columnMode);
var wellSectionTypeCaption = GetCellValue<string>(row, columnWellSectionType).Trim().ToLower();
var modeName = GetCellValue<string>(row, columnMode).Trim().ToLower();
var depthStart = GetCellValue<double>(row, columnDepthStart);
var depthEnd = GetCellValue<double>(row, columnDepthEnd);
var pressurePlan = GetCellValue<double>(row, columnPressurePlan);
@ -199,11 +199,15 @@ public class ProcessMapPlanImportService : IProcessMapPlanImportService
var usageSaub = GetCellValue<double>(row, columnUsageSaub);
var usageSpin = GetCellValue<double>(row, columnUsageSpin);
var wellSection = sections.FirstOrDefault(s => s.Caption.Trim() == wellSectionTypeCaption.Trim())
var wellSection = sections.FirstOrDefault(s => s.Caption.Trim().ToLower() == wellSectionTypeCaption)
?? throw new FileFormatException(
$"Лист {row.Worksheet.Name}. В строке {row.RowNumber()} указана некорректная секция");
if (depthStart is < 0 or > 50000)
var idMode = GetIdMode(modeName)
?? throw new FileFormatException(
$"Лист {row.Worksheet.Name}. В строке {row.RowNumber()} указан некорректный режим");
if (depthStart is < 0 or > 50000)
throw new FileFormatException(
$"Лист {row.Worksheet.Name}. В строке {row.RowNumber()} указана некорректная стартовая глубина");
@ -266,7 +270,7 @@ public class ProcessMapPlanImportService : IProcessMapPlanImportService
return new()
{
IdWellSectionType = wellSection.Id,
IdMode = GetIdMode(modeName),
IdMode = idMode,
DepthStart = depthStart,
LastUpdate = DateTime.UtcNow,
DepthEnd = depthEnd,
@ -316,12 +320,13 @@ public class ProcessMapPlanImportService : IProcessMapPlanImportService
return memoryStream;
}
private static int GetIdMode(string modeName) =>
private static int? GetIdMode(string modeName) =>
modeName switch
{
"Ротор" => 1,
"Слайд" => 2,
_ => 0
"ручной" => 0,
"ротор" => 1,
"слайд" => 2,
_ => null
};
private static string GetModeCaption(int idMode)