Skip to content
Snippets Groups Projects
Commit 0e121a9d authored by esantangelo's avatar esantangelo
Browse files

activity and attendance entities

parent 399f38e7
No related branches found
No related tags found
1 merge request!32Feature/activities
using System;
using System.Collections.Generic;
using System.Text;
namespace Tsi1.DataLayer.Entities
{
public class Activity
{
public Activity()
{
Attendances = new HashSet<Attendance>();
}
public int Id { get; set; }
public string Name { get; set; }
public bool IsVideoConference { get; set; }
public int CourseId { get; set; }
public Course Course { get; set; }
public ICollection<Attendance> Attendances { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace Tsi1.DataLayer.Entities
{
public class Attendance
{
public int Id { get; set; }
public DateTime Date { get; set; }
public int UserId { get; set; }
public int ActivityId { get; set; }
public User User { get; set; }
public Activity Activity { get; set; }
}
}
......@@ -12,6 +12,7 @@ namespace Tsi1.DataLayer.Entities
ProfessorCourses = new HashSet<ProfessorCourse>();
Sections = new HashSet<Section>();
Communications = new HashSet<Communication>();
Activities = new HashSet<Activity>();
}
public int Id { get; set; }
......@@ -25,5 +26,7 @@ namespace Tsi1.DataLayer.Entities
public ICollection<Section> Sections { get; set; }
public ICollection<Communication> Communications { get; set; }
public ICollection<Activity> Activities { get; set; }
}
}
......@@ -12,6 +12,7 @@ namespace Tsi1.DataLayer.Entities
PostMessages = new HashSet<PostMessage>();
ForumUsers = new HashSet<ForumUser>();
SurveyResponses = new HashSet<SurveyResponse>();
Attendances = new HashSet<Attendance>();
}
public int Id { get; set; }
......@@ -43,5 +44,6 @@ namespace Tsi1.DataLayer.Entities
public ICollection<PostMessage> PostMessages { get; set; }
public ICollection<ForumUser> ForumUsers { get; set; }
public ICollection<SurveyResponse> SurveyResponses { get; set; }
public ICollection<Attendance> Attendances { get; set; }
}
}
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Text;
using Tsi1.DataLayer.Entities;
namespace Tsi1.DataLayer.EntityConfiguration
{
public class ActivityConfiguration : IEntityTypeConfiguration<Activity>
{
public void Configure(EntityTypeBuilder<Activity> builder)
{
builder.HasKey(x => x.Id);
builder.Property(x => x.Name)
.IsRequired()
.HasColumnType("character varying(50)");
builder.HasOne(x => x.Course)
.WithMany(x => x.Activities)
.HasForeignKey(x => x.CourseId);
}
}
}
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Text;
using Tsi1.DataLayer.Entities;
namespace Tsi1.DataLayer.EntityConfiguration
{
public class AttendanceConfiguration : IEntityTypeConfiguration<Attendance>
{
public void Configure(EntityTypeBuilder<Attendance> builder)
{
builder.HasKey(x => x.Id);
builder.HasOne(x => x.User)
.WithMany(x => x.Attendances)
.HasForeignKey(x => x.UserId);
builder.HasOne(x => x.Activity)
.WithMany(x => x.Attendances)
.HasForeignKey(x => x.ActivityId);
}
}
}
......@@ -32,8 +32,9 @@ namespace Tsi1.DataLayer
public DbSet<SurveyQuestion> SurveyQuestions { get; set; }
public DbSet<SurveyResponse> SurveyResponses { get; set; }
public DbSet<AnswerOption> AnswerOptions { get; set; }
public DbSet<Communication> Communications { get; set; }
public DbSet<Activity> Activities { get; set; }
public DbSet<Attendance> Attendances { get; set; }
......@@ -65,6 +66,8 @@ namespace Tsi1.DataLayer
modelBuilder.ApplyConfiguration(new SurveyResponseConfiguration());
modelBuilder.ApplyConfiguration(new AnswerOptionConfiguration());
modelBuilder.ApplyConfiguration(new CommunicationConfiguration());
modelBuilder.ApplyConfiguration(new ActivityConfiguration());
modelBuilder.ApplyConfiguration(new AttendanceConfiguration());
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment