forked from ddrilling/AsbCloudServer
Небольшой фикс сервиса импорта/экспорта
1. Добавил валидацию режима 2. Поправил валидацию секции
This commit is contained in:
parent
fb87ee84bd
commit
98ddf83e0b
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user