From 4eecc19f4f8cb7084f3d6d12518b4e0107c749eb Mon Sep 17 00:00:00 2001 From: Polianin Nikita Date: Sun, 7 Jan 2024 02:00:00 +0300 Subject: [PATCH] feat: add basic schedule data models --- Domain/Schedule/Campus.cs | 14 ++++++++++++++ Domain/Schedule/Day.cs | 15 +++++++++++++++ Domain/Schedule/Faculty.cs | 13 +++++++++++++ Domain/Schedule/Group.cs | 13 +++++++++++++ Domain/Schedule/LectureHall.cs | 13 +++++++++++++ Domain/Schedule/Lesson.cs | 14 ++++++++++++++ Domain/Schedule/LessonToTypeOfOccupation.cs | 11 +++++++++++ Domain/Schedule/Professor.cs | 12 ++++++++++++ Domain/Schedule/ProfessorToLesson.cs | 15 +++++++++++++++ Domain/Schedule/TypeOfOccupation.cs | 12 ++++++++++++ 10 files changed, 132 insertions(+) create mode 100644 Domain/Schedule/Campus.cs create mode 100644 Domain/Schedule/Day.cs create mode 100644 Domain/Schedule/Faculty.cs create mode 100644 Domain/Schedule/Group.cs create mode 100644 Domain/Schedule/LectureHall.cs create mode 100644 Domain/Schedule/Lesson.cs create mode 100644 Domain/Schedule/LessonToTypeOfOccupation.cs create mode 100644 Domain/Schedule/Professor.cs create mode 100644 Domain/Schedule/ProfessorToLesson.cs create mode 100644 Domain/Schedule/TypeOfOccupation.cs diff --git a/Domain/Schedule/Campus.cs b/Domain/Schedule/Campus.cs new file mode 100644 index 0000000..dde6d2d --- /dev/null +++ b/Domain/Schedule/Campus.cs @@ -0,0 +1,14 @@ +using System.Collections.Generic; + +namespace Mirea.Api.DataAccess.Domain.Schedule; + +public class Campus +{ + public int Id { get; set; } + public required string CodeName { get; set; } + public string? FullName { get; set; } + public string? Address { get; set; } + + public List? Faculties { get; set; } + public List? LectureHalls { get; set; } +} \ No newline at end of file diff --git a/Domain/Schedule/Day.cs b/Domain/Schedule/Day.cs new file mode 100644 index 0000000..0da9657 --- /dev/null +++ b/Domain/Schedule/Day.cs @@ -0,0 +1,15 @@ +using System; + +namespace Mirea.Api.DataAccess.Domain.Schedule; + +public class Day +{ + public int Id { get; set; } + public DayOfWeek Index { get; set; } + public int PairNumber { get; set; } + + public int LessonId { get; set; } + public Lesson? Lesson { get; set; } + public int GroupId { get; set; } + public Group? Group { get; set; } +} \ No newline at end of file diff --git a/Domain/Schedule/Faculty.cs b/Domain/Schedule/Faculty.cs new file mode 100644 index 0000000..12dbcbe --- /dev/null +++ b/Domain/Schedule/Faculty.cs @@ -0,0 +1,13 @@ +using System.Collections.Generic; + +namespace Mirea.Api.DataAccess.Domain.Schedule; + +public class Faculty +{ + public int Id { get; set; } + public required string Name { get; set; } + + public int? CampusId { get; set; } + public Campus? Campus { get; set; } + public List? Groups { get; set; } +} \ No newline at end of file diff --git a/Domain/Schedule/Group.cs b/Domain/Schedule/Group.cs new file mode 100644 index 0000000..44c6b95 --- /dev/null +++ b/Domain/Schedule/Group.cs @@ -0,0 +1,13 @@ +using System.Collections.Generic; + +namespace Mirea.Api.DataAccess.Domain.Schedule; + +public class Group +{ + public int Id { get; set; } + public required string Name { get; set; } + + public int? FacultyId { get; set; } + public Faculty? Faculty { get; set; } + public List? Days { get; set; } +} \ No newline at end of file diff --git a/Domain/Schedule/LectureHall.cs b/Domain/Schedule/LectureHall.cs new file mode 100644 index 0000000..70b7249 --- /dev/null +++ b/Domain/Schedule/LectureHall.cs @@ -0,0 +1,13 @@ +using System.Collections.Generic; + +namespace Mirea.Api.DataAccess.Domain.Schedule; + +public class LectureHall +{ + public int Id { get; set; } + public required string Name { get; set; } + + public List? ProfessorToLessons { get; set; } + public int CampusId { get; set; } + public Campus? Campus { get; set; } +} \ No newline at end of file diff --git a/Domain/Schedule/Lesson.cs b/Domain/Schedule/Lesson.cs new file mode 100644 index 0000000..0851f0e --- /dev/null +++ b/Domain/Schedule/Lesson.cs @@ -0,0 +1,14 @@ +using System.Collections.Generic; + +namespace Mirea.Api.DataAccess.Domain.Schedule; + +public class Lesson +{ + public int Id { get; set; } + public bool IsEven { get; set; } + public required string Discipline { get; set; } + + public List? TypeOfOccupations { get; set; } + public List? ProfessorToLesson { get; set; } + public Day? Day { get; set; } +} \ No newline at end of file diff --git a/Domain/Schedule/LessonToTypeOfOccupation.cs b/Domain/Schedule/LessonToTypeOfOccupation.cs new file mode 100644 index 0000000..c14e697 --- /dev/null +++ b/Domain/Schedule/LessonToTypeOfOccupation.cs @@ -0,0 +1,11 @@ +namespace Mirea.Api.DataAccess.Domain.Schedule; + +public class LessonToTypeOfOccupation +{ + public int Id { get; set; } + + public int LessonId { get; set; } + public Lesson? Lesson { get; set; } + public int TypeOfOccupationId { get; set; } + public TypeOfOccupation? TypeOfOccupation { get; set; } +} \ No newline at end of file diff --git a/Domain/Schedule/Professor.cs b/Domain/Schedule/Professor.cs new file mode 100644 index 0000000..09309f8 --- /dev/null +++ b/Domain/Schedule/Professor.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; + +namespace Mirea.Api.DataAccess.Domain.Schedule; + +public class Professor +{ + public int Id { get; set; } + public required string Name { get; set; } + public string? AltName { get; set; } + + public List? ProfessorToLesson { get; set; } +} \ No newline at end of file diff --git a/Domain/Schedule/ProfessorToLesson.cs b/Domain/Schedule/ProfessorToLesson.cs new file mode 100644 index 0000000..17b287e --- /dev/null +++ b/Domain/Schedule/ProfessorToLesson.cs @@ -0,0 +1,15 @@ +namespace Mirea.Api.DataAccess.Domain.Schedule; + +public class ProfessorToLesson +{ + public int Id { get; set; } + public string? LinkToMeet { get; set; } + + + public int LessonId { get; set; } + public Lesson? Lesson { get; set; } + public int? ProfessorId { get; set; } + public Professor? Professor { get; set; } + public int? LectureHallId { get; set; } + public LectureHall? LectureHall { get; set; } +} \ No newline at end of file diff --git a/Domain/Schedule/TypeOfOccupation.cs b/Domain/Schedule/TypeOfOccupation.cs new file mode 100644 index 0000000..f7aeeb3 --- /dev/null +++ b/Domain/Schedule/TypeOfOccupation.cs @@ -0,0 +1,12 @@ +using System.Collections.Generic; + +namespace Mirea.Api.DataAccess.Domain.Schedule; + +public class TypeOfOccupation +{ + public int Id { get; set; } + public required string ShortName { get; set; } + public string? FullName { get; set; } + + public List? Lessons { get; set; } +} \ No newline at end of file