diff --git a/AsbCloudWebApi.IntegrationTests/Controllers/ProcessMapPlan/ProcessMapPlanDrillingControllerTest.cs b/AsbCloudWebApi.IntegrationTests/Controllers/ProcessMapPlan/ProcessMapPlanDrillingControllerTest.cs index 0ff8bb97..3a5815e9 100644 --- a/AsbCloudWebApi.IntegrationTests/Controllers/ProcessMapPlan/ProcessMapPlanDrillingControllerTest.cs +++ b/AsbCloudWebApi.IntegrationTests/Controllers/ProcessMapPlan/ProcessMapPlanDrillingControllerTest.cs @@ -571,10 +571,10 @@ public class ProcessMapPlanDrillingControllerTest: BaseIntegrationTest //arrange const string fileName = "ProcessMapPlanDrillingValid.xlsx"; var stream = Assembly.GetExecutingAssembly().GetFileCopyStream(fileName); - - //act var streamPart = new StreamPart(stream, fileName, "application/octet-stream"); - var response = await client.Parse(Defaults.Wells[0].Id, new[] { streamPart }); + + //act + var response = await client.Parse(Defaults.Wells[0].Id, streamPart); //assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); @@ -589,9 +589,8 @@ public class ProcessMapPlanDrillingControllerTest: BaseIntegrationTest var dtoActual = row.Item; Assert.True(row.IsValid); - - var excludeProps = new[] { nameof(ProcessMapPlanDrillingDto.IdWell) }; - MatchHelper.Match(dto, dtoActual, excludeProps); + + MatchHelper.Match(dto, dtoActual); } [Fact] @@ -600,11 +599,12 @@ public class ProcessMapPlanDrillingControllerTest: BaseIntegrationTest //arrange const string fileName = "ProcessMapPlanDrillingInvalid.xlsx"; var stream = Assembly.GetExecutingAssembly().GetFileCopyStream(fileName); + var streamPart = new StreamPart(stream, fileName, "application/octet-stream"); //act - var streamPart = new StreamPart(stream, fileName, "application/octet-stream"); - var response = await client.Parse(Defaults.Wells[0].Id, new[] { streamPart }); + var response = await client.Parse(Defaults.Wells[0].Id, streamPart); + //assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); var parserResult = response.Content; diff --git a/AsbCloudWebApi/Controllers/ProcessMaps/ProcessMapPlanBaseController.cs b/AsbCloudWebApi/Controllers/ProcessMaps/ProcessMapPlanBaseController.cs index 45da7f11..49513f2c 100644 --- a/AsbCloudWebApi/Controllers/ProcessMaps/ProcessMapPlanBaseController.cs +++ b/AsbCloudWebApi/Controllers/ProcessMaps/ProcessMapPlanBaseController.cs @@ -30,11 +30,11 @@ public abstract class ProcessMapPlanBaseController : ControllerBase { private readonly IChangeLogRepository repository; private readonly IWellService wellService; - private readonly ParserExcelService parserService; + private readonly ParserExcelService parserService; protected ProcessMapPlanBaseController(IChangeLogRepository repository, IWellService wellService, - ParserExcelService parserService) + ParserExcelService parserService) { this.repository = repository; this.wellService = wellService; @@ -213,7 +213,7 @@ public abstract class ProcessMapPlanBaseController : ControllerBase [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(typeof(ValidationProblemDetails), StatusCodes.Status400BadRequest)] public async Task>> Parse(int idWell, - [Required] IFormFile file, + [Required] IFormFile file, CancellationToken token) { await AssertUserHasAccessToWell(idWell, token); @@ -222,9 +222,8 @@ public abstract class ProcessMapPlanBaseController : ControllerBase try { - var dto = parserService.Parse(stream, IParserOptionsRequest.Empty()); - foreach (var item in dto.Item) - item.Item.IdWell = idWell; + var options = new WellRelatedParserRequest(idWell); + var dto = parserService.Parse(stream, options); return Ok(dto); } diff --git a/AsbCloudWebApi/Controllers/Trajectory/TrajectoryEditableController.cs b/AsbCloudWebApi/Controllers/Trajectory/TrajectoryEditableController.cs index 344ed707..814bcdcf 100644 --- a/AsbCloudWebApi/Controllers/Trajectory/TrajectoryEditableController.cs +++ b/AsbCloudWebApi/Controllers/Trajectory/TrajectoryEditableController.cs @@ -13,6 +13,7 @@ using System.Threading.Tasks; using AsbCloudApp.Data; using AsbCloudApp.Requests.ParserOptions; using AsbCloudInfrastructure.Services.Parser; +using AsbCloudInfrastructure.Services.Trajectory.Parser; namespace AsbCloudWebApi.Controllers.Trajectory { @@ -25,11 +26,11 @@ namespace AsbCloudWebApi.Controllers.Trajectory public abstract class TrajectoryEditableController : TrajectoryController where TDto : TrajectoryGeoDto { - private readonly ParserExcelService parserService; + private readonly TrajectoryParser parserService; private readonly ITrajectoryEditableRepository trajectoryRepository; protected TrajectoryEditableController(IWellService wellService, - ParserExcelService parserService, + TrajectoryParser parserService, TrajectoryExportService trajectoryExportService, ITrajectoryEditableRepository trajectoryRepository) : base(wellService, trajectoryExportService, trajectoryRepository) @@ -78,7 +79,9 @@ namespace AsbCloudWebApi.Controllers.Trajectory try { - var dto = parserService.Parse(stream, IParserOptionsRequest.Empty()); + var options = new WellRelatedParserRequest(idWell); + var dto = parserService.Parse(stream, options); + return Ok(dto); } catch (FileFormatException ex)