示例#1
0
        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();
            }
        }
示例#2
0
 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));
     }
 }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }