Polianin Nikita
0d3461b769
All checks were successful
.NET Test Pipeline / build-and-test (pull_request) Successful in 1m52s
132 lines
4.1 KiB
C#
132 lines
4.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace Mirea.Api.Dto.Responses.Schedule;
|
|
|
|
/// <summary>
|
|
/// Represents information about a specific schedule entry for a professor.
|
|
/// </summary>
|
|
public class ProfessorScheduleInfo
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets the day of the week for the schedule entry.
|
|
/// </summary>
|
|
[Required]
|
|
public DayOfWeek DayOfWeek { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the pair number for the schedule entry.
|
|
/// </summary>
|
|
[Required]
|
|
public int PairNumber { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets a value indicating whether the pair is on an even week.
|
|
/// </summary>
|
|
[Required]
|
|
public bool IsEven { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the name of the discipline for the schedule entry.
|
|
/// </summary>
|
|
[Required]
|
|
public required string Discipline { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the ID of the discipline for the schedule entry.
|
|
/// </summary>
|
|
[Required]
|
|
public required int DisciplineId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets exclude or include weeks for a specific discipline.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// If is <see langword="true"/>, then the values in <see cref="Weeks"/> show the weeks when there will be no discipline.
|
|
/// <br/>
|
|
/// If is <see langword="false"/>, then the values in <see cref="Weeks"/> indicate the weeks during which a particular discipline will be studied.
|
|
/// <br/>
|
|
/// If is <see langword="null"/>, then there are no specific <see cref="Weeks"/>
|
|
/// </remarks>
|
|
///
|
|
|
|
public bool? IsExcludedWeeks { get; set; }
|
|
/// <summary>
|
|
/// The week numbers required for the correct display of the schedule.
|
|
/// <br/>
|
|
/// Whether there will be <see cref="Discipline"/> during the week or not depends on the <see cref="IsExcludedWeeks"/> property.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// To get the current week's number, use other queries.
|
|
/// </remarks>
|
|
public IEnumerable<int>? Weeks { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the type of occupation for the schedule entry.
|
|
/// </summary>
|
|
[Required]
|
|
public required IEnumerable<string> TypeOfOccupations { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the names of the group for the schedule entry.
|
|
/// </summary>
|
|
[Required]
|
|
|
|
public required string Group { get; set; }
|
|
/// <summary>
|
|
/// Gets or sets the IDs of the group for the schedule entry.
|
|
/// </summary>
|
|
[Required]
|
|
public required int GroupId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the names of the lecture halls for the schedule entry.
|
|
/// </summary>
|
|
public required IEnumerable<string?> LectureHalls { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the IDs of the lecture halls for the schedule entry.
|
|
/// </summary>
|
|
public required IEnumerable<int?> LectureHallsId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the names of the campuses for the schedule entry.
|
|
/// </summary>
|
|
public required IEnumerable<string?> Campus { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the IDs of the campuses for the schedule entry.
|
|
/// </summary>
|
|
public required IEnumerable<int?> CampusId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the links to online meetings for the schedule entry.
|
|
/// </summary>
|
|
public required IEnumerable<string?> LinkToMeet { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// Represents a response containing schedule information for a professor.
|
|
/// </summary>
|
|
public class ProfessorScheduleResponse
|
|
{
|
|
/// <summary>
|
|
/// Gets or sets the name of the professor.
|
|
/// </summary>
|
|
[Required]
|
|
public required string Professor { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the ID of the professor.
|
|
/// </summary>
|
|
[Required]
|
|
public required int ProfessorId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Gets or sets the schedules for the professor.
|
|
/// </summary>
|
|
[Required]
|
|
public required IEnumerable<ProfessorScheduleInfo> Schedules { get; set; }
|
|
}
|