horarios.db) so it persists between application sessions.
Data model
Each schedule entry contains the following fields:| Field | Description |
|---|---|
| Clave | Unique identifier for the schedule entry (e.g. H001, H002). |
| Tipo | Session type — either Teórica or Práctica. See Schedule types below. |
| RangoHorario | Time range in 24-hour format (e.g. 08:00 - 10:00, 11:00 - 13:00). |
| IDProfesor | The Clave of the professor assigned to this session, as defined in the Professors module. |
| IDAula | The ID of the classroom assigned to this session, as defined in the Classrooms module. |
Schedule types
Teórica
A lecture-based session held in a standard classroom or lecture hall. Use this type for sessions focused on concepts, discussion, and theory.
Práctica
A hands-on session held in a laboratory or workshop. Use this type for sessions focused on experimentation, coding, or lab exercises.
Time ranges
Time ranges follow the formatHH:MM - HH:MM using the 24-hour clock. Enter the start time and end time separated by a space-dash-space (-). For example:
08:00 - 10:00— an early morning two-hour block11:00 - 13:00— a mid-morning two-hour block14:00 - 16:00— an afternoon block
The application does not currently enforce conflict detection for overlapping time ranges in the same classroom or for the same professor. Verify manually that a professor or room is not already assigned to another schedule entry in the same time slot.
Linking professors and classrooms
The IDProfesor and IDAula fields are foreign-key references to records in other modules:- IDProfesor must match the Clave of an existing professor in the Professors module.
- IDAula must match the ID of an existing classroom in the Classrooms module.
SQLite persistence
Schedule data is stored inhorarios.db, a SQLite database file bundled with the application. The file is copied to the output directory with the PreserveNewest policy, meaning your data is retained across builds during development.
The application uses the following NuGet packages to interact with the database:
| Package | Version |
|---|---|
SQLitePCLRaw.core | 3.0.2 |
System.Data.SQLite.EF6 | 2.0.3 |
Adding a schedule
Fill in the fields
Enter a unique Clave, select the Tipo (
Teórica or Práctica), enter the RangoHorario, and provide the IDProfesor and IDAula references.Editing a schedule
Click Editar
Click Editar in the toolbar. The Agregar Horario window opens pre-filled with the selected entry’s data.
Deleting a schedule
Sample records
| Clave | Tipo | RangoHorario | IDProfesor | IDAula |
|---|---|---|---|---|
| H001 | Teórica | 08:00 - 10:00 | P105 | A1 |
| H002 | Práctica | 11:00 - 13:00 | P202 | L5 |