using PARR.EsppApi; using PARR.EsppApi.Models.Query; namespace PARR.Test { public class Worker : BackgroundService { private readonly ILogger _logger; private readonly IEsppApiService esppApiService; public Worker(ILogger logger, IEsppApiService esppApiService) { _logger = logger; this.esppApiService = esppApiService; } protected override async Task ExecuteAsync(CancellationToken stoppingToken) { await TestEsppApi(); } private async Task TestEsppApi() { //var result = await esppApiService.FindOrdersAsync(new FindOrdersQuery { DescriptionContains = "Полное", GenerateDateStart = new DateTime(2023, 10, 10) , GenerateDateEnd = new DateTime(2023, 10, 24) }); var recordId = "НАР23-00046650"; var result = await esppApiService.FindOrderByRecordIdAsync(recordId); if (result.IsSuccess && (result.Data != null && result.Data.Number.Any())) { //var orders = result.Data; var inWorkResult = await esppApiService.SetStatusInWorkAsync(recordId, "Решение...\nС новой строки"); if (!inWorkResult.IsSuccess) { _logger.LogError(inWorkResult.Exception, $"Не удалось взять в работу наряда{recordId}"); return; } var tnk = new AddMtnkQuery { RecordId = recordId, JobOperation = "Не учтена в перечне ТНК", Time = "00:05" }; var addMtnkResult = await esppApiService.AddMTnkAsync(tnk); if (!addMtnkResult.IsSuccess) { _logger.LogError(addMtnkResult.Exception, $"Не удалось списать трудозатраты наряда {recordId}"); return; } var resFinish = await esppApiService.SetStatusIsDoneAsync(recordId, "Решение..."); if (!resFinish.IsSuccess) { _logger.LogError(resFinish.Exception, $"Не удалось обновить статус наряда {recordId}"); return; } } else { _logger.LogWarning($"не найден наряд {recordId}"); } } } }