예제 #1
0
        public async Task Create(ExamViewDto dto)
        {
            var exam = new Exam
            {
                Content     = dto.Content,
                Time        = dto.Time,
                Type        = dto.Type,
                CreatedDate = DateTime.Now
            };
            await _context.Exams.AddAsync(exam);

            bool examSaved = await _context.SaveChangesAsync() > 0;

            if (examSaved)
            {
                // get questions in 3 type
                var listQuestionLaw = await _context.Questions.Where(s => s.Type == QuestionType.Law)
                                      .OrderBy(s => Guid.NewGuid()).Take(10)
                                      .Select(s => new QuestionInExam
                {
                    QuestionId = s.Id,
                    ExamId     = exam.Id
                }).ToListAsync();

                var listQuestionTrafficSign = await _context.Questions.Where(s => s.Type == QuestionType.TrafficSign)
                                              .OrderBy(s => Guid.NewGuid()).Take(5)
                                              .Select(s => new QuestionInExam
                {
                    QuestionId = s.Id,
                    ExamId     = exam.Id,
                }).ToListAsync();

                var listQuestionSituation = await _context.Questions.Where(s => s.Type == QuestionType.Situation)
                                            .OrderBy(s => Guid.NewGuid()).Take(5)
                                            .Select(s => new QuestionInExam
                {
                    QuestionId = s.Id,
                    ExamId     = exam.Id
                }).ToListAsync();

                await _context.QuestionInExams.AddRangeAsync(listQuestionLaw.Concat(listQuestionTrafficSign
                                                                                    .Concat(listQuestionSituation)));

                await _context.SaveChangesAsync();
            }
        }
        public async Task <ActionResult> Create(UserDto dto)
        {
            var isExist = await _context.Users.AnyAsync(s => s.UserName == dto.UserName);

            if (isExist)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, $"Đã tồn tại username: {dto.UserName}!!!"));
            }
            User user = new User
            {
                Name     = dto.Name,
                Password = dto.Password,
                UserName = dto.UserName,
                IsActive = true,
                Dob      = DateTime.ParseExact(dto.Dob, "dd/MM/yyyy", null),
                Gender   = dto.Gender,
                Phone    = dto.Phone
            };
            await _context.AddAsync(user);

            await _context.SaveChangesAsync();

            return(Ok());
        }
        public async Task <ActionResult> Create(LawDto input)
        {
            var isExist = await _context.Laws.AnyAsync(s => s.Content == input.Content);

            if (isExist)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, $"Đã tồn tại content: {input.Content}!!!"));
            }
            Law law = new Law
            {
                Id         = input.Id,
                Content    = input.Content,
                Punishment = input.Punishment,
                Type       = input.Type
            };
            await _context.AddAsync(law);

            await _context.SaveChangesAsync();

            return(Ok());
        }