diff --git a/University/UniversityAdminApp/Controllers/HomeController.cs b/University/UniversityAdminApp/Controllers/HomeController.cs
index e0eb274..061b691 100644
--- a/University/UniversityAdminApp/Controllers/HomeController.cs
+++ b/University/UniversityAdminApp/Controllers/HomeController.cs
@@ -388,19 +388,21 @@ namespace UniversityAdminApp.Controllers
}
[HttpPost]
- public void CreateStudyList(string name, DateTime date )
+ public void CreateStudyList(string name, DateTime date, int teacherId )
{
if (APIAdmin.Admin == null)
{
throw new Exception("Вы как сюда попали? Сюда вход только авторизованным");
}
- if (string.IsNullOrEmpty(name) || date == DateTime.MinValue)
+ if (string.IsNullOrEmpty(name) || date == DateTime.MinValue || teacherId < 0)
{
throw new Exception("Ошибка в введенных данных");
}
APIAdmin.PostRequest("api/studyList/createstudyList", new StudyListBindingModel
{
+ AdminId = APIAdmin.Admin.Id,
+ TeacherId = teacherId,
Name = name,
Date = date
});
@@ -443,13 +445,13 @@ namespace UniversityAdminApp.Controllers
}
[HttpPost]
- public void UpdateStudyList(int studyListId, string name, DateTime date)
+ public void UpdateStudyList(int studyListId, string name, DateTime date, int teacherId)
{
if (APIAdmin.Admin == null)
{
throw new Exception("Вы как сюда попали? Сюда вход только авторизованным");
}
- if (string.IsNullOrEmpty(name) || date == DateTime.MinValue)
+ if (string.IsNullOrEmpty(name) || date == DateTime.MinValue || teacherId < 0)
{
throw new Exception("Ошибка в введенных данных");
}
@@ -457,8 +459,10 @@ namespace UniversityAdminApp.Controllers
APIAdmin.PostRequest("api/studyList/updatestudyList?isconnection=false", new StudyListBindingModel
{
Id = studyListId,
+ TeacherId = teacherId,
Name = name,
- Date = date
+ Date = date,
+ AdminId = APIAdmin.Admin.Id
});
Response.Redirect("Index");
}
diff --git a/University/UniversityAdminApp/UniversityAdminApp.csproj b/University/UniversityAdminApp/UniversityAdminApp.csproj
index 3254672..03794c1 100644
--- a/University/UniversityAdminApp/UniversityAdminApp.csproj
+++ b/University/UniversityAdminApp/UniversityAdminApp.csproj
@@ -8,6 +8,11 @@
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
diff --git a/University/UniversityAdminApp/appsettings.json b/University/UniversityAdminApp/appsettings.json
index 10f68b8..4d33afa 100644
--- a/University/UniversityAdminApp/appsettings.json
+++ b/University/UniversityAdminApp/appsettings.json
@@ -5,5 +5,6 @@
"Microsoft.AspNetCore": "Warning"
}
},
+ "IPAddress": "https://localhost:8080",
"AllowedHosts": "*"
}
diff --git a/University/UniversityContracts/BindingModels/StudyListBindingModel.cs b/University/UniversityContracts/BindingModels/StudyListBindingModel.cs
index 3bcdd7e..65dec6b 100644
--- a/University/UniversityContracts/BindingModels/StudyListBindingModel.cs
+++ b/University/UniversityContracts/BindingModels/StudyListBindingModel.cs
@@ -13,5 +13,6 @@ namespace UniversityContracts.BindingModels
public int AdminId { get; set; }
public string Name { get; set; } = string.Empty;
public DateTime Date { get; set; }
+ public int TeacherId { get; set; }
}
}
diff --git a/University/UniversityContracts/SearchModels/StudyListSearchModel.cs b/University/UniversityContracts/SearchModels/StudyListSearchModel.cs
index febd2dc..11b1769 100644
--- a/University/UniversityContracts/SearchModels/StudyListSearchModel.cs
+++ b/University/UniversityContracts/SearchModels/StudyListSearchModel.cs
@@ -10,6 +10,7 @@ namespace UniversityContracts.SearchModels
{
public int? Id { get; set; }
public int? AdminId { get; set; }
+ public int? TeacherId { get; set; }
public string? Name { get; set; }
public DateTime? Date { get; set; }
}
diff --git a/University/UniversityContracts/ViewModels/StudyListViewModel.cs b/University/UniversityContracts/ViewModels/StudyListViewModel.cs
index 414ce69..adfc451 100644
--- a/University/UniversityContracts/ViewModels/StudyListViewModel.cs
+++ b/University/UniversityContracts/ViewModels/StudyListViewModel.cs
@@ -12,6 +12,7 @@ namespace UniversityContracts.ViewModels
{
public int Id { get; set; }
public int AdminId { get; set; }
+ public int TeacherId { get; set; }
[DisplayName("ФИО Преподователя")]
public string TeacherFIO { get; set; } = string.Empty;
diff --git a/University/UniversityDataModels/Models/IStudyListModel.cs b/University/UniversityDataModels/Models/IStudyListModel.cs
index a6d881b..c626a2d 100644
--- a/University/UniversityDataModels/Models/IStudyListModel.cs
+++ b/University/UniversityDataModels/Models/IStudyListModel.cs
@@ -9,6 +9,7 @@ namespace UniversityDataModels.Models
public interface IStudyListModel: IId
{
int AdminId { get; }
+ int TeacherId { get; }
string Name { get; }
DateTime Date { get; }
}
diff --git a/University/UniversityDatabaseImplement/Implements/StudyListStorage.cs b/University/UniversityDatabaseImplement/Implements/StudyListStorage.cs
index 7373e2a..33c521b 100644
--- a/University/UniversityDatabaseImplement/Implements/StudyListStorage.cs
+++ b/University/UniversityDatabaseImplement/Implements/StudyListStorage.cs
@@ -47,6 +47,7 @@ namespace UniversityDatabaseImplement.Implements
return context.StudyLists.Include(x => x.Teacher).Where(x => ((!model.Id.HasValue || x.Id == model.Id)
&& (!model.AdminId.HasValue || x.AdminId == model.AdminId)
+ && (!model.TeacherId.HasValue || x.TeacherId == model.TeacherId)
&& (model.Date.HasValue || x.Date == model.Date)
&& (!string.IsNullOrEmpty(model.Name) || x.Name == model.Name)))
.Select(x => x.GetViewModel).ToList();
diff --git a/University/UniversityDatabaseImplement/Migrations/20240501151724_InitMirgation.cs b/University/UniversityDatabaseImplement/Migrations/20240501151724_InitMirgation.cs
deleted file mode 100644
index 1be6fa4..0000000
--- a/University/UniversityDatabaseImplement/Migrations/20240501151724_InitMirgation.cs
+++ /dev/null
@@ -1,392 +0,0 @@
-using System;
-using Microsoft.EntityFrameworkCore.Migrations;
-
-#nullable disable
-
-namespace UniversityDatabaseImplement.Migrations
-{
- ///
- public partial class InitMirgation : Migration
- {
- ///
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "Admins",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- AdminFIO = table.Column(type: "nvarchar(max)", nullable: false),
- Login = table.Column(type: "nvarchar(max)", nullable: false),
- PhoneNumber = table.Column(type: "nvarchar(max)", nullable: false),
- Password = table.Column(type: "nvarchar(max)", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Admins", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "Disciplines",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- Name = table.Column(type: "nvarchar(max)", nullable: false),
- Description = table.Column(type: "nvarchar(max)", nullable: false),
- CountHours = table.Column(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Disciplines", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "Secretaries",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- SecretaryFIO = table.Column(type: "nvarchar(max)", nullable: false),
- Login = table.Column(type: "nvarchar(max)", nullable: false),
- Password = table.Column(type: "nvarchar(max)", nullable: false),
- PhoneNumber = table.Column(type: "nvarchar(max)", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Secretaries", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "Teachers",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- TeacherFIO = table.Column(type: "nvarchar(max)", nullable: false),
- Email = table.Column(type: "nvarchar(max)", nullable: false),
- PhoneNumber = table.Column(type: "nvarchar(max)", nullable: false),
- Position = table.Column(type: "nvarchar(max)", nullable: false),
- AcademicDegree = table.Column(type: "nvarchar(max)", nullable: false),
- AdminId = table.Column(type: "int", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Teachers", x => x.Id);
- table.ForeignKey(
- name: "FK_Teachers_Admins_AdminId",
- column: x => x.AdminId,
- principalTable: "Admins",
- principalColumn: "Id");
- });
-
- migrationBuilder.CreateTable(
- name: "EducationPlans",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- EducationPlanName = table.Column(type: "nvarchar(max)", nullable: false),
- SecretaryId = table.Column(type: "int", nullable: false),
- DateStart = table.Column(type: "datetime2", nullable: false),
- DateEnd = table.Column(type: "datetime2", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_EducationPlans", x => x.Id);
- table.ForeignKey(
- name: "FK_EducationPlans_Secretaries_SecretaryId",
- column: x => x.SecretaryId,
- principalTable: "Secretaries",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- });
-
- migrationBuilder.CreateTable(
- name: "Students",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- StudentFIO = table.Column(type: "nvarchar(max)", nullable: false),
- SecretaryId = table.Column(type: "int", nullable: false),
- Email = table.Column(type: "nvarchar(max)", nullable: false),
- PhoneNumber = table.Column(type: "nvarchar(max)", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Students", x => x.Id);
- table.ForeignKey(
- name: "FK_Students_Secretaries_SecretaryId",
- column: x => x.SecretaryId,
- principalTable: "Secretaries",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- });
-
- migrationBuilder.CreateTable(
- name: "StudyLists",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- Name = table.Column(type: "nvarchar(max)", nullable: false),
- Date = table.Column(type: "datetime2", nullable: false),
- TeacherId = table.Column(type: "int", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_StudyLists", x => x.Id);
- table.ForeignKey(
- name: "FK_StudyLists_Teachers_TeacherId",
- column: x => x.TeacherId,
- principalTable: "Teachers",
- principalColumn: "Id");
- });
-
- migrationBuilder.CreateTable(
- name: "TeacherDisciplines",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- TeacherId = table.Column(type: "int", nullable: false),
- DisciplineId = table.Column(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_TeacherDisciplines", x => x.Id);
- table.ForeignKey(
- name: "FK_TeacherDisciplines_Disciplines_DisciplineId",
- column: x => x.DisciplineId,
- principalTable: "Disciplines",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_TeacherDisciplines_Teachers_TeacherId",
- column: x => x.TeacherId,
- principalTable: "Teachers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "EducationPlanTeachers",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- EducationPlanId = table.Column(type: "int", nullable: false),
- TeacherId = table.Column(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_EducationPlanTeachers", x => x.Id);
- table.ForeignKey(
- name: "FK_EducationPlanTeachers_EducationPlans_EducationPlanId",
- column: x => x.EducationPlanId,
- principalTable: "EducationPlans",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_EducationPlanTeachers_Teachers_TeacherId",
- column: x => x.TeacherId,
- principalTable: "Teachers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "Certifications",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- StudentId = table.Column(type: "int", nullable: false),
- SecretaryId = table.Column(type: "int", nullable: false),
- Type = table.Column(type: "int", nullable: false),
- Mark = table.Column(type: "int", nullable: false),
- CertificationDate = table.Column(type: "datetime2", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Certifications", x => x.Id);
- table.ForeignKey(
- name: "FK_Certifications_Students_StudentId",
- column: x => x.StudentId,
- principalTable: "Students",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_Certifications_Secretaries_SecretaryId",
- column: x => x.SecretaryId,
- principalTable: "Secretaries",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- });
-
- migrationBuilder.CreateTable(
- name: "DisciplineStudents",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- DisciplineId = table.Column(type: "int", nullable: false),
- StudentId = table.Column(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_DisciplineStudents", x => x.Id);
- table.ForeignKey(
- name: "FK_DisciplineStudents_Disciplines_DisciplineId",
- column: x => x.DisciplineId,
- principalTable: "Disciplines",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_DisciplineStudents_Students_StudentId",
- column: x => x.StudentId,
- principalTable: "Students",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "StudentEducationPlans",
- columns: table => new
- {
- Id = table.Column(type: "int", nullable: false)
- .Annotation("SqlServer:Identity", "1, 1"),
- StudentId = table.Column(type: "int", nullable: false),
- EducationPlanId = table.Column(type: "int", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_StudentEducationPlans", x => x.Id);
- table.ForeignKey(
- name: "FK_StudentEducationPlans_EducationPlans_EducationPlanId",
- column: x => x.EducationPlanId,
- principalTable: "EducationPlans",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_StudentEducationPlans_Students_StudentId",
- column: x => x.StudentId,
- principalTable: "Students",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_Certifications_SecretaryId",
- table: "Certifications",
- column: "SecretaryId");
-
- migrationBuilder.CreateIndex(
- name: "IX_Certifications_StudentId",
- table: "Certifications",
- column: "StudentId");
-
- migrationBuilder.CreateIndex(
- name: "IX_DisciplineStudents_DisciplineId",
- table: "DisciplineStudents",
- column: "DisciplineId");
-
- migrationBuilder.CreateIndex(
- name: "IX_DisciplineStudents_StudentId",
- table: "DisciplineStudents",
- column: "StudentId");
-
- migrationBuilder.CreateIndex(
- name: "IX_EducationPlans_SecretaryId",
- table: "EducationPlans",
- column: "SecretaryId");
-
- migrationBuilder.CreateIndex(
- name: "IX_EducationPlanTeachers_EducationPlanId",
- table: "EducationPlanTeachers",
- column: "EducationPlanId");
-
- migrationBuilder.CreateIndex(
- name: "IX_EducationPlanTeachers_TeacherId",
- table: "EducationPlanTeachers",
- column: "TeacherId");
-
- migrationBuilder.CreateIndex(
- name: "IX_StudentEducationPlans_EducationPlanId",
- table: "StudentEducationPlans",
- column: "EducationPlanId");
-
- migrationBuilder.CreateIndex(
- name: "IX_StudentEducationPlans_StudentId",
- table: "StudentEducationPlans",
- column: "StudentId");
-
- migrationBuilder.CreateIndex(
- name: "IX_Students_SecretaryId",
- table: "Students",
- column: "SecretaryId");
-
- migrationBuilder.CreateIndex(
- name: "IX_StudyLists_TeacherId",
- table: "StudyLists",
- column: "TeacherId");
-
- migrationBuilder.CreateIndex(
- name: "IX_TeacherDisciplines_DisciplineId",
- table: "TeacherDisciplines",
- column: "DisciplineId");
-
- migrationBuilder.CreateIndex(
- name: "IX_TeacherDisciplines_TeacherId",
- table: "TeacherDisciplines",
- column: "TeacherId");
-
- migrationBuilder.CreateIndex(
- name: "IX_Teachers_AdminId",
- table: "Teachers",
- column: "AdminId");
- }
-
- ///
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "Certifications");
-
- migrationBuilder.DropTable(
- name: "DisciplineStudents");
-
- migrationBuilder.DropTable(
- name: "EducationPlanTeachers");
-
- migrationBuilder.DropTable(
- name: "StudentEducationPlans");
-
- migrationBuilder.DropTable(
- name: "StudyLists");
-
- migrationBuilder.DropTable(
- name: "TeacherDisciplines");
-
- migrationBuilder.DropTable(
- name: "EducationPlans");
-
- migrationBuilder.DropTable(
- name: "Students");
-
- migrationBuilder.DropTable(
- name: "Disciplines");
-
- migrationBuilder.DropTable(
- name: "Teachers");
-
- migrationBuilder.DropTable(
- name: "Secretaries");
-
- migrationBuilder.DropTable(
- name: "Admins");
- }
- }
-}
diff --git a/University/UniversityDatabaseImplement/Migrations/20240523164132_InitialCreate.Designer.cs b/University/UniversityDatabaseImplement/Migrations/20240524083513_InitialCreate.Designer.cs
similarity index 99%
rename from University/UniversityDatabaseImplement/Migrations/20240523164132_InitialCreate.Designer.cs
rename to University/UniversityDatabaseImplement/Migrations/20240524083513_InitialCreate.Designer.cs
index 1d07d9b..6a8b668 100644
--- a/University/UniversityDatabaseImplement/Migrations/20240523164132_InitialCreate.Designer.cs
+++ b/University/UniversityDatabaseImplement/Migrations/20240524083513_InitialCreate.Designer.cs
@@ -12,7 +12,7 @@ using UniversityDatabaseImplement;
namespace UniversityDatabaseImplement.Migrations
{
[DbContext(typeof(UniversityDatabase))]
- [Migration("20240523164132_InitialCreate")]
+ [Migration("20240524083513_InitialCreate")]
partial class InitialCreate
{
///
diff --git a/University/UniversityDatabaseImplement/Migrations/20240523164132_InitialCreate.cs b/University/UniversityDatabaseImplement/Migrations/20240524083513_InitialCreate.cs
similarity index 100%
rename from University/UniversityDatabaseImplement/Migrations/20240523164132_InitialCreate.cs
rename to University/UniversityDatabaseImplement/Migrations/20240524083513_InitialCreate.cs
diff --git a/University/UniversityDatabaseImplement/Migrations/20240501151724_InitMirgation.Designer.cs b/University/UniversityDatabaseImplement/Migrations/20240524085350_UpdateDeleteBehavior.Designer.cs
similarity index 90%
rename from University/UniversityDatabaseImplement/Migrations/20240501151724_InitMirgation.Designer.cs
rename to University/UniversityDatabaseImplement/Migrations/20240524085350_UpdateDeleteBehavior.Designer.cs
index e7f2a1d..c651b84 100644
--- a/University/UniversityDatabaseImplement/Migrations/20240501151724_InitMirgation.Designer.cs
+++ b/University/UniversityDatabaseImplement/Migrations/20240524085350_UpdateDeleteBehavior.Designer.cs
@@ -12,8 +12,8 @@ using UniversityDatabaseImplement;
namespace UniversityDatabaseImplement.Migrations
{
[DbContext(typeof(UniversityDatabase))]
- [Migration("20240501151724_InitMirgation")]
- partial class InitMirgation
+ [Migration("20240524085350_UpdateDeleteBehavior")]
+ partial class UpdateDeleteBehavior
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -94,6 +94,9 @@ namespace UniversityDatabaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+ b.Property("AdminId")
+ .HasColumnType("int");
+
b.Property("CountHours")
.HasColumnType("int");
@@ -107,6 +110,8 @@ namespace UniversityDatabaseImplement.Migrations
b.HasKey("Id");
+ b.HasIndex("AdminId");
+
b.ToTable("Disciplines");
});
@@ -274,6 +279,9 @@ namespace UniversityDatabaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+ b.Property("AdminId")
+ .HasColumnType("int");
+
b.Property("Date")
.HasColumnType("datetime2");
@@ -281,11 +289,13 @@ namespace UniversityDatabaseImplement.Migrations
.IsRequired()
.HasColumnType("nvarchar(max)");
- b.Property("TeacherId")
+ b.Property("TeacherId")
.HasColumnType("int");
b.HasKey("Id");
+ b.HasIndex("AdminId");
+
b.HasIndex("TeacherId");
b.ToTable("StudyLists");
@@ -303,7 +313,7 @@ namespace UniversityDatabaseImplement.Migrations
.IsRequired()
.HasColumnType("nvarchar(max)");
- b.Property("AdminId")
+ b.Property("AdminId")
.HasColumnType("int");
b.Property("Email")
@@ -371,10 +381,21 @@ namespace UniversityDatabaseImplement.Migrations
b.Navigation("Student");
});
+ modelBuilder.Entity("UniversityDatabaseImplement.Models.Discipline", b =>
+ {
+ b.HasOne("UniversityDatabaseImplement.Models.Admin", "Admin")
+ .WithMany("Disciplines")
+ .HasForeignKey("AdminId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Admin");
+ });
+
modelBuilder.Entity("UniversityDatabaseImplement.Models.DisciplineStudent", b =>
{
b.HasOne("UniversityDatabaseImplement.Models.Discipline", "Discipline")
- .WithMany("DisciplineStudents")
+ .WithMany("Students")
.HasForeignKey("DisciplineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
@@ -452,28 +473,44 @@ namespace UniversityDatabaseImplement.Migrations
modelBuilder.Entity("UniversityDatabaseImplement.Models.StudyList", b =>
{
- b.HasOne("UniversityDatabaseImplement.Models.Teacher", null)
+ b.HasOne("UniversityDatabaseImplement.Models.Admin", "Admin")
.WithMany("StudyLists")
- .HasForeignKey("TeacherId");
+ .HasForeignKey("AdminId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("UniversityDatabaseImplement.Models.Teacher", "Teacher")
+ .WithMany("StudyLists")
+ .HasForeignKey("TeacherId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Admin");
+
+ b.Navigation("Teacher");
});
modelBuilder.Entity("UniversityDatabaseImplement.Models.Teacher", b =>
{
- b.HasOne("UniversityDatabaseImplement.Models.Admin", null)
+ b.HasOne("UniversityDatabaseImplement.Models.Admin", "Admin")
.WithMany("Teachers")
- .HasForeignKey("AdminId");
+ .HasForeignKey("AdminId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Admin");
});
modelBuilder.Entity("UniversityDatabaseImplement.Models.TeacherDiscipline", b =>
{
b.HasOne("UniversityDatabaseImplement.Models.Discipline", "Discipline")
- .WithMany("Teachers")
+ .WithMany()
.HasForeignKey("DisciplineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("UniversityDatabaseImplement.Models.Teacher", "Teacher")
- .WithMany()
+ .WithMany("Disciplines")
.HasForeignKey("TeacherId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
@@ -485,14 +522,16 @@ namespace UniversityDatabaseImplement.Migrations
modelBuilder.Entity("UniversityDatabaseImplement.Models.Admin", b =>
{
+ b.Navigation("Disciplines");
+
+ b.Navigation("StudyLists");
+
b.Navigation("Teachers");
});
modelBuilder.Entity("UniversityDatabaseImplement.Models.Discipline", b =>
{
- b.Navigation("DisciplineStudents");
-
- b.Navigation("Teachers");
+ b.Navigation("Students");
});
modelBuilder.Entity("UniversityDatabaseImplement.Models.EducationPlan", b =>
@@ -520,6 +559,8 @@ namespace UniversityDatabaseImplement.Migrations
modelBuilder.Entity("UniversityDatabaseImplement.Models.Teacher", b =>
{
+ b.Navigation("Disciplines");
+
b.Navigation("StudyLists");
});
#pragma warning restore 612, 618
diff --git a/University/UniversityDatabaseImplement/Migrations/20240524085350_UpdateDeleteBehavior.cs b/University/UniversityDatabaseImplement/Migrations/20240524085350_UpdateDeleteBehavior.cs
new file mode 100644
index 0000000..369f3f5
--- /dev/null
+++ b/University/UniversityDatabaseImplement/Migrations/20240524085350_UpdateDeleteBehavior.cs
@@ -0,0 +1,22 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace UniversityDatabaseImplement.Migrations
+{
+ ///
+ public partial class UpdateDeleteBehavior : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+
+ }
+ }
+}
diff --git a/University/UniversityDatabaseImplement/Migrations/UniversityDatabaseModelSnapshot.cs b/University/UniversityDatabaseImplement/Migrations/UniversityDatabaseModelSnapshot.cs
index 0eb8d23..eeb881e 100644
--- a/University/UniversityDatabaseImplement/Migrations/UniversityDatabaseModelSnapshot.cs
+++ b/University/UniversityDatabaseImplement/Migrations/UniversityDatabaseModelSnapshot.cs
@@ -91,6 +91,9 @@ namespace UniversityDatabaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+ b.Property("AdminId")
+ .HasColumnType("int");
+
b.Property("CountHours")
.HasColumnType("int");
@@ -104,6 +107,8 @@ namespace UniversityDatabaseImplement.Migrations
b.HasKey("Id");
+ b.HasIndex("AdminId");
+
b.ToTable("Disciplines");
});
@@ -271,6 +276,9 @@ namespace UniversityDatabaseImplement.Migrations
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id"));
+ b.Property("AdminId")
+ .HasColumnType("int");
+
b.Property("Date")
.HasColumnType("datetime2");
@@ -278,11 +286,13 @@ namespace UniversityDatabaseImplement.Migrations
.IsRequired()
.HasColumnType("nvarchar(max)");
- b.Property("TeacherId")
+ b.Property("TeacherId")
.HasColumnType("int");
b.HasKey("Id");
+ b.HasIndex("AdminId");
+
b.HasIndex("TeacherId");
b.ToTable("StudyLists");
@@ -300,7 +310,7 @@ namespace UniversityDatabaseImplement.Migrations
.IsRequired()
.HasColumnType("nvarchar(max)");
- b.Property("AdminId")
+ b.Property("AdminId")
.HasColumnType("int");
b.Property("Email")
@@ -368,10 +378,21 @@ namespace UniversityDatabaseImplement.Migrations
b.Navigation("Student");
});
+ modelBuilder.Entity("UniversityDatabaseImplement.Models.Discipline", b =>
+ {
+ b.HasOne("UniversityDatabaseImplement.Models.Admin", "Admin")
+ .WithMany("Disciplines")
+ .HasForeignKey("AdminId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Admin");
+ });
+
modelBuilder.Entity("UniversityDatabaseImplement.Models.DisciplineStudent", b =>
{
b.HasOne("UniversityDatabaseImplement.Models.Discipline", "Discipline")
- .WithMany("DisciplineStudents")
+ .WithMany("Students")
.HasForeignKey("DisciplineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
@@ -449,28 +470,44 @@ namespace UniversityDatabaseImplement.Migrations
modelBuilder.Entity("UniversityDatabaseImplement.Models.StudyList", b =>
{
- b.HasOne("UniversityDatabaseImplement.Models.Teacher", null)
+ b.HasOne("UniversityDatabaseImplement.Models.Admin", "Admin")
.WithMany("StudyLists")
- .HasForeignKey("TeacherId");
+ .HasForeignKey("AdminId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("UniversityDatabaseImplement.Models.Teacher", "Teacher")
+ .WithMany("StudyLists")
+ .HasForeignKey("TeacherId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Admin");
+
+ b.Navigation("Teacher");
});
modelBuilder.Entity("UniversityDatabaseImplement.Models.Teacher", b =>
{
- b.HasOne("UniversityDatabaseImplement.Models.Admin", null)
+ b.HasOne("UniversityDatabaseImplement.Models.Admin", "Admin")
.WithMany("Teachers")
- .HasForeignKey("AdminId");
+ .HasForeignKey("AdminId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Admin");
});
modelBuilder.Entity("UniversityDatabaseImplement.Models.TeacherDiscipline", b =>
{
b.HasOne("UniversityDatabaseImplement.Models.Discipline", "Discipline")
- .WithMany("Teachers")
+ .WithMany()
.HasForeignKey("DisciplineId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.HasOne("UniversityDatabaseImplement.Models.Teacher", "Teacher")
- .WithMany()
+ .WithMany("Disciplines")
.HasForeignKey("TeacherId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
@@ -482,14 +519,16 @@ namespace UniversityDatabaseImplement.Migrations
modelBuilder.Entity("UniversityDatabaseImplement.Models.Admin", b =>
{
+ b.Navigation("Disciplines");
+
+ b.Navigation("StudyLists");
+
b.Navigation("Teachers");
});
modelBuilder.Entity("UniversityDatabaseImplement.Models.Discipline", b =>
{
- b.Navigation("DisciplineStudents");
-
- b.Navigation("Teachers");
+ b.Navigation("Students");
});
modelBuilder.Entity("UniversityDatabaseImplement.Models.EducationPlan", b =>
@@ -517,6 +556,8 @@ namespace UniversityDatabaseImplement.Migrations
modelBuilder.Entity("UniversityDatabaseImplement.Models.Teacher", b =>
{
+ b.Navigation("Disciplines");
+
b.Navigation("StudyLists");
});
#pragma warning restore 612, 618
diff --git a/University/UniversityDatabaseImplement/Models/StudyList.cs b/University/UniversityDatabaseImplement/Models/StudyList.cs
index cae15af..4bede72 100644
--- a/University/UniversityDatabaseImplement/Models/StudyList.cs
+++ b/University/UniversityDatabaseImplement/Models/StudyList.cs
@@ -35,10 +35,11 @@ namespace UniversityDatabaseImplement.Models
return null;
}
- return new StudyList()
+ return new StudyList()
{
Id = model.Id,
AdminId = model.AdminId,
+ TeacherId = model.TeacherId,
Name = model.Name,
Date = model.Date,
Admin = context.Admins.First(x => x.Id == model.AdminId)
@@ -51,6 +52,7 @@ namespace UniversityDatabaseImplement.Models
return;
}
AdminId = model.AdminId;
+ TeacherId = model.TeacherId;
Name = model.Name;
Date = model.Date;
}
@@ -58,6 +60,7 @@ namespace UniversityDatabaseImplement.Models
{
Id = Id,
AdminId = AdminId,
+ TeacherId = TeacherId,
Name = Name,
Date = Date,
TeacherFIO = Teacher?.TeacherFIO ?? string.Empty