Closed imaximix closed 10 years ago
The TrainingSystem should have a List of Attributes. With a simple string Name property.
These will be generated by the user.
The training should always have the same attributes. And given that the Attributes can change at any time. We should hold a list of all the Attributes that the training has.
The problem is: how are gonna let the user choose which attributes?
In regards to solution nr. 2. How should the update of these attributes work? Just PUT to /api/trainings/{id}, or something more clean? like another endpoint?
Maybe something like POST /api/training/{id}/gradingAttributes
{
gradingAttributes: [
{
id: 1
},
{
id: 2
}
]
}
And also DELETE /api/training/{id}/gradingAttributes/{gradingAttributeId}
And this should only be editable if the training has not yet reached a status that does not require use of these new attributes, like the interview or assessment.
This should be a requirement because if the user edits these attributes. We could end up with different interview versions, some with the old attributes and some with the new ones.
Interview windows should be generated dynamically based on the selected grading system.