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

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

            var serviceResult = await _deThiService.CapNhatDeThi(id, request);

            return(Ok(serviceResult));
        }
Ejemplo n.º 2
0
        public async Task <Response <DeThiResponse> > CapNhatDeThi(long id, CapNhatDeThiRequest request)
        {
            var deThi = await _deThiRepo.GetDeThiById(id);

            if (deThi == null)
            {
                return new Response <DeThiResponse>
                       {
                           StatusCode = 400,
                           Success    = false,
                           Errors     = new[] { "Không tìm thấy đề thi" }
                       }
            }
            ;

            deThi.TenDeThi = request.TenDeThi;
            deThi.SanSang  = request.SanSang;

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

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

            var updatedDeThi = await _deThiRepo.UpdateDethi(deThi);

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

            var deThiResponse = new DeThiResponse(updatedDeThi, dsCauHoi);

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