static async Task ShowRegistrations_Good(IDac dac) { // Registrations var regs = await dac.GetRegistrations(it => true); // Students var relatedStudentIdQry = regs.Select(it => it.StudentId).Distinct(); var students = await dac.GetStudents(it => relatedStudentIdQry.Contains(it.Id)); // Subjects var relatedSubjectIdQry = regs.Select(it => it.SubjectId).Distinct(); var subjects = await dac.GetSubjects(it => relatedSubjectIdQry.Contains(it.Id)); // Teachers var relatedTeacherIdQry = subjects.Select(it => it.TeacherId).Distinct(); var teachers = await dac.GetTeachers(it => relatedTeacherIdQry.Contains(it.Id)); foreach (var reg in regs) { var student = students.FirstOrDefault(it => it.Id == reg.StudentId); var subject = subjects.FirstOrDefault(it => it.Id == reg.SubjectId); var teacher = teachers.FirstOrDefault(it => it.Id == subject.TeacherId); Console.WriteLine($"{reg.Id:00}|{subject.Name}, {student.Name}, {teacher.Name}, {reg.Semester}, {reg.Grade}"); } }
static async Task ShowRegistrationsWithCondition_Good(IDac dac) { var regs = await dac.GetRegistrations(it => true); var evenRegs = regs.Where(it => it.Id % 2 == 0); Console.WriteLine($"Any event Id in the registrations? {evenRegs.Any()}"); }
public static IDac GetDAC() { if (_dac == null) { MockDac dc = new MockDac(); _dac = dc; } return(_dac); }
public static IDac GetDAC() { if (_dac == null) { EFDac dc = new EFDac(); if (dc.EmpEntity == null) { dc.EmpEntity = new CBREmpEntities(); } _dac = dc; } return(_dac); }
static async Task ShowRegistrations_Bad(IDac dac) { var regs = await dac.GetRegistrations(it => true); foreach (var reg in regs) { var student = await dac.GetStudent(it => it.Id == reg.StudentId); var subject = await dac.GetSubject(it => it.Id == reg.SubjectId); var teacher = await dac.GetTeacher(it => it.Id == subject.TeacherId); Console.WriteLine($"{reg.Id:00}|{subject.Name}, {student.Name}, {teacher.Name}, {reg.Semester}, {reg.Grade}"); } }
static async Task ShowRegistrationsWithCondition_Bad(IDac dac) { var regs = await dac.GetRegistrations(it => true); var evenRegs = new List <Registration>(); foreach (var item in regs) { if (item.Id % 2 == 0) { evenRegs.Add(item); } } Console.WriteLine($"Any event Id in the registrations? {evenRegs.Count() > 0}"); }
public IDac GetDac(string myDBType, string connStr) { IDac dac = null; if (string.IsNullOrEmpty(myDBType)) { throw new Exception("Database Server type rquired."); // No database server type provided, cannot continue; } if (string.IsNullOrEmpty(connStr)) { throw new Exception("Connection string is rquired."); // No connection string provided, cannot continue; } if (myDBType.ToLower() == "sqlserver") { dac = new SQLDac(connStr) as IDac; return(dac); } else { throw new Exception("Data Access to be implemented."); // No dac defined yet, cannot continue; } }
static async Task FilterRegistrations_Bad(IDac dac) { var firstSemesters = await dac.GetRegistrations(it => it.Semester == "1st" && it.Grade == 0); var secondSemester = await dac.GetRegistrations(it => it.Semester == "2nd" && it.Grade == 0); Console.WriteLine("Fail students in the 1st semester"); foreach (var item in firstSemesters) { var student = await dac.GetStudent(it => it.Id == item.StudentId); Console.WriteLine(student.Name); } Console.WriteLine("Fail students in the 2nd semester"); foreach (var item in secondSemester) { var student = await dac.GetStudent(it => it.Id == item.StudentId); Console.WriteLine(student.Name); } }
static async Task FilterRegistrations_Good(IDac dac) { var fails = await dac.GetRegistrations(it => it.Grade == 0); var firstSemesters = fails.Where(it => it.Semester == "1st"); var secondSemester = fails.Where(it => it.Semester == "2nd"); var studentIdQry = fails.Select(it => it.StudentId).Distinct(); var students = await dac.GetStudents(it => studentIdQry.Contains(it.Id)); Console.WriteLine("Fail students in the 1st semester"); foreach (var item in firstSemesters) { var student = students.FirstOrDefault(it => it.Id == item.StudentId); Console.WriteLine(student.Name); } Console.WriteLine("Fail students in the 2nd semester"); foreach (var item in secondSemester) { var student = students.FirstOrDefault(it => it.Id == item.StudentId); Console.WriteLine(student.Name); } }
public Facade(IDac dac) { this.dac = dac; }