namespace PARR.API.Contracts.V1.Responses { public class ApplicationInWorkBaseResponse { public Guid Id { get; set; } public required string TemplateDuration { get; set; } public required string ShortDescription { get; set; } public required string FullDescription { get; set; } public required string Solution { get; set; } public DateTimeOffset ReferenceDate { get; set; } public bool IsAutoDistributionEnabled { get; set; } public bool IsAgent { get; set; } public ApplicationResponse? Application { get; set; } } public class ApplicationInWorkResponse : ApplicationInWorkBaseResponse { public string? AgentName { get; set; } public int? AgentTimeOutSec { get; set; } public string? AgentScript { get; set; } public WorkResponse? Work { get; set; } public int TemplatesCount { get; set; } #region Статистика public TemplateStats? TemplateStatistics { get; set; } public ScheduleStats? ScheduleStatistics { get; set; } #endregion public ApplicationInWorkScheduleResponse? Schedule { get; set; } public List? WorkGroups { get; set; } } public class ApplicationInWorkScheduleResponse { public string Timezone { get; set; } = string.Empty; public EsppScheduleTypeScheduleResponse? TypeSchedule { get; set; } public List? Values { get; set; } } public class TemplateStats { /// /// Активированных шаблонов /// public int Activated { get; set; } /// /// Синхронизировано шаблонов (TaskStatus = 30/Ok) /// public int Synchronized { get; set; } /// /// Ошибок синхронизации (RobotStatus = 33/Error) /// public int Errors { get; set; } } public class ScheduleStats { /// /// Активированных шаблонов /// public int Activated { get; set; } /// /// Синхронизировано шаблонов (TaskStatus = 30/Ok) /// public int Synchronized { get; set; } /// /// Ошибок синхронизации (RobotStatus = 33/Error) /// public int Errors { get; set; } } }