Ignore:
Timestamp:
12/10/25 15:12:34 (10 months ago)
Author:
imbrsk <boris696boris@…>
Branches:
master
Children:
61fd94e
Parents:
33c69d6
Message:

feat: Add ActiveSemesters model and update related entities

  • Introduced ActiveSemesters model with properties: id, year, and Type.
  • Updated EnrolledSemesters model to include new properties: CratedAt, LastChange, Veryfied, Node, and StudentComment.
  • Modified Payment model to change the primary key and updated table name to Payments.
  • Added Signature property to SemesterSubject model and updated table name to SemesterSubjects.
  • Created new migration to reflect changes in the database schema.
  • Updated User model to include a reference to Payments.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • iknow-api/Data/AppDbContext.cs

    r33c69d6 r70a9f6d  
    1414        public DbSet<EnrollmentInfo> EnrollmentInfo { get; set; }
    1515        public DbSet<RefreshToken> RefreshToken { get; set; }
    16 
    1716        public DbSet<Subject> Subjects { get; set; }
    1817        public DbSet<DependencySubject> DependencySubjects { get; set; }
     
    2019        public DbSet<PassedSubject> PassedSubjects { get; set; }
    2120        public DbSet<EnrolledSemesters> EnrolledSemesters { get; set; }
     21        public DbSet<ActiveSemesters> ActiveSemesters { get; set; }
     22        public DbSet<SemesterSubject> SemesterSubjects { get; set; }
     23        public DbSet<MajorSubjects> MajorSubjects { get; set; }
     24        public DbSet<UserDocuments> UserDocuments { get; set; }
     25        public DbSet<Documents> Documents { get; set; }
     26        public DbSet<Payment> Payments { get; set; }
    2227
    2328
     
    9297            // -------------------------
    9398            modelBuilder.Entity<Payment>()
    94                 .HasKey(ab => new { ab.UserId, ab.EnrollmentInfoId });
     99                .HasKey(p => p.Id);
    95100
    96101            modelBuilder.Entity<Payment>()
    97                 .HasOne(ab => ab.User)
    98                 .WithMany(a => a.EnrolledSemesters)
    99                 .HasForeignKey(ab => ab.UserId)
     102                .HasOne(p => p.User)
     103                .WithMany(u => u.EnrolledSemesters)
     104                .HasForeignKey(p => p.UserId)
    100105                .OnDelete(DeleteBehavior.Cascade);
    101106
    102107            modelBuilder.Entity<Payment>()
    103                 .HasOne(ab => ab.EnrolledSemesters)
    104                 .WithMany(b => b.Users)
    105                 .HasForeignKey(ab => ab.EnrollmentInfoId)
     108                .HasOne(p => p.EnrolledSemesters)
     109                .WithMany(es => es.Users)
     110                .HasForeignKey(p => p.EnrollmentInfoId)
    106111                .OnDelete(DeleteBehavior.Cascade);
    107112
     
    151156                .HasForeignKey<PassedSubject>(ps => ps.SemesterSubjectId)
    152157                .OnDelete(DeleteBehavior.Cascade);
     158
     159            // -------------------------
     160            // ActiveSemesters to EnrolledSemesters (one-to-many)
     161            // -------------------------
     162            modelBuilder.Entity<EnrolledSemesters>()
     163                .HasOne(es => es.Semester)
     164                .WithMany(a => a.EnrolledSemesters)
     165                .HasForeignKey(es => es.Id)
     166                .OnDelete(DeleteBehavior.Restrict);
    153167        }
    154168
Note: See TracChangeset for help on using the changeset viewer.