Files
parr_api/PARR.API/Contracts/V1/Responses/JobGroupResponse.cs

90 lines
2.7 KiB
C#

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; }
/// <summary>
/// По какому полю грппируется, если используется тип ГРУППИРОВКА
/// </summary>
public FieldResponse? GroupingUnitField { get; set; }
/// <summary>
/// Включено автораспределение
/// </summary>
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<JobResponse>? Jobs { get; set; }
public int JobsCount { get; set; }
public JobGroupScheduleResponse? Schedule { get; set; }
public MatchingStatusResponse? MatchingStatus { get; set; }
/// <summary>
/// Расписание
/// </summary>
public ScheduleExcludeTypeResponse? ScheduleExcludeType { get; set; }
/// <summary>
/// Тип исключения - календарь
/// </summary>
public ScheduleExcludeTypeCalendarResponse? ScheduleExcludeTypeCalendar { get; set; }
///// <summary>
///// Настройки автораспределения
///// </summary>
//public JobGroupDistributionConfigResponse? DistributionConfig { get; set; }
}
public class JobGroupScheduleResponse
{
public string Timezone { get; set; } = string.Empty;
public EsppScheduleTypeScheduleResponse? TypeSchedule { get; set; }
public List<EsppScheduleValResponse>? Values { get; set; }
}
public class JobGroupWithDistributionConfigResponse : JobGroupBaseResponse
{
/// <summary>
/// Настройки автораспределения
/// </summary>
public JobGroupDistributionConfigResponse? DistributionConfig { get; set; }
}
}