using PARR.Domain.Enums;
using PARR.EsppSync;
using PARR.EsppSync.Attributes;
namespace PARR.EsppScheduleSync.Domain
{
internal class EsppObjectSchedule : IEsppObject
{
//Все поля описаны в документации по роботам: http://gitlab.dvgd.oao.rzd/devptk/parr/parr_api/-/wikis/EsppRobots
public RobotsEnum Robot => RobotsEnum.ScheduleOrder;
public required string TemplateName { get; set; }
///
/// ИД расписания
/// Не сраваниваем ЕСПП ИД, потому что У НАС РЕАЛЬНЫЙ ЕСПП ИД И ЕСПП ИД В БД МОГУ РАСХОДИТЬСЯ!!! УЖАССС!!!
///
[SkipComparison]
public string Code { get; set; } = string.Empty;
[SkipComparison]
public string ScheduleName { get; set; } = string.Empty;
public bool IsActive { get; set; }
[SkipComparison]
public string ResponseArea { get; set; } = string.Empty;
[SkipComparison]
public string WorkGroup { get; set; } = string.Empty;
///
/// Тип повторения: Регулярно, Ежегодно...
///
public EsppSchTypeScheduleEnum TypeSchedule { get; set; }
///
/// Интервал времени: Ежедневно, 1 00:00:00
///
public string Interval { get; set; } = string.Empty;
///
/// Еженедельно: Каждый понедельник
///
public string Dayofweek { get; set; } = string.Empty;
///
/// Ежемесячно: Каждое 23
///
public string Dayofmonth { get; set; } = string.Empty;
///
/// Ежемесячно-2: Каждый Первый
///
public string Md1 { get; set; } = string.Empty;
///
/// Ежемесячно-2: Каждый Понедельник
///
public string Md2 { get; set; } = string.Empty;
///
/// Ежегодно: Каждый Январь
///
public string Annualm { get; set; } = string.Empty;
///
/// Ежегодно: Каждый 12
///
public string Annualday { get; set; } = string.Empty;
///
/// Ежегодно-2: Каждый Первый
///
public string An1 { get; set; } = string.Empty;
///
/// Ежегодно-2: Каждый Понедельник
///
public string An2 { get; set; } = string.Empty;
///
/// Ежегодно-2: Каждый Января
///
public string An3 { get; set; } = string.Empty;
///
/// Тип исключения: Нет исключений
///
public string TypeV60calendar { get; set; } = string.Empty;
///
/// Следующее срабатывание: 16/10/23 17:00:00
///
public required string Scheduled { get; set; }
///
/// В каком часовом поясе: Greenwich/Universal
///
public required string Timezone { get; set; }
///
/// Тип прекращения, Отсутствует дата завершения: Выбран radio button forever
///
public required string TerminationType { get; set; }
///
/// Завершение после: 0
///
[SkipComparison]
public string CompleteAfter { get; set; } = string.Empty;
///
/// Рабочий график
///
public string V60calendar { get; set; } = string.Empty;
///
/// Время создания наряда (чч:мм:сс)
///
public string BasisTime { get; set; }
}
}