コード例 #1
0
        public static Entrant Create()
        {
            if (_idealEntrantWasCreated == false)
            {
                var entrant = new Entrant
                {
                    Id        = 2, //(связано через claim с аккаунтом идеального пользователя)
                    FirstName = "IDEAL",
                    LastName  = "Ерохин"
                };

                using (var context = new OptimalEducationDbContext())
                {
                    //Добавляем ему результаты по ЕГЭ
                    foreach (
                        var discipline in context.ExamDisciplines.Where(p => p.ExamType == ExamType.UnitedStateExam))
                    {
                        entrant.UnitedStateExams.Add(
                            new UnitedStateExam
                        {
                            Discipline = discipline,
                            Entrant    = entrant,
                            Result     = 100
                        });
                    }
                    //Добавляем ему результаты по школьным предметам
                    foreach (var schoolDisc in context.SchoolDisciplines)
                    {
                        entrant.SchoolMarks.Add(
                            new SchoolMark
                        {
                            SchoolDiscipline = schoolDisc,
                            Entrant          = entrant,
                            Result           = 5
                        });
                    }
                    //Добавляем ему результаты по олимпиадам(по всем???)
                    for (var i = 0; i < 3; i++)
                    {
                        foreach (var olympiad in context.Olympiads)
                        {
                            entrant.ParticipationInOlympiads.Add(
                                new ParticipationInOlympiad
                            {
                                Entrant  = entrant,
                                Result   = OlypmpiadResult.FirstPlace,
                                Olympiad = olympiad
                            });
                        }
                    }

                    context.Entrants.Add(entrant);
                    context.SaveChanges();
                }

                _idealEntrantWasCreated = true;
                return(entrant);
            }
            throw new Exception("Идеальный пользователь уже был создан в Seed методе. Повторный вызов запрещен.");
        }
コード例 #2
0
        public static Entrant Create(string name, int id = -1)
        {
            var entrant = new Entrant
            {
                FirstName = name
            };

            if (id >= 0)
            {
                entrant.Id = id;
            }

            using (var context = new OptimalEducationDbContext())
            {
                //Добавляем ему результаты по ЕГЭ
                foreach (var discipline in context.ExamDisciplines.Where(p => p.ExamType == ExamType.UnitedStateExam))
                {
                    entrant.UnitedStateExams.Add(
                        new UnitedStateExam
                    {
                        Discipline = discipline,
                        Entrant    = entrant,
                        Result     = 50
                    });
                }

                //Добавляем ему результаты по школьным предметам
                foreach (var schoolDisc in context.SchoolDisciplines)
                {
                    entrant.SchoolMarks.Add(
                        new SchoolMark
                    {
                        SchoolDiscipline = schoolDisc,
                        Entrant          = entrant,
                        Result           = 4
                    });
                }

                context.Entrants.Add(entrant);
                context.SaveChanges();
            }

            return(entrant);
        }