-
Notifications
You must be signed in to change notification settings - Fork 0
/
Program.cs
52 lines (45 loc) · 2.97 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using EFCoreTut.Migrations.Data;
using Microsoft.EntityFrameworkCore;
namespace EFCoreTut.Migrations
{
internal class Program
{
static void Main(string[] args)
{
//using(var context = new AppDbContext())
//{
// foreach(var item in context.Sections.Include(e => e.Course))
// {
// Console.WriteLine($"Section Name: {item.SectionName} => Course Name: {item.Course.CourseName}");
// }
//}
// SOLVE: The Big Table in Github Repo Eng/ Essam
// And Then, Make a repo and load this project into it
using(var context = new AppDbContext())
{
// Here EF-CORE automatically made JOINs between These Entities
var sectionData = context.Sections
.Include(e => e.Course)
.Include(e => e.Instructor)
.Include(e => e.Schedules)
.Include(e => e.SectionSchedules);
Console.WriteLine("|-----|----------------|--------------|-----------------|------------------|--------------|--------------|-------|-------|-------|-------|-------|-------|-------|");
Console.WriteLine("| Id | Course Name | Section Name | Instructor Name | Schedule Title | Start Time | End Time | SUN | MON | TUE | WED | THU | FRI | SAT |");
Console.WriteLine("|-----|----------------|--------------|-----------------|------------------|--------------|--------------|-------|-------|-------|-------|-------|-------|-------|");
foreach (var data in sectionData)
{
var SUN = data.Schedules.Any(d => d.SUN) ? "X" : " ";
var MON = data.Schedules.Any(d => d.MON) ? "X" : " ";
var TUE = data.Schedules.Any(d => d.TUE) ? "X" : " ";
var WED = data.Schedules.Any(d => d.WED) ? "X" : " ";
var THU = data.Schedules.Any(d => d.THU) ? "X" : " ";
var FRI = data.Schedules.Any(d => d.FRI) ? "X" : " ";
var SAT = data.Schedules.Any(d => d.SAT) ? "X" : " ";
Console.WriteLine($"| {data.Id.ToString().PadLeft(3, '0')} | {data.Course.CourseName,-14} | {data.SectionName,-12} | {data.Instructor!.FName + " " + data.Instructor.LName,-15} | {data.Schedules.FirstOrDefault()!.Title,-16} | {data.SectionSchedules.FirstOrDefault()!.StartTime,-12} | {data.SectionSchedules.FirstOrDefault()!.EndTime,-12} | {SUN,-5} | {MON,-5} | {TUE,-5} | {WED,-5} | {THU,-5} | {FRI,-5} | {SAT,-5} |");
Console.WriteLine("|-----|----------------|--------------|-----------------|------------------|--------------|--------------|-------|-------|-------|-------|-------|-------|-------|");
}
}
Console.ReadKey();
}
}
}