diff --git a/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj b/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj index 3ff14745..8d110e66 100644 --- a/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj +++ b/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj @@ -34,9 +34,9 @@ - - - + + + diff --git a/AsbCloudInfrastructure/Services/Trajectory/FactTrajectoryImportService.cs b/AsbCloudInfrastructure/Services/Trajectory/FactTrajectoryImportService.cs index 95b39bfc..defc5207 100644 --- a/AsbCloudInfrastructure/Services/Trajectory/FactTrajectoryImportService.cs +++ b/AsbCloudInfrastructure/Services/Trajectory/FactTrajectoryImportService.cs @@ -9,7 +9,7 @@ namespace AsbCloudInfrastructure.Services.Trajectory public class FactTrajectoryImportService : TrajectoryImportService { public override string templateFileName { get; set; } = "FactTrajectoryTemplate.xlsx"; - public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory"; + public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory.Templates"; public override string sheetNamePlannedTrajectory { get; set; } = "Фактическая траектория"; public override int headerRowsCount { get; set; } = 2; public override int ColumnWellboreDepth { get; set; } = 1; diff --git a/AsbCloudInfrastructure/Services/Trajectory/NnbTrajectoryImportService.cs b/AsbCloudInfrastructure/Services/Trajectory/NnbTrajectoryImportService.cs index fd87606e..869de4d7 100644 --- a/AsbCloudInfrastructure/Services/Trajectory/NnbTrajectoryImportService.cs +++ b/AsbCloudInfrastructure/Services/Trajectory/NnbTrajectoryImportService.cs @@ -9,8 +9,8 @@ namespace AsbCloudInfrastructure.Services.Trajectory public class NnbTrajectoryImportService : TrajectoryImportService { public override string templateFileName { get; set; } = "NnbTrajectoryTemplate.xlsx"; - public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory"; - public override string sheetNamePlannedTrajectory { get; set; } = "Плановая траектория"; + public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory.Templates"; + public override string sheetNamePlannedTrajectory { get; set; } = "Фактическая ннб-траектория"; public override int headerRowsCount { get; set; } = 2; public override int ColumnWellboreDepth { get; set; } = 1; public override int ColumnZenithAngle { get; set; } = 2; diff --git a/AsbCloudInfrastructure/Services/Trajectory/NnbTrajectoryTemplate.xlsx b/AsbCloudInfrastructure/Services/Trajectory/NnbTrajectoryTemplate.xlsx deleted file mode 100644 index 8d01c25b..00000000 Binary files a/AsbCloudInfrastructure/Services/Trajectory/NnbTrajectoryTemplate.xlsx and /dev/null differ diff --git a/AsbCloudInfrastructure/Services/Trajectory/PlannedTrajectoryImportService.cs b/AsbCloudInfrastructure/Services/Trajectory/PlannedTrajectoryImportService.cs index bbfbf7a1..296a4002 100644 --- a/AsbCloudInfrastructure/Services/Trajectory/PlannedTrajectoryImportService.cs +++ b/AsbCloudInfrastructure/Services/Trajectory/PlannedTrajectoryImportService.cs @@ -1,40 +1,18 @@ using AsbCloudApp.Data; using AsbCloudApp.Repositories; using AsbCloudApp.Services; -using AsbCloudDb.Model; using ClosedXML.Excel; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; namespace AsbCloudInfrastructure.Services.Trajectory { - public class PlannedTrajectoryImportService : TrajectoryImportService //IPlannedTrajectoryImportService + public class PlannedTrajectoryImportService : TrajectoryImportService { /* * password for PlannedTrajectoryTemplate.xlsx is Drill2022 */ - - private readonly IWellService wellService; - private readonly ITrajectoryEditableRepository plannedTrajectoryService; - - //private const string templateFileName = "PlannedTrajectoryTemplate.xlsx"; - //private const string usingTemplateFile = "AsbCloudInfrastructure.Services.Trajectory"; - //private const string sheetNamePlannedTrajectory = "Плановая траектория"; - //private const int headerRowsCount = 2; - //private const int ColumnWellboreDepth = 1; - //private const int ColumnZenithAngle = 2; - //private const int ColumnAzimuthGeo = 3; - //private const int ColumnAzimuthMagnetic = 4; - //private const int ColumnVerticalDepth = 5; - //private const int ColumnRadius = 6; - //private const int ColumnComment = 7; public override string templateFileName { get; set; } = "PlannedTrajectoryTemplate.xlsx"; - public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory"; + public override string usingTemplateFile { get; set; } = "AsbCloudInfrastructure.Services.Trajectory.Templates"; public override string sheetNamePlannedTrajectory { get; set; } = "Плановая траектория"; public override int headerRowsCount { get; set; } = 2; public override int ColumnWellboreDepth { get; set; } = 1; @@ -46,12 +24,11 @@ namespace AsbCloudInfrastructure.Services.Trajectory public override int ColumnComment { get; set; } = 7; public PlannedTrajectoryImportService( - IWellService wellService, - ITrajectoryEditableRepository plannedTrajectoryService) + IWellService wellService, + ITrajectoryEditableRepository plannedTrajectoryService) : base(plannedTrajectoryService, wellService) { - this.wellService = wellService; - } + } protected override TrajectoryGeoPlanDto ParseRow(IXLRow row) { @@ -65,7 +42,7 @@ namespace AsbCloudInfrastructure.Services.Trajectory Radius = row.Cell(ColumnRadius).GetCellValue(), Comment = row.Cell(ColumnComment).GetCellValue() }; - + return trajectoryRow; } diff --git a/AsbCloudInfrastructure/Services/Trajectory/FactTrajectoryTemplate.xlsx b/AsbCloudInfrastructure/Services/Trajectory/Templates/FactTrajectoryTemplate.xlsx similarity index 100% rename from AsbCloudInfrastructure/Services/Trajectory/FactTrajectoryTemplate.xlsx rename to AsbCloudInfrastructure/Services/Trajectory/Templates/FactTrajectoryTemplate.xlsx diff --git a/AsbCloudInfrastructure/Services/Trajectory/Templates/NnbTrajectoryTemplate.xlsx b/AsbCloudInfrastructure/Services/Trajectory/Templates/NnbTrajectoryTemplate.xlsx new file mode 100644 index 00000000..b6bc4bbf Binary files /dev/null and b/AsbCloudInfrastructure/Services/Trajectory/Templates/NnbTrajectoryTemplate.xlsx differ diff --git a/AsbCloudInfrastructure/Services/Trajectory/PlannedTrajectoryTemplate.xlsx b/AsbCloudInfrastructure/Services/Trajectory/Templates/PlannedTrajectoryTemplate.xlsx similarity index 100% rename from AsbCloudInfrastructure/Services/Trajectory/PlannedTrajectoryTemplate.xlsx rename to AsbCloudInfrastructure/Services/Trajectory/Templates/PlannedTrajectoryTemplate.xlsx diff --git a/AsbCloudInfrastructure/Services/Trajectory/TrajectoryImportService.cs b/AsbCloudInfrastructure/Services/Trajectory/TrajectoryImportService.cs index 6f719f85..132ffd63 100644 --- a/AsbCloudInfrastructure/Services/Trajectory/TrajectoryImportService.cs +++ b/AsbCloudInfrastructure/Services/Trajectory/TrajectoryImportService.cs @@ -1,24 +1,23 @@ using AsbCloudApp.Data; using AsbCloudApp.Repositories; using AsbCloudApp.Services; -using AsbCloudDb.Model; -using AsbCloudInfrastructure.Services.SAUB; using ClosedXML.Excel; using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Text; using System.Threading; using System.Threading.Tasks; namespace AsbCloudInfrastructure.Services.Trajectory { - public abstract class TrajectoryImportService where T: TrajectoryGeoDto + public abstract class TrajectoryImportService where T : TrajectoryGeoDto { - protected readonly IWellService wellService; + private readonly IWellService wellService; - protected readonly ITrajectoryRepository trajectoryService; + private readonly ITrajectoryRepository trajectoryService; + protected abstract void AddCoordinatesToRow(IXLRow row, T trajectory); + protected abstract T ParseRow(IXLRow row); public abstract string templateFileName { get; set; } public abstract string usingTemplateFile { get; set; } public abstract string sheetNamePlannedTrajectory { get; set; } @@ -30,8 +29,6 @@ namespace AsbCloudInfrastructure.Services.Trajectory public abstract int ColumnVerticalDepth { get; set; } public abstract int ColumnRadius { get; set; } public abstract int ColumnComment { get; set; } - protected abstract void AddCoordinatesToRow(IXLRow row, T trajectory); - protected abstract T ParseRow(IXLRow row); public TrajectoryImportService(ITrajectoryRepository trajectoryService, IWellService wellService) { @@ -54,37 +51,37 @@ namespace AsbCloudInfrastructure.Services.Trajectory return MakeExelFileStream(plannedTrajectorys); } - private Stream MakeExelFileStream(IEnumerable plannedTrajectories) + private Stream MakeExelFileStream(IEnumerable trajectories) { using Stream ecxelTemplateStream = GetTemplateFile(); using var workbook = new XLWorkbook(ecxelTemplateStream, XLEventTracking.Disabled); - AddPlannedTrajecoryToWorkbook(workbook, plannedTrajectories); + AddPlannedTrajecoryToWorkbook(workbook, trajectories); MemoryStream memoryStream = new MemoryStream(); workbook.SaveAs(memoryStream, new SaveOptions { }); memoryStream.Seek(0, SeekOrigin.Begin); return memoryStream; } - private void AddPlannedTrajecoryToWorkbook(XLWorkbook workbook, IEnumerable plannedTrajectories) + private void AddPlannedTrajecoryToWorkbook(XLWorkbook workbook, IEnumerable trajectories) { - if (plannedTrajectories.Any()) + if (trajectories.Any()) { var sheet = workbook.Worksheets.FirstOrDefault(ws => ws.Name == sheetNamePlannedTrajectory); if (sheet is null) throw new FileFormatException($"Лист с именем {sheetNamePlannedTrajectory} отсутствует, либо имеет некорректное название"); - AddPlannedTrajecoryToSheet(sheet, plannedTrajectories); + AddTrajecoryToSheet(sheet, trajectories); } } - private void AddPlannedTrajecoryToSheet(IXLWorksheet sheet, IEnumerable plannedTrajectories) + private void AddTrajecoryToSheet(IXLWorksheet sheet, IEnumerable trajectories) { - var rowList = plannedTrajectories.ToList(); + var rowList = trajectories.ToList(); for (int i = 0; i < rowList.Count; i++) { var row = sheet.Row(1 + i + headerRowsCount); AddCoordinatesToRow(row, rowList[i]); } - } + } public async Task GetFileNameAsync(int idWell, CancellationToken token) {