namespace PARR.API.Contracts.V1.Responses
{
public class JobGroupBaseResponse
{
public Guid Id { get; set; }
public required string Name { get; set; }
//public bool? IsUmbrella { get; set; }
public required string ShortDescription { get; set; }
public required string FullDescription { get; set; }
public required string Solution { get; set; }
public required string TemplateDuration { get; set; }
public DateTimeOffset ReferenceDate { get; set; }
public int? UserTimeZoneOffsetMinutes { get; set; }
public bool IsWorkGroupTimezone { get; set; }
public required JobGroupTypeResponse GroupType { get; set; }
///
/// По какому полю грппируется, если используется тип ГРУППИРОВКА
///
public FieldResponse? GroupingUnitField { get; set; }
///
/// Включено автораспределение
///
public bool IsAutoDistributionEnabled { get; set; }
// public bool IsAgent { get; set; }
// public string? AgentName { get; set; }
// public int? AgentTimeOutSec { get; set; }
// public string? AgentScript { get; set; }
}
public class JobGroupResponse : JobGroupWithDistributionConfigResponse //: JobGroupBaseResponse
{
//public List? Jobs { get; set; }
public int JobsCount { get; set; }
public JobGroupScheduleResponse? Schedule { get; set; }
public MatchingStatusResponse? MatchingStatus { get; set; }
///
/// Расписание
///
public ScheduleExcludeTypeResponse? ScheduleExcludeType { get; set; }
///
/// Тип исключения - календарь
///
public ScheduleExcludeTypeCalendarResponse? ScheduleExcludeTypeCalendar { get; set; }
/////
///// Настройки автораспределения
/////
//public JobGroupDistributionConfigResponse? DistributionConfig { get; set; }
}
public class JobGroupScheduleResponse
{
public string Timezone { get; set; } = string.Empty;
public EsppScheduleTypeScheduleResponse? TypeSchedule { get; set; }
public List? Values { get; set; }
}
public class JobGroupWithDistributionConfigResponse : JobGroupBaseResponse
{
///
/// Настройки автораспределения
///
public JobGroupDistributionConfigResponse? DistributionConfig { get; set; }
}
}