temp
This commit is contained in:
@@ -54,7 +54,7 @@ namespace Entities.Contracts
|
||||
public bool IsDeleted { get; set; } = false;
|
||||
|
||||
// Navigation Properties
|
||||
|
||||
|
||||
[ForeignKey(nameof(CreatorId))]
|
||||
public User Creator { get; set; }
|
||||
public ICollection<AssignmentClass> AssignmentClasses { get; set; }
|
||||
@@ -73,4 +73,44 @@ namespace Entities.Contracts
|
||||
AssignmentAttachments = new HashSet<AssignmentAttachment>();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static class AssignmentExt
|
||||
{
|
||||
public static Submission ConvertToSubmission(this Assignment assignment, Guid studentId, Guid GraderId)
|
||||
{
|
||||
if (assignment == null) return new Submission();
|
||||
var submission = new Submission();
|
||||
|
||||
submission.StudentId = studentId;
|
||||
submission.SubmissionTime = DateTime.Now;
|
||||
submission.Status = SubmissionStatus.Pending;
|
||||
submission.GraderId = GraderId;
|
||||
submission.AssignmentId = assignment.Id;
|
||||
|
||||
ConvertExamSturctToSubmissionDetails(assignment.ExamStruct, studentId, submission.SubmissionDetails);
|
||||
|
||||
return submission;
|
||||
}
|
||||
|
||||
|
||||
public static void ConvertExamSturctToSubmissionDetails(AssignmentQuestion examStruct, Guid studentId, ICollection<SubmissionDetail> submissions)
|
||||
{
|
||||
if (examStruct == null) return;
|
||||
submissions.Add(new SubmissionDetail
|
||||
{
|
||||
StudentId = studentId,
|
||||
AssignmentQuestionId = examStruct.Id,
|
||||
IsCorrect = true,
|
||||
CreatedAt = DateTime.Now,
|
||||
UpdatedAt = DateTime.Now,
|
||||
Status = SubmissionStatus.Pending,
|
||||
});
|
||||
|
||||
examStruct.ChildrenAssignmentQuestion?.ToList().ForEach(s =>
|
||||
{
|
||||
ConvertExamSturctToSubmissionDetails(s, studentId, submissions);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -28,7 +28,7 @@ namespace Entities.Contracts
|
||||
|
||||
[Required]
|
||||
[Column("attempt_number")]
|
||||
public Guid AttemptNumber { get; set; }
|
||||
public byte AttemptNumber { get; set; }
|
||||
|
||||
[Column("submission_time")]
|
||||
public DateTime SubmissionTime { get; set; }
|
||||
|
@@ -51,6 +51,12 @@ namespace Entities.Contracts
|
||||
[Column("deleted")]
|
||||
public bool IsDeleted { get; set; }
|
||||
|
||||
[Required]
|
||||
[Column("status")]
|
||||
public SubmissionStatus Status { get; set; }
|
||||
|
||||
|
||||
|
||||
[ForeignKey(nameof(StudentId))]
|
||||
public User Student { get; set; }
|
||||
|
||||
|
15
Entities/DTO/AssigExamToStudentsDto.cs
Normal file
15
Entities/DTO/AssigExamToStudentsDto.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Entities.DTO
|
||||
{
|
||||
public class AssigExamToStudentsDto
|
||||
{
|
||||
public Guid CreaterId { get; set; }
|
||||
public Guid AssignmentId { get; set; }
|
||||
public List<Guid> StudentIds { get; set; } = new List<Guid>();
|
||||
}
|
||||
}
|
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using Entities.Contracts;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -15,5 +16,6 @@ namespace Entities.DTO
|
||||
public bool? IsCorrect { get; set; }
|
||||
public float? PointsAwarded { get; set; }
|
||||
public string? TeacherFeedback { get; set; }
|
||||
public SubmissionStatus Status { get; set; } = SubmissionStatus.Graded;
|
||||
}
|
||||
}
|
||||
|
14
Entities/DTO/UserClassRoleDto.cs
Normal file
14
Entities/DTO/UserClassRoleDto.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Entities.DTO
|
||||
{
|
||||
public class UserClassRoleDto
|
||||
{
|
||||
public List<(byte, byte)> ClassInfo { get; set; } = new List<(byte, byte)> ();
|
||||
public string Role { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user