erp-platform/api/src/Kurs.Platform.Application.Contracts/Classroom/ClassroomDto.cs
2025-08-26 08:59:39 +03:00

58 lines
No EOL
1.8 KiB
C#

using System;
using Volo.Abp.Application.Dtos;
namespace Kurs.Platform.Classrooms;
public class ClassroomDto : FullAuditedEntityDto<Guid>
{
public string Name { get; set; }
public string Description { get; set; }
public string Subject { get; set; }
public Guid TeacherId { get; set; }
public string TeacherName { get; set; }
public DateTime ScheduledStartTime { get; set; }
public DateTime? ActualStartTime { get; set; }
public DateTime? EndTime { get; set; }
public int Duration { get; set; }
public int MaxParticipants { get; set; }
public bool IsActive { get; set; }
public bool IsScheduled { get; set; }
public int ParticipantCount { get; set; }
public bool CanJoin { get; set; }
}
public class CreateClassroomDto
{
public string Name { get; set; }
public string Description { get; set; }
public string Subject { get; set; }
public DateTime ScheduledStartTime { get; set; }
public int Duration { get; set; } = 60;
public int MaxParticipants { get; set; } = 30;
}
public class UpdateClassroomDto
{
public string Name { get; set; }
public string Description { get; set; }
public string Subject { get; set; }
public DateTime ScheduledStartTime { get; set; }
public int Duration { get; set; }
public int MaxParticipants { get; set; }
}
public class GetClassroomListDto : PagedAndSortedResultRequestDto
{
public bool? IsActive { get; set; }
public Guid? TeacherId { get; set; }
}
public class ClassAttendanceDto : EntityDto<Guid>
{
public Guid SessionId { get; set; }
public Guid StudentId { get; set; }
public string StudentName { get; set; }
public DateTime JoinTime { get; set; }
public DateTime? LeaveTime { get; set; }
public int TotalDurationMinutes { get; set; }
}