Exemplo n.º 1
0
        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}");
            }
        }
Exemplo n.º 2
0
        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()}");
        }
Exemplo n.º 3
0
 public static IDac GetDAC()
 {
     if (_dac == null)
     {
         MockDac dc = new MockDac();
         _dac = dc;
     }
     return(_dac);
 }
Exemplo n.º 4
0
 public static IDac GetDAC()
 {
     if (_dac == null)
     {
         EFDac dc = new EFDac();
         if (dc.EmpEntity == null)
         {
             dc.EmpEntity = new CBREmpEntities();
         }
         _dac = dc;
     }
     return(_dac);
 }
Exemplo n.º 5
0
        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}");
            }
        }
Exemplo n.º 6
0
        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}");
        }
Exemplo n.º 7
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;
            }
        }
Exemplo n.º 8
0
        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);
            }
        }
Exemplo n.º 9
0
        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);
            }
        }
Exemplo n.º 10
0
 public Facade(IDac dac)
 {
     this.dac = dac;
 }