115 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System.ComponentModel;
 | |
| 
 | |
| namespace SfeduSchedule.Abstractions;
 | |
| 
 | |
| /// <summary>
 | |
| /// DTO для запроса расписания в Modeus.
 | |
| /// </summary>
 | |
| public class ModeusScheduleRequest(
 | |
|     int size,
 | |
|     DateTime timeMin,
 | |
|     DateTime timeMax,
 | |
|     List<Guid>? roomId,
 | |
|     List<Guid>? attendeePersonId,
 | |
|     List<Guid>? courseUnitRealizationId,
 | |
|     List<Guid>? cycleRealizationId,
 | |
|     List<string>? specialtyCode,
 | |
|     List<int>? learningStartYear,
 | |
|     List<string>? profileName,
 | |
|     List<Guid>? curriculumId,
 | |
|     List<string>? typeId)
 | |
| {
 | |
|     /// <summary>
 | |
|     /// Количество элементов в ответе.
 | |
|     /// </summary>
 | |
|     [DefaultValue(10)]
 | |
|     public int Size { get; set; } = size;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Начальная дата и время.
 | |
|     /// </summary>
 | |
|     public DateTime TimeMin { get; set; } = timeMin;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Конечная дата и время.
 | |
|     /// </summary>
 | |
|     public DateTime TimeMax { get; set; } = timeMax;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Список идентификаторов аудиторий. (Guid)
 | |
|     /// </summary>
 | |
|     public List<Guid>? RoomId { get; set; } = roomId;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Список идентификаторов участников.
 | |
|     /// </summary>
 | |
|     public List<Guid>? AttendeePersonId { get; set; } = attendeePersonId;
 | |
| 
 | |
|     public List<Guid>? CourseUnitRealizationId { get; set; } = courseUnitRealizationId;
 | |
|     public List<Guid>? CycleRealizationId { get; set; } = cycleRealizationId;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Список кодов специальностей.
 | |
|     /// </summary>
 | |
|     [DefaultValue(new string[] { "09.03.04" })]
 | |
|     public List<string>? SpecialtyCode { get; set; } = specialtyCode;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Список годов начала обучения.
 | |
|     /// </summary>
 | |
|     [DefaultValue(new int[] { 2022, 2023, 2024, 2025 })]
 | |
|     public List<int>? LearningStartYear { get; set; } = learningStartYear;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Список названий профилей подготовки.
 | |
|     /// </summary>
 | |
|     [DefaultValue(new string[] { "Методы и средства разработки программного обеспечения" })]
 | |
|     public List<string>? ProfileName { get; set; } = profileName;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Список идентификаторов учебных планов.
 | |
|     /// </summary>
 | |
|     public List<Guid>? CurriculumId { get; set; } = curriculumId;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Список типов мероприятий.
 | |
|     /// </summary>
 | |
|     [DefaultValue(new string[] { "MID_CHECK", "CONS", "LAB", "LECT", "SEMI", "EVENT_OTHER", "SELF", "CUR_CHECK" })]
 | |
|     public List<string>? TypeId { get; set; } = typeId;
 | |
| }
 | |
| 
 | |
| /// <summary>
 | |
| /// DTO для поиска аудиторий.
 | |
| /// </summary>
 | |
| public class RoomSearchRequest
 | |
| {
 | |
|     /// <summary>
 | |
|     /// Название аудитории.
 | |
|     /// </summary>
 | |
|     [DefaultValue("")]
 | |
|     public string Name { get; set; } = "";
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Сортировка.
 | |
|     /// </summary>
 | |
|     [DefaultValue("+building.name,+name")]
 | |
|     public string Sort { get; set; } = "+building.name,+name";
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Количество элементов в ответе.
 | |
|     /// </summary>
 | |
|     [DefaultValue(10)]
 | |
|     public int Size { get; set; } = 10;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Номер страницы. (пагинация)
 | |
|     /// </summary>
 | |
|     [DefaultValue(0)]
 | |
|     public int Page { get; set; } = 0;
 | |
| 
 | |
|     /// <summary>
 | |
|     /// Исключать архивные аудитории. false = да, true = нет
 | |
|     /// </summary>
 | |
|     [DefaultValue(false)]
 | |
|     public bool Deleted { get; set; } = false;
 | |
| } |