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

47 lines
2.2 KiB
C#
Raw Normal View History

using PARR.DAL.Models;
using PARR.DAL.Services.Interfaces.Base;
using PARR.Domain.Enums;
namespace PARR.DAL.Services.Interfaces
{
public interface IRobotConfigurationService : IBaseService<RobotConfiguration>
{
/// <summary>
/// Обновить статус работы робота
/// </summary>
/// <param name="robotStatus"></param>
/// <param name="configuration"></param>
void ChangeRobotStatus(RobotStatusEnum robotStatus, RobotConfiguration configuration);
/// <summary>
/// Обновить статус задания (автоматически обновляется статус робота при необходимости)
/// </summary>
/// <param name="taskStatus"></param>
/// <param name="configuration"></param>
void ChangeTaskStatus(TaskStatusEnum taskStatus, 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, Template template);
/// <summary>
/// Установить статус задания "Обновить", если разрешено
/// </summary>
/// <param name="configuration"></param>
/// <returns>true - если изменил статус, false - нельзя изменить статус</returns>
bool SetUpdateTaskStatusIfAllow(RobotConfiguration configuration);
}
}