Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions BlazorApp1/Components/Pages/Management.razor
Original file line number Diff line number Diff line change
Expand Up @@ -322,21 +322,20 @@ else

private async Task HandleAddRoleAsync()
{
var addedRoleId = _newRole.Id;
await ScheduleService.AddRoleAsync(_newRole);
var addedRole = await ScheduleService.AddRoleAsync(_newRole);
await LoadDataAsync();
_newRole = new Role();
_newPerson.RoleId = addedRoleId;
_newPerson.RoleId = addedRole.Id;
_message = "Role byla přidána.";
}

private async Task HandleAddPersonAsync()
{
await ScheduleService.AddPersonAsync(_newPerson);
var createdPerson = await ScheduleService.AddPersonAsync(_newPerson);
await LoadDataAsync();
if (_newPerson.Affiliation == "Akademický pracovník")
{
_newLesson.LecturerId = _newPerson.Id;
_newLesson.LecturerId = createdPerson.Id;
}
_newPerson = new Person();
ResetPersonDefaults();
Expand All @@ -345,11 +344,10 @@ else

private async Task HandleAddLessonTypeAsync()
{
var addedTypeId = _newLessonType.Id;
await ScheduleService.AddLessonTypeAsync(_newLessonType);
var addedLessonType = await ScheduleService.AddLessonTypeAsync(_newLessonType);
await LoadDataAsync();
_newLessonType = new LessonType();
_newLesson.LessonTypeId = addedTypeId;
_newLesson.LessonTypeId = addedLessonType.Id;
_message = "Druh lekce byl přidán.";
}

Expand All @@ -373,7 +371,7 @@ else
}
}

