refactor(api): Вынес логику выставления статуса робота из контроллера в Template сервис.
This commit is contained in:
@@ -74,5 +74,29 @@ namespace PARR.DAL.Services.Implementations
|
||||
logger.LogError($"Ошибка при сохранении изменений RobotStatus у шаблонов на {RobotStatusEnum.Error}");
|
||||
|
||||
}
|
||||
|
||||
public void ChangeRobotStatus(RobotStatusEnum status, ref Template template)
|
||||
{
|
||||
template.RobotStatusCode = (int)status;
|
||||
|
||||
switch (status)
|
||||
{
|
||||
case RobotStatusEnum.InProgress:
|
||||
template.RobotAttemptsNumber++;
|
||||
template.RobotLastStatusUpdated = DateTimeOffset.UtcNow;
|
||||
break;
|
||||
//case RobotStatusEnum.Error:
|
||||
// break;
|
||||
case RobotStatusEnum.Complete:
|
||||
template.RobotLastStatusUpdated = DateTimeOffset.UtcNow;
|
||||
break;
|
||||
case RobotStatusEnum.Wait:
|
||||
template.RobotLastStatusUpdated = null;
|
||||
template.RobotAttemptsNumber = 0;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,18 @@
|
||||
using PARR.DAL.Models;
|
||||
using PARR.DAL.Contracts;
|
||||
using PARR.DAL.Models;
|
||||
using PARR.DAL.Services.Interfaces.Base;
|
||||
|
||||
namespace PARR.DAL.Services.Interfaces
|
||||
{
|
||||
public interface ITemplateService : IBaseService<Template>
|
||||
{
|
||||
/// <summary>
|
||||
/// Изменение статуса отработки робота (без коммита)
|
||||
/// </summary>
|
||||
/// <param name="status"></param>
|
||||
/// <param name="template"></param>
|
||||
void ChangeRobotStatus(RobotStatusEnum status, ref Template template);
|
||||
|
||||
/// <summary>
|
||||
/// Поиск шаблонов с просроченным временем выполнения роботом и превышенным кол-вом попыток. Установка им ошибочного статуса
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user