Валидация категории скважины

This commit is contained in:
Olga Nemt 2023-06-02 12:36:27 +05:00
parent 4a60a8fb12
commit da9f88f058
2 changed files with 11 additions and 3 deletions

View File

@ -298,7 +298,7 @@ namespace AsbCloudInfrastructure.Services.WellOperationService
if (vCategory is string categoryName)
{
var category = Categories.Find(c => c.Name.ToLower() == categoryName.ToLower());
if (category is null)
if (category is null || category.Id < 5000)
throw new FileFormatException($"Лист {row.Worksheet.Name}. Строка {row.RowNumber()} указана некорректная операция");
operation.IdCategory = category.Id;

View File

@ -1,4 +1,5 @@
using AsbCloudApp.Data;
using AsbCloudApp.Exceptions;
using AsbCloudApp.Repositories;
using AsbCloudApp.Requests;
using AsbCloudApp.Services;
@ -9,6 +10,7 @@ using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
@ -209,6 +211,9 @@ namespace AsbCloudWebApi.Controllers
if (!await CanUserAccessToWellAsync(idWell, token).ConfigureAwait(false))
return Forbid();
if (values.Any(v => v.IdCategory < 5000))
throw new ArgumentInvalidException($"Некорректная категория скважины / скважин", nameof(values));
foreach (var value in values)
{
value.IdWell = idWell;
@ -239,6 +244,9 @@ namespace AsbCloudWebApi.Controllers
if (!await CanUserAccessToWellAsync(idWell, token).ConfigureAwait(false))
return Forbid();
if (value.IdCategory < 5000)
throw new ArgumentInvalidException($"Выбрана некорректная категория скважины", nameof(value.IdCategory));
value.IdWell = idWell;
value.Id = idOperation;
value.LastUpdateDate = DateTimeOffset.UtcNow;