diff --git a/PARR.API/Controllers/V1/RobotTaskController.cs b/PARR.API/Controllers/V1/RobotTaskController.cs index c0434b44..b0d3d8b7 100644 --- a/PARR.API/Controllers/V1/RobotTaskController.cs +++ b/PARR.API/Controllers/V1/RobotTaskController.cs @@ -33,7 +33,7 @@ namespace PARR.API.Controllers.V1 private readonly IRobotHistoryService robotHistoryService; private readonly IShortcodesService shortcodesService; private readonly INextRunService nextRunService; - private readonly IScheduleResponseAreaTimeOffsetService scheduleResponseAreaTimeOffsetService; + //private readonly IScheduleResponseAreaTimeOffsetService scheduleResponseAreaTimeOffsetService; public RobotTaskController( IMapper mapper, @@ -44,8 +44,8 @@ namespace PARR.API.Controllers.V1 IClientService clientService, IRobotHistoryService robotHistoryService, IShortcodesService shortcodesService, - INextRunService nextRunService, - IScheduleResponseAreaTimeOffsetService scheduleResponseAreaTimeOffsetService + INextRunService nextRunServic + //IScheduleResponseAreaTimeOffsetService scheduleResponseAreaTimeOffsetService ) { this.mapper = mapper; @@ -57,7 +57,7 @@ namespace PARR.API.Controllers.V1 this.robotHistoryService = robotHistoryService; this.shortcodesService = shortcodesService; this.nextRunService = nextRunService; - this.scheduleResponseAreaTimeOffsetService = scheduleResponseAreaTimeOffsetService; + //this.scheduleResponseAreaTimeOffsetService = scheduleResponseAreaTimeOffsetService; } @@ -197,9 +197,9 @@ namespace PARR.API.Controllers.V1 { //RobotTaskTemplateResponse var robotTaskTemplateResponse = mapper.Map(task); - robotTaskTemplateResponse.FullDescription = await shortcodesService.ApplyShortcodesAsync(robotTaskTemplateResponse.FullDescription, task.Template!); + robotTaskTemplateResponse.FullDescription = NormalizeLineEndingsToCrlf(await shortcodesService.ApplyShortcodesAsync(robotTaskTemplateResponse.FullDescription, task.Template!)); robotTaskTemplateResponse.ShortDescription = await shortcodesService.ApplyShortcodesAsync(robotTaskTemplateResponse.ShortDescription, task.Template!); - robotTaskTemplateResponse.Solution = await shortcodesService.ApplyShortcodesAsync(robotTaskTemplateResponse.Solution, task.Template!); + robotTaskTemplateResponse.Solution = NormalizeLineEndingsToCrlf(await shortcodesService.ApplyShortcodesAsync(robotTaskTemplateResponse.Solution, task.Template!)); robotTaskTemplateResponse.TnkName = await shortcodesService.ApplyShortcodesAsync(robotTaskTemplateResponse.TnkName, task.Template!); robotTaskTemplateResponse.WorkName = await shortcodesService.ApplyShortcodesAsync(robotTaskTemplateResponse.WorkName, task.Template!); robotTaskTemplateResponse.WorkGroup = await shortcodesService.ApplyShortcodesAsync(robotTaskTemplateResponse.WorkGroup, task.Template!); @@ -318,5 +318,19 @@ namespace PARR.API.Controllers.V1 return true; } + + /// + /// Приводит переносы строк в тексте к формату CRLF (\r\n) + /// + /// Исходный текст + /// Текст с унифицированными переносами строк + private string NormalizeLineEndingsToCrlf(string? text) + { + if (string.IsNullOrEmpty(text)) + return string.Empty; + + // Заменяем любые варианты переносов (\r\n, \r, \n) на единый \r\n + return System.Text.RegularExpressions.Regex.Replace(text, @"\r\n|\r|\n", "\r\n"); + } } }