Exemplo n.º 1
0
        public async Task <IActionResult> ThemCauHoiVaoKhoCauHoi(long idKhoCauHoi, TaoCauHoiRequest request)
        {
            var claim = User.Claims.FirstOrDefault(c => c.Type == "id");

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

            var serviceResult = await _cauHoiService.ThemCauHoiVaoKhoCauHoi(idKhoCauHoi, request);

            return(Ok(serviceResult));
        }
        public async Task <Response <CauHoi> > ThemCauHoiVaoKhoCauHoi(long idKhoCauHoi, TaoCauHoiRequest request)
        {
            var khoCauHoi = await _khoCauHoiRepo.GetKhoCauHoiById(idKhoCauHoi);

            if (khoCauHoi == null)
            {
                return new Response <CauHoi>
                       {
                           StatusCode = 400,
                           Success    = false,
                           Errors     = new[] { "Không tìm thấy kho câu hỏi" }
                       }
            }
            ;

            var cauHoi = new CauHoi
            {
                NoiDung     = request.NoiDung,
                DoKho       = request.DoKho,
                NhieuDapAn  = request.NhieuDapAn,
                IdKhoCauHoi = idKhoCauHoi
            };
            var dsDapAn = new List <DapAn>();

            foreach (var da in request.DsDapAn)
            {
                var dapAn = new DapAn
                {
                    NoiDung   = da.NoiDung,
                    DapAnDung = da.DapAnDung
                };

                dsDapAn.Add(dapAn);
            }

            var newCauHoi = await _cauHoiRepo.CreateCauHoi(cauHoi, dsDapAn);

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