コード例 #1
0
        public async Task <T> CreateTeacher <T>(TeacherInputModel inputModel)
        {
            var schoolId = int.Parse(inputModel.SchoolId);
            var school   = _schoolsRepository.All().FirstOrDefault(s => s.Id == schoolId);

            if (school != null)
            {
                var teacher = new Teacher()
                {
                    FirstName = inputModel.FirstName,
                    LastName  = inputModel.LastName,
                    School    = school,
                    UniqueId  = _idGeneratorService.GenerateTeacherId()
                };

                await _teachersRepository.AddAsync(teacher);

                await _teachersRepository.SaveChangesAsync();

                BasePersonModel baseModel = _teachersRepository.All().FirstOrDefault(t => t.UniqueId == teacher.UniqueId);

                return(AutoMapperConfig.MapperInstance.Map <T>(baseModel));
            }

            throw new ArgumentException($"Sorry, we couldn't find school with id {schoolId}");
        }
コード例 #2
0
        private async Task SeedTeachers(ApplicationDbContext dbContext)
        {
            if (dbContext.Teachers.Any())
            {
                return;
            }

            var secondEnglishLanguageSchoolTeachers = new List <Teacher>
            {
                new Teacher {
                    FirstName = "Yordan", LastName = "Apostolov", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Petko", LastName = "Petkov", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Ivanka", LastName = "Ivanova", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Mista", LastName = "Inglishmen", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                }
            };

            var nationalTradeAndBankingSchoolTeachers = new List <Teacher>
            {
                new Teacher {
                    FirstName = "Ivan", LastName = "Ivanov", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Radoi", LastName = "Bojinov", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Yavor", LastName = "Yavorov", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Natko", LastName = "Bankera", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                }
            };

            var primarySchoolTeachers = new List <Teacher>
            {
                new Teacher {
                    FirstName = "Dobrina", LastName = "Loshotiikova", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Agnes", LastName = "Matematichkata", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Bulgarkata", LastName = "Damqnova", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Gospoja", LastName = "Geografiq", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                }
            };

            var newBulgarianUniversityTeachers = new List <Teacher>
            {
                new Teacher {
                    FirstName = "Fizichkata", LastName = "Slavkova", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Himikut", LastName = "Mitko", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Zlobnata", LastName = "Psiholojka", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                },
                new Teacher {
                    FirstName = "Finalniqt", LastName = "Gospodin", Email = "*****@*****.**", UniqueId = _idGeneratoService.GenerateTeacherId()
                }
            };

            var teachers = new List <Teacher>();

            teachers.AddRange(secondEnglishLanguageSchoolTeachers);
            teachers.AddRange(nationalTradeAndBankingSchoolTeachers);
            teachers.AddRange(primarySchoolTeachers);
            teachers.AddRange(newBulgarianUniversityTeachers);

            foreach (var teacher in teachers)
            {
                await dbContext.AddAsync(teacher);
            }

            var primarySchool = await dbContext.Schools.FirstOrDefaultAsync(s => s.Type == SchoolType.PrimarySchool);

            if (primarySchool != null)
            {
                primarySchool.Teachers = primarySchoolTeachers;
                dbContext.Update(primarySchool);
            }

            var secondEnglishLanguageSchool = await dbContext.Schools.FirstOrDefaultAsync(s => s.Type == SchoolType.HighSchool && s.Name.Contains("Second English Language High School"));

            if (secondEnglishLanguageSchool != null)
            {
                secondEnglishLanguageSchool.Teachers = secondEnglishLanguageSchoolTeachers;
                dbContext.Update(secondEnglishLanguageSchool);
            }

            var ntbg = await dbContext.Schools.FirstOrDefaultAsync(s => s.Type == SchoolType.HighSchool && s.Name.Contains("National Trade and Banking High School"));

            if (ntbg != null)
            {
                ntbg.Teachers = nationalTradeAndBankingSchoolTeachers;
                dbContext.Update(ntbg);
            }

            var nbu = await dbContext.Schools.FirstOrDefaultAsync(s => s.Type == SchoolType.University && s.Name.Contains("New Bulgarian University"));

            if (nbu != null)
            {
                nbu.Teachers = newBulgarianUniversityTeachers;
                dbContext.Update(nbu);
            }

            await dbContext.SaveChangesAsync();
        }
コード例 #3
0
        public void GenerateTeacherId_WithSingleId_ShouldGenerateIdForTeacher()
        {
            var id = _idGeneratorService.GenerateTeacherId();

            id.Should().StartWith(GlobalConstants.TeacherIdPrefix.ToString());
        }