public static VraagDTO MapViewModelToAntwoordDTO(VragenViewModelRequest viewmodel)
 {
     if (viewmodel == null)
     {
         throw new NullReferenceException("vraag model is null");
     }
     return(new VraagDTO
     {
         //Id = viewmodel.Id,
         MaxScoreVraag = viewmodel.MaxScoreVraag,
         TypeVraagId = viewmodel.TypeVraagId,
         JsonCorrecteAntwoord = viewmodel.JsonCorrecteAntwoord,
         JsonMogelijkeAntwoorden = viewmodel.JsonMogelijkeAntwoorden,
         VraagStelling = viewmodel.VraagStelling
     });
 }
        public void AddVraagCorrect()
        {
            var vraagDTO = new VraagDTO
            {
                Id = 1,
                JsonCorrecteAntwoord    = "Correct",
                JsonMogelijkeAntwoorden = "Mogelijk",
                MaxScoreVraag           = 10,
                TypeVraagId             = 1,
                VraagStelling           = "Vraagstelling"
            };

            var response = new Response <VraagDTO> {
                DTO = vraagDTO
            };

            //Arrange
            var mockService = new Mock <IVragenService>();

            mockService.Setup(x => x.AddVraag(It.IsAny <VraagDTO>())).Returns(response);
            var controller = new VragenController(mockService.Object);

            //Act
            var vraagViewModel = new VragenViewModelRequest
            {
                //Id = 1,
                JsonCorrecteAntwoord    = "Correct",
                JsonMogelijkeAntwoorden = "Mogelijk",
                MaxScoreVraag           = 10,
                TypeVraagId             = 1,
                VraagStelling           = "Vraagstelling"
            };

            var addVraag = controller.Create(vraagViewModel) as ObjectResult;
            var entity   = addVraag.Value as VragenViewModelReponse;

            //Assert
            Assert.DoesNotThrow(() => controller.Create(vraagViewModel));
            Assert.That(entity.Id, Is.EqualTo(vraagDTO.Id));
            Assert.That(entity.JsonCorrecteAntwoord, Is.EqualTo(vraagDTO.JsonCorrecteAntwoord));
            Assert.That(entity.JsonMogelijkeAntwoorden, Is.EqualTo(vraagDTO.JsonMogelijkeAntwoorden));
            Assert.That(entity.MaxScoreVraag, Is.EqualTo(vraagDTO.MaxScoreVraag));
            Assert.That(entity.TypeVraagId, Is.EqualTo(vraagDTO.TypeVraagId));
            Assert.That(entity.VraagStelling, Is.EqualTo(vraagDTO.VraagStelling));
        }
        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));
            }
        }