Exemplo n.º 1
0
 public void AddExam()
 {
     NewExam = new ExamCreate()
     {
         Type = ExamType.Written
     };
 }
Exemplo n.º 2
0
        //public async Task Create (ExamCreate model)
        //{
        //    var exam = new Exam
        //    {
        //        Type = (int)model.Type,
        //        Date = model.Date,
        //        CourseId = model.CourseInstance.CourseId,
        //        SemesterId = model.CourseInstance.SemesterId
        //    };
        //    ValidateBasic(exam);
        //    await context.Exam.AddAsync(exam);
        //    await context.SaveChangesAsync();
        //}

        public async Task Create(ExamCreate model)
        {
            var exam = new Exam
            {
                Type       = (int)model.Type,
                Date       = GetDateTime(model.Date, model.Time),
                CourseId   = model.CourseInstance.CourseId,
                SemesterId = model.CourseInstance.SemesterId
            };

            ValidateBasic(exam);

            var enrolments = context.Enrolment.Where(_ => model.EnrolmentIds.Contains(_.Id));

            if (model.EnrolmentIds.Count != enrolments.Count())
            {
                throw new ValidationException("Odabran je nepostojeći enrolment.");
            }

            await context.Exam.AddAsync(exam);

            var studentExams = enrolments.Select(_ => new StudentExam
            {
                EnrolmentId = _.Id,
                ExamId      = exam.Id
            });

            await context.StudentExam.AddRangeAsync(studentExams);

            await context.SaveChangesAsync();
        }