From 98ddf83e0bc9317e83ec327f5c8f9f4c89342d17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=82=D0=B5=D0=BF=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=94?= =?UTF-8?q?=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B0=D0=BD=D0=B4=D1=80=D0=BE=D0=B2=D0=B8=D1=87?= Date: Wed, 19 Jul 2023 11:04:01 +0500 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C=D1=88?= =?UTF-8?q?=D0=BE=D0=B9=20=D1=84=D0=B8=D0=BA=D1=81=20=D1=81=D0=B5=D1=80?= =?UTF-8?q?=D0=B2=D0=B8=D1=81=D0=B0=20=D0=B8=D0=BC=D0=BF=D0=BE=D1=80=D1=82?= =?UTF-8?q?=D0=B0/=D1=8D=D0=BA=D1=81=D0=BF=D0=BE=D1=80=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. Добавил валидацию режима 2. Поправил валидацию секции --- .../ProcessMap/ProcessMapPlanImportService.cs | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/AsbCloudInfrastructure/Services/ProcessMap/ProcessMapPlanImportService.cs b/AsbCloudInfrastructure/Services/ProcessMap/ProcessMapPlanImportService.cs index ae2ddd84..60fbc9bd 100644 --- a/AsbCloudInfrastructure/Services/ProcessMap/ProcessMapPlanImportService.cs +++ b/AsbCloudInfrastructure/Services/ProcessMap/ProcessMapPlanImportService.cs @@ -181,8 +181,8 @@ public class ProcessMapPlanImportService : IProcessMapPlanImportService private ProcessMapPlanDto ParseRow(IXLRow row) { - var wellSectionTypeCaption = GetCellValue(row, columnWellSectionType); - var modeName = GetCellValue(row, columnMode); + var wellSectionTypeCaption = GetCellValue(row, columnWellSectionType).Trim().ToLower(); + var modeName = GetCellValue(row, columnMode).Trim().ToLower(); var depthStart = GetCellValue(row, columnDepthStart); var depthEnd = GetCellValue(row, columnDepthEnd); var pressurePlan = GetCellValue(row, columnPressurePlan); @@ -199,11 +199,15 @@ public class ProcessMapPlanImportService : IProcessMapPlanImportService var usageSaub = GetCellValue(row, columnUsageSaub); var usageSpin = GetCellValue(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)