public void GetAllVragenCorrect()
        {
            var vraagDTOs = new List <VraagDTO>();

            vraagDTOs.Add(new VraagDTO
            {
                Id = 1,
                JsonCorrecteAntwoord    = "Correct",
                JsonMogelijkeAntwoorden = "Mogelijk",
                MaxScoreVraag           = 10,
                TypeVraagId             = 1,
                VraagStelling           = "Vraagstelling"
            });

            IQueryable <VraagDTO> queryableTeamDTOs = vraagDTOs.AsQueryable();

            var vraagModels = new List <VragenViewModelReponse>();

            foreach (var vraag in vraagDTOs)
            {
                vraagModels.Add(VraagViewModelMapper.MapVraagDTOToVraagViewModel(vraag));
            }

            //Arange

            var mockService = new Mock <IVragenService>();

            mockService.Setup(x => x.GetAllVragen()).Returns(queryableTeamDTOs);
            var controller = new VragenController(mockService.Object);


            //Act
            var alleVragen = controller.GetAll() as ObjectResult;

            var ListVragen = alleVragen.Value as List <VragenViewModelReponse>;


            //Assert
            Assert.That(ListVragen.Count(), Is.EqualTo(vraagModels.Count()));

            for (int i = 0; i < ListVragen.Count(); i++)
            {
                Assert.That(ListVragen.ToArray()[i].Id, Is.EqualTo(vraagModels.ToArray()[i].Id));
                Assert.That(ListVragen.ToArray()[i].JsonCorrecteAntwoord, Is.EqualTo(vraagModels.ToArray()[i].JsonCorrecteAntwoord));
                Assert.That(ListVragen.ToArray()[i].JsonMogelijkeAntwoorden, Is.EqualTo(vraagModels.ToArray()[i].JsonMogelijkeAntwoorden));
                Assert.That(ListVragen.ToArray()[i].MaxScoreVraag, Is.EqualTo(vraagModels.ToArray()[i].MaxScoreVraag));
                Assert.That(ListVragen.ToArray()[i].TypeVraagId, Is.EqualTo(vraagModels.ToArray()[i].TypeVraagId));
                Assert.That(ListVragen.ToArray()[i].VraagStelling, Is.EqualTo(vraagModels.ToArray()[i].VraagStelling));
            }
        }
        public IActionResult GetAll()
        {
            var vragenDTOs = _service.GetAllVragen();

            if (vragenDTOs == null)
            {
                return(null);
            }

            var vragenModels = new List <VragenViewModelReponse>();

            foreach (var vraag in vragenDTOs)
            {
                vragenModels.Add(VraagViewModelMapper.MapVraagDTOToVraagViewModel(vraag));
            }

            return(Ok(vragenModels));
        }
        public IActionResult GetAllQuestionsFromARonde(int id)
        {
            var vragenDTOs = _service.GetAllQuestionsFromOneRonde(id);

            if (vragenDTOs.DidError)
            {
                return(null);
            }

            var vragenModels = new List <VragenViewModelReponse>();

            foreach (var vraag in vragenDTOs.DTO)
            {
                vragenModels.Add(VraagViewModelMapper.MapVraagDTOToVraagViewModel(vraag));
            }

            return(Ok(vragenModels));
        }
        public IActionResult GetById(int id)
        {
            try
            {
                var response = _service.FindVraag(id);
                if (response.DidError)
                {
                    return(BadRequest(response.Errors));
                }

                var vraagViewModel = VraagViewModelMapper.MapVraagDTOToVraagViewModel(response.DTO);

                return(Ok(vraagViewModel));
            }
            catch (Exception ex) {
                return(BadRequest(ex.Message));
            }
        }
        public IActionResult Update([FromBody] VragenViewModelReponse vraagViewModel)
        {
            try
            {
                var vraagDTO = VraagViewModelMapper.MapViewModelToAntwoordDTO(vraagViewModel);
                var vraag    = _service.Update(vraagDTO);
                if (vraag.DidError)
                {
                    return(BadRequest(vraag.Errors));
                }

                var vraagReturn = VraagViewModelMapper.MapVraagDTOToVraagViewModel(vraag.DTO);
                return(Ok(vraagReturn));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
        public IActionResult Create(VragenViewModelRequest vraagViewModel)
        {
            try
            {
                var vraagDTO = VraagViewModelMapper.MapViewModelToAntwoordDTO(vraagViewModel);

                var response = _service.AddVraag(vraagDTO);

                if (response.DidError)
                {
                    return(BadRequest(response.Errors));
                }

                var createdVraag = VraagViewModelMapper.MapVraagDTOToVraagViewModel(response.DTO);

                return(Ok(createdVraag));
            }
            catch (Exception ex) {
                return(BadRequest(ex.Message));
            }
        }