Files
parr_api/PARR.DAL/Services/Interfaces/IRobotConfigurationService.cs

40 lines
1.8 KiB
C#
Raw Normal View History

using PARR.DAL.Contracts;
using PARR.DAL.Models;
using PARR.DAL.Services.Interfaces.Base;
namespace PARR.DAL.Services.Interfaces
{
public interface IRobotConfigurationService : IBaseService<RobotConfiguration>
{
/// <summary>
/// Обновить статус работы робота
/// </summary>
/// <param name="robotStatus"></param>
/// <param name="configuration"></param>
void ChangeRobotStatus(RobotStatusEnum robotStatus, ref RobotConfiguration configuration);
/// <summary>
/// Обновить статус задания (автоматически обновляется статус робота при необходимости)
/// </summary>
/// <param name="taskStatus"></param>
/// <param name="configuration"></param>
void ChangeTaskStatus(TaskStatusEnum taskStatus, ref RobotConfiguration configuration);
/// <summary>
/// Поиск невыполненных заданий и установка им статуса ошибки робота
/// </summary>
/// <param name="robotAttemptsNumber"></param>
/// <param name="robotWaitTime"></param>
/// <returns></returns>
Task FindUnfulfilledTaskAndSetRobotErrorStatusAsync(int robotAttemptsNumber, TimeSpan robotWaitTime);
/// <summary>
/// Получить конфигурацию из шаблона по RobotCode. У шаблона обязательно должен быть Include таблицы RobotConfiguration
/// </summary>
/// <param name="robotsEnum"></param>
/// <param name="template"></param>
/// <returns></returns>
RobotConfiguration GetFromTemplateByRobotCode(RobotsEnum robotsEnum, ref Template template);
}
}