From 019ce89cc40fdbc714c9c13dd874dabc8be410ce Mon Sep 17 00:00:00 2001 From: Sergey Karmanov Date: Thu, 18 Sep 2025 15:13:45 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D1=8E=20=D0=BD=D0=B0=20DTO?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SfeduSchedule/DTO/ModeusScheduleRequestDTO.cs | 83 ++++++++++++++++++- 1 file changed, 80 insertions(+), 3 deletions(-) diff --git a/SfeduSchedule/DTO/ModeusScheduleRequestDTO.cs b/SfeduSchedule/DTO/ModeusScheduleRequestDTO.cs index 31d993e..292cc71 100644 --- a/SfeduSchedule/DTO/ModeusScheduleRequestDTO.cs +++ b/SfeduSchedule/DTO/ModeusScheduleRequestDTO.cs @@ -2,28 +2,105 @@ using System.ComponentModel; namespace SfeduSchedule { - public class ModeusScheduleRequest(int size, DateTime timeMin, DateTime timeMax, List? attendeePersonId, List? roomId) + /// + /// DTO для запроса расписания в Modeus. + /// + public class ModeusScheduleRequest(int size, DateTime timeMin, DateTime timeMax, List? roomId, List? attendeePersonId, + List? courseUnitRealizationId, List? cycleRealizationId, List? specialtyCode, + List? learningStartYear, List? profileName, List? curriculumId, List? typeId) { + /// + /// Количество элементов в ответе. + /// [DefaultValue(10)] public int Size { get; set; } = size; + + /// + /// Начальная дата и время. + /// public DateTime TimeMin { get; set; } = timeMin; + + /// + /// Конечная дата и время. + /// public DateTime TimeMax { get; set; } = timeMax; - public List? AttendeePersonId { get; set; } = attendeePersonId; + + /// + /// Список идентификаторов аудиторий. (Guid) + /// public List? RoomId { get; set; } = roomId; + + /// + /// Список идентификаторов участников. + /// + public List? AttendeePersonId { get; set; } = attendeePersonId; + + public List? CourseUnitRealizationId { get; set; } = courseUnitRealizationId; + public List? CycleRealizationId { get; set; } = cycleRealizationId; + + /// + /// Список кодов специальностей. + /// + [DefaultValue(new string[] { "09.03.04" })] + public List? SpecialtyCode { get; set; } = specialtyCode; + + /// + /// Список годов начала обучения. + /// + [DefaultValue(new int[] { 2022, 2023, 2024, 2025 })] + public List? LearningStartYear { get; set; } = learningStartYear; + + /// + /// Список названий профилей подготовки. + /// + [DefaultValue(new string[] { "Методы и средства разработки программного обеспечения" })] + public List? ProfileName { get; set; } = profileName; + + /// + /// Список идентификаторов учебных планов. + /// + public List? CurriculumId { get; set; } = curriculumId; + + /// + /// Список типов мероприятий. + /// + [DefaultValue(new string[] { "MID_CHECK","CONS","LAB","LECT","SEMI","EVENT_OTHER","SELF","CUR_CHECK" })] + public List? TypeId { get; set; } = typeId; } + /// + /// DTO для поиска аудиторий. + /// public class RoomSearchRequest { + /// + /// Название аудитории. + /// [DefaultValue("")] public string Name { get; set; } = ""; + + /// + /// Сортировка. + /// [DefaultValue("+building.name,+name")] public string Sort { get; set; } = "+building.name,+name"; + + /// + /// Количество элементов в ответе. + /// [DefaultValue(10)] public int Size { get; set; } = 10; + + /// + /// Номер страницы. (пагинация) + /// [DefaultValue(0)] public int Page { get; set; } = 0; + + /// + /// Исключать архивные аудитории. false = да, true = нет + /// [DefaultValue(false)] public bool Deleted { get; set; } = false; - public RoomSearchRequest() {} } }