Refactor event assignment structure and introduce new models for assignment parameters and requirements

This commit removes the obsolete EventAssignment class from Core.Entities and introduces new models in Core.Models, including AssignmentParameters, AssignmentRequirement, PartialTeam, and StudentEventStatistics. The changes enhance the organization of assignment-related data and improve the overall structure of the codebase. Additionally, several files have been updated to include references to the new Core.Models namespace, ensuring consistency across the application.
This commit is contained in:
2026-01-10 18:36:52 -05:00
parent ecd6173a44
commit 45edcf5e5f
24 changed files with 39 additions and 15 deletions
+1
View File
@@ -1,5 +1,6 @@
using System.Diagnostics; using System.Diagnostics;
using Core.Entities; using Core.Entities;
using Core.Models;
using Google.OrTools.Sat; using Google.OrTools.Sat;
namespace Core.Calculation namespace Core.Calculation
-7
View File
@@ -1,7 +0,0 @@
namespace Core.Entities;
public class EventAssignment(EventDefinition eventDefinition, Student student)
{
public EventDefinition EventDefinition { get; } = eventDefinition;
public Student Student { get; } = student;
}
+1
View File
@@ -1,4 +1,5 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Core.Models;
namespace Core.Entities; namespace Core.Entities;
public class Team public class Team
@@ -1,4 +1,6 @@
namespace Core.Entities using Core.Entities;
namespace Core.Models
{ {
public class AssignmentParameters( public class AssignmentParameters(
int effortLowerBound = 6, int effortLowerBound = 6,
@@ -29,3 +31,4 @@
} }
} }
} }
@@ -1,4 +1,6 @@
namespace Core.Entities; using Core.Entities;
namespace Core.Models;
public class AssignmentRequirement(EventDefinition eventDefinition, Student student, Requirement requirement) public class AssignmentRequirement(EventDefinition eventDefinition, Student student, Requirement requirement)
{ {
@@ -6,3 +8,4 @@ public class AssignmentRequirement(EventDefinition eventDefinition, Student stud
public Student Student { get; } = student; public Student Student { get; } = student;
public Requirement Requirement { get; } = requirement; public Requirement Requirement { get; } = requirement;
} }
@@ -1,4 +1,6 @@
namespace Core.Entities; using Core.Entities;
namespace Core.Models;
public class PartialTeam : Team public class PartialTeam : Team
{ {
@@ -11,3 +13,4 @@ public class PartialTeam : Team
return new PartialTeam{Identifier = Identifier, Event = Event, Students = remainingStudents, OmittedStudents = omittedStudents }; return new PartialTeam{Identifier = Identifier, Event = Event, Students = remainingStudents, OmittedStudents = omittedStudents };
} }
} }
@@ -1,4 +1,6 @@
namespace Core.Entities; using Core.Entities;
namespace Core.Models;
public class StudentEventStatistics public class StudentEventStatistics
{ {
@@ -30,3 +32,4 @@ public class StudentEventStatistics
return statistics.Values.ToList(); return statistics.Values.ToList();
} }
} }
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
namespace Core.Parsers; namespace Core.Parsers;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
namespace Core.Validation.Rules.BaseRules; namespace Core.Validation.Rules.BaseRules;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
namespace Core.Validation.Rules.BaseRules; namespace Core.Validation.Rules.BaseRules;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
using Core.Validation.Rules.BaseRules; using Core.Validation.Rules.BaseRules;
namespace Core.Validation.Rules.StudentAssignmentRules; namespace Core.Validation.Rules.StudentAssignmentRules;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
using Core.Validation.Rules.BaseRules; using Core.Validation.Rules.BaseRules;
namespace Core.Validation.Rules.StudentAssignmentRules; namespace Core.Validation.Rules.StudentAssignmentRules;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
using Core.Validation.Rules.BaseRules; using Core.Validation.Rules.BaseRules;
namespace Core.Validation.Rules.StudentAssignmentRules; namespace Core.Validation.Rules.StudentAssignmentRules;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
using Core.Validation.Rules.BaseRules; using Core.Validation.Rules.BaseRules;
namespace Core.Validation.Rules.StudentAssignmentRules; namespace Core.Validation.Rules.StudentAssignmentRules;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
using Core.Validation.Rules.BaseRules; using Core.Validation.Rules.BaseRules;
namespace Core.Validation.Rules.StudentAssignmentRules; namespace Core.Validation.Rules.StudentAssignmentRules;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
using System.Text.Json; using System.Text.Json;
namespace Core.Validation; namespace Core.Validation;
+1
View File
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
using System.Reflection; using System.Reflection;
namespace Core.Validation; namespace Core.Validation;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
namespace Tests.Builders; namespace Tests.Builders;
@@ -1,5 +1,6 @@
using Core.Calculation; using Core.Calculation;
using Core.Entities; using Core.Entities;
using Core.Models;
using Tests.Builders; using Tests.Builders;
using Tests.Fixtures; using Tests.Fixtures;
using EventAssignment = Core.Calculation.EventAssignment; using EventAssignment = Core.Calculation.EventAssignment;
+1
View File
@@ -1,5 +1,6 @@
using System.Collections; using System.Collections;
using Core.Entities; using Core.Entities;
using Core.Models;
using Core.Parsers; using Core.Parsers;
using Core.Utility; using Core.Utility;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
using Core.Validation; using Core.Validation;
using Core.Validation.Rules.StudentAssignmentRules; using Core.Validation.Rules.StudentAssignmentRules;
using Tests.Builders; using Tests.Builders;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
using Core.Validation; using Core.Validation;
using System.Text.Json; using System.Text.Json;
@@ -1,4 +1,5 @@
using Core.Entities; using Core.Entities;
using Core.Models;
using Core.Validation; using Core.Validation;
using Tests.Builders; using Tests.Builders;
+1
View File
@@ -25,5 +25,6 @@
@using WebApp.Components.Features.Calendar @using WebApp.Components.Features.Calendar
@using MudBlazor @using MudBlazor
@using Core.Entities @using Core.Entities
@using Core.Models
@using Data @using Data
@using VisNetwork.Blazor @using VisNetwork.Blazor