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