namespace PARR.API.Contracts.V1.Requests
{
public record JobGroupRequest
{
public required string Name { get; init; }
//public bool? IsUmbrella { get; set; }
public Guid GroupTypeId { get; init; }
///
/// Поле по которому групиируем, если тип - ГРУППА
///
public Guid? GroupingUnitFieldId { get; init; }
public bool? IsGroupByResponsible { get; init; }
public required string ShortDescription { get; init; }
public required string FullDescription { get; init; }
public required string Solution { get; init; }
public required string TemplateDuration { get; init; }
public DateTimeOffset ReferenceDate { get; init; }
public int? UserTimeZoneOffsetMinutes { get; init; }
///
/// Использовать таймзону рабочей группы ответственного за ЭК шаблона
///
public bool IsWorkGroupTimezone { get; init; }
public Guid ScheduleExcludeTypeId { get; init; }
public Guid? ScheduleExcludeTypeCalendarId { get; init; }
public bool IsAutoDistributionEnabled { get; init; }
///
/// Настройки автораспределения
///
public DistributionConfigRequest? DistributionConfig { get; init; }
//public bool IsAgent { get; set; }
//public string? AgentName { get; set; }
//public int? AgentTimeOutSec { get; set; }
//public string? AgentScript { get; set; }
public List Schedule { get; init; } = new List();
///
/// Настройки автоконтроля (возможны только в случае, если JobGroupType.IsJobGroupAutocontrol==true)
///
public JobAutoControlRequest? AutoControl { get; init; }
}
public record EsppSchValueRequest
{
public Guid TypeValueId { get; init; }
public Guid TypeConfigId { get; init; }
}
public record DistributionConfigRequest
{
public Guid DistributionPeriodId { get; init; }
///
/// Исключать выходные и праздники
///
public bool IsExcludeWeekends { get; init; }
///
/// Группировать по рабочей группе
///
public bool IsGroupingByWorkGroup { get; init; }
}
}