Esempio n. 1
0
        public async Task <IActionResult> TaoDeThi(long idHocPhan, TaoDeThiRequest request)
        {
            var claim = User.Claims.FirstOrDefault(c => c.Type == "id");

            if (!User.Identity.IsAuthenticated || claim == null)
            {
                return(Unauthorized());
            }

            var serviceResult = await _deThiService.TaoDeThi(idHocPhan, request);

            return(Ok(serviceResult));
        }
Esempio n. 2
0
        public async Task <Response <DeThiResponse> > TaoDeThi(long idHocPhan, TaoDeThiRequest request)
        {
            var hocPhan = await _hocPhanRepo.GetHocPhanById(idHocPhan);

            if (hocPhan == null)
            {
                return new Response <DeThiResponse>
                       {
                           StatusCode = 400,
                           Success    = false,
                           Errors     = new[] { "Không tìm thấy học phần" }
                       }
            }
            ;

            var deThi = new DeThi
            {
                TenDeThi  = request.TenDeThi,
                DeThiThu  = request.DeThiThu,
                SanSang   = false,
                IdHocPhan = idHocPhan,
            };

            deThi.DsCauHoi = new List <ChiTietDeThi>();

            foreach (var idCauHoi in request.DsIdCauHoi)
            {
                deThi.DsCauHoi.Add(new ChiTietDeThi {
                    IdCauHoi = idCauHoi
                });
            }

            var newDeThi = await _deThiRepo.CreateDeThi(deThi);

            var dsIdCauHoi = _deThiRepo.GetDsIdCauHoi(deThi.Id);
            var dsCauHoi   = await _cauHoiRepo.GetMultipleCauHoiById(dsIdCauHoi);

            var deThiResponse = new DeThiResponse(newDeThi, dsCauHoi);

            return(new Response <DeThiResponse>
            {
                StatusCode = 201,
                Success = true,
                Data = deThiResponse
            });
        }
    }