public void AddQuestion() { if (Valid()) { ErrorMessage = null; int lijstId = 0; if (_oldPage.NewVragenlijst.Id != 0) { lijstId = _oldPage.NewVragenlijst.Id; } var tmp = new Vraag() { TypeNaam = SelectedQuestionType.Naam, VragenlijstId = lijstId, Vragenlijst = _oldPage.NewVragenlijst.VragenlijstModel, Omschrijving = QuestionName, Vraagtype = SelectedQuestionType, Vraag1 = GenerateVraagJSON() }; _oldPage.NewVragenlijst.Vragen.Add(tmp); SelectedQuestionType = null; QuestionName = null; Antwoord1 = null; Antwoord2 = null; Antwoord3 = null; Antwoord4 = null; Antwoord5 = null; Antwoord6 = null; Antwoord7 = null; Antwoord8 = null; Antwoorden.Clear(); } }
public Meerkeuzevraag(string tekst, int indexOfCorrectAntwoord, params string[] antwoorden) : base(tekst) { for (int i = 0; i < antwoorden.Length; i++) { Antwoorden.Add(new MeerkeuzevraagAntwoord((char)('A' + i), antwoorden[i], i == indexOfCorrectAntwoord)); } }
private bool Valid() { if (Antwoord1 != null) { Antwoorden.Add(Antwoord1); } if (Antwoord2 != null) { Antwoorden.Add(Antwoord2); } if (Antwoord3 != null) { Antwoorden.Add(Antwoord3); } if (Antwoord4 != null) { Antwoorden.Add(Antwoord4); } if (Antwoord5 != null) { Antwoorden.Add(Antwoord5); } if (Antwoord6 != null) { Antwoorden.Add(Antwoord6); } if (Antwoord7 != null) { Antwoorden.Add(Antwoord7); } if (Antwoord8 != null) { Antwoorden.Add(Antwoord8); } ErrorMessage = null; if (QuestionName == null || QuestionName.Equals("")) { ErrorMessage = "De nieuwe vraag heeft een naam nodig"; return(false); } else if (SelectedQuestionType == null) { ErrorMessage = "Selecteer een vraagtype"; return(false); } else if (Stackpanel.Equals("Visible")) { if (Antwoorden.Count < 2) { ErrorMessage = "Vul minstens 2 antwoorden in"; Antwoorden.Clear(); return(false); } } return(true); }
private int DrawImageQuestionAnswer(XGraphics gfx, PdfPage page, List <Antwoorden> answers, int currentY) { for (int j = 0; j < answers.Count; j++) { Antwoorden answer = answers[j]; if (answer.AntwoordImage != null) { using (MemoryStream ms = new MemoryStream(answer.AntwoordImage)) { using (XImage xImage = XImage.FromStream(ms)) { gfx.DrawImage(xImage, new XRect(20, currentY, xImage.PixelWidth > 200 ? 200 : xImage.PixelWidth, xImage.PixelHeight > 200 ? 200 : xImage.PixelHeight)); currentY += xImage.PixelHeight > 200 ? 200 : xImage.PixelHeight; } } } currentY += 20; } return(currentY + 20); }
private int DrawTableQuestionAnswer(XGraphics gfx, PdfPage page, List <Antwoorden> answers, int columnSize, XFont font, int currentY) { int cellWidth = 0; foreach (Antwoorden answer in answers) { int width = (int)gfx.MeasureString(answer.AntwoordText, font).Width; if (width > cellWidth) { cellWidth = width; } } gfx.DrawString("Antwoord:", font, XBrushes.Black, new XRect(20, currentY, page.Width, page.Height), XStringFormats.TopLeft); int index = 0; for (int y = 0; y < answers.Count / columnSize; y++) { int currentX = 20; currentY += 20; for (int x = 0; x < columnSize; x++) { Antwoorden answer = answers[index]; gfx.DrawString(answer.AntwoordText, font, XBrushes.Black, new XRect(currentX, currentY, page.Width, page.Height), XStringFormats.TopLeft); currentX += cellWidth + 20; index++; } } currentY += 40; return(currentY); }