private void ToggleStudent(Guid studentId, object? value)
private void ToggleStudent(int studentId, object? value)
{
var isChecked = value switch
{
Expand Down Expand Up @@ -420,12 +418,12 @@ else
_newLesson.ClassroomCode = _classrooms.First().Code;
}

if (_newLesson.LessonTypeId == Guid.Empty && _lessonTypes.Any())
if (_newLesson.LessonTypeId == 0 && _lessonTypes.Any())
{
_newLesson.LessonTypeId = _lessonTypes.First().Id;
}

if (_newLesson.LecturerId == Guid.Empty)
if (_newLesson.LecturerId == 0)
{
var lecturer = _people.FirstOrDefault(p => p.Affiliation == "Akademický pracovník");
if (lecturer is not null)
Expand Down
4 changes: 2 additions & 2 deletions BlazorApp1/Components/Pages/Schedule.razor
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@
private IEnumerable<IGrouping<string, Lesson>> _groupedLessons = Enumerable.Empty<IGrouping<string, Lesson>>();
private Dictionary<string, Subject> _subjects = new();
private Dictionary<string, Classroom> _classrooms = new();
private Dictionary<Guid, LessonType> _lessonTypes = new();
private Dictionary<Guid, Person> _people = new();
private Dictionary<int, LessonType> _lessonTypes = new();
private Dictionary<int, Person> _people = new();

protected override async Task OnInitializedAsync()
{
Expand Down
4 changes: 2 additions & 2 deletions BlazorApp1/Components/Pages/SubjectDetails.razor
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,8 @@ else
private List<Lesson> _lessons = new();
private List<Person> _students = new();
private Dictionary<string, Classroom> _classrooms = new();
private Dictionary<Guid, LessonType> _lessonTypes = new();
private Dictionary<Guid, Person> _people = new();
private Dictionary<int, LessonType> _lessonTypes = new();
private Dictionary<int, Person> _people = new();

protected override async Task OnParametersSetAsync()
{
Expand Down
11 changes: 11 additions & 0 deletions BlazorApp1/Data/ScheduleDbContext.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,29 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity<Department>().Property(d => d.Code).IsRequired();
modelBuilder.Entity<Department>().Property(d => d.Name).IsRequired();
Comment on lines 24 to 25
Copy link

Copilot AI Dec 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Department entity is missing the ValueGeneratedOnAdd configuration for its Id property, while all other entities (Classroom, Subject, LessonType, Role, Person, Lesson) have this configuration. This inconsistency could lead to issues if the Id is expected to be auto-generated. Add the configuration for consistency.

Copilot uses AI. Check for mistakes.

modelBuilder.Entity<Classroom>().Property(c => c.Id).ValueGeneratedOnAdd();
modelBuilder.Entity<Classroom>().Property(c => c.Name).IsRequired();
modelBuilder.Entity<Classroom>().Property(c => c.Code).IsRequired();

modelBuilder.Entity<Subject>().Property(s => s.Id).ValueGeneratedOnAdd();
modelBuilder.Entity<Subject>().Property(s => s.Name).IsRequired();
modelBuilder.Entity<Subject>().Property(s => s.SubjectCode).IsRequired();
modelBuilder.Entity<Subject>().Property(s => s.DepartmentCode).IsRequired();
modelBuilder.Entity<Subject>().HasIndex(s => s.SubjectCode).IsUnique();

modelBuilder.Entity<LessonType>().Property(l => l.Id).ValueGeneratedOnAdd();
modelBuilder.Entity<LessonType>().Property(l => l.Name).IsRequired();

modelBuilder.Entity<Role>().Property(r => r.Id).ValueGeneratedOnAdd();
modelBuilder.Entity<Role>().Property(r => r.RoleType).IsRequired();

modelBuilder.Entity<Person>().Property(p => p.Id).ValueGeneratedOnAdd();
modelBuilder.Entity<Person>().Property(p => p.FirstName).IsRequired();
modelBuilder.Entity<Person>().Property(p => p.LastName).IsRequired();
modelBuilder.Entity<Person>().Property(p => p.Affiliation).IsRequired();

modelBuilder.Entity<Lesson>().Property(l => l.Id).ValueGeneratedOnAdd();

modelBuilder.Entity<LessonStudent>()
.HasKey(ls => new { ls.LessonId, ls.PersonId });

Expand Down
2 changes: 1 addition & 1 deletion BlazorApp1/Models/Classroom.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace BlazorApp1.Models;

public class Classroom
{
public Guid Id { get; set; } = Guid.NewGuid();
public int Id { get; set; }

[Required]
public string Name { get; set; } = string.Empty;
Expand Down
2 changes: 1 addition & 1 deletion BlazorApp1/Models/Department.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace BlazorApp1.Models;

public class Department
{
public Guid Id { get; set; } = Guid.NewGuid();
public int Id { get; set; }

[Required]
[StringLength(3, MinimumLength = 3)]
Expand Down
8 changes: 4 additions & 4 deletions BlazorApp1/Models/Lesson.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ namespace BlazorApp1.Models;

public class Lesson
{
public Guid Id { get; set; } = Guid.NewGuid();
public int Id { get; set; }

[Required]
public DayOfWeek Day { get; set; }
Expand All @@ -21,11 +21,11 @@ public class Lesson
public string SubjectCode { get; set; } = string.Empty;

[Required]
public Guid LessonTypeId { get; set; }
public int LessonTypeId { get; set; }

[Required]
public Guid LecturerId { get; set; }
public int LecturerId { get; set; }

[NotMapped]
public List<Guid> StudentIds { get; set; } = new();
public List<int> StudentIds { get; set; } = new();
}
4 changes: 2 additions & 2 deletions BlazorApp1/Models/LessonStudent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ namespace BlazorApp1.Models;

public class LessonStudent
{
public Guid LessonId { get; set; }
public int LessonId { get; set; }

public Guid PersonId { get; set; }
public int PersonId { get; set; }
}
2 changes: 1 addition & 1 deletion BlazorApp1/Models/LessonType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace BlazorApp1.Models;

public class LessonType
{
public Guid Id { get; set; } = Guid.NewGuid();
public int Id { get; set; }

[Required]
public string Name { get; set; } = string.Empty;
Expand Down
4 changes: 2 additions & 2 deletions BlazorApp1/Models/Person.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace BlazorApp1.Models;

public class Person
{
public Guid Id { get; set; } = Guid.NewGuid();
public int Id { get; set; }

[Required]
public string FirstName { get; set; } = string.Empty;
Expand All @@ -17,7 +17,7 @@ public class Person
[Required]
public string Affiliation { get; set; } = string.Empty;

public Guid? RoleId { get; set; }
public int? RoleId { get; set; }

public string FullName => string.IsNullOrWhiteSpace(Title)
? $"{FirstName} {LastName}"
Expand Down
2 changes: 1 addition & 1 deletion BlazorApp1/Models/Role.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace BlazorApp1.Models;

public class Role
{
public Guid Id { get; set; } = Guid.NewGuid();
public int Id { get; set; }

[Required]
public string RoleType { get; set; } = string.Empty;
Expand Down
2 changes: 1 addition & 1 deletion BlazorApp1/Models/Subject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace BlazorApp1.Models;

public class Subject
{
public Guid Id { get; set; } = Guid.NewGuid();
public int Id { get; set; }

[Required]
public string Name { get; set; } = string.Empty;
Expand Down
Loading