Beispiel #1
0
 private Teacher ProcessRow(Teacher teacher, MySqlDataReader Reader)
 {
     base.ProcessRow(teacher, Reader);
     //teacher data
     teacher.Session_spread = (Teacher.session_spread) Enum.Parse(typeof(Teacher.session_spread), Reader.GetString(8), true);
     return teacher;
 }
Beispiel #2
0
        public void Save(Teacher teacher)
        {
            Boolean insert = true;
            if (teacher.Id != 0)
            {
                insert = false;
            }
            //Base
            base.Save(teacher);

            //Save teacher
            this._db.OpenConnection();
            MySqlCommand command = this._db.CreateCommand();
            if (insert)
            {
                command.CommandText = "INSERT INTO teacher (user_id, session_spread) VALUES " +
                "(?user_id, ?session_spread)";
            }
            else
            {
                command.CommandText = "UPDATE teacher (session_spread) VALUES " +
                "(?session_spread) WHERE user_id = ?user_id";
            }
            command.Parameters.Add(new MySqlParameter("?user_id", MySqlDbType.Int32)).Value = teacher.Id;
            command.Parameters.Add(new MySqlParameter("?session_spread", MySqlDbType.String)).Value = teacher.Session_spread.ToString();
            this._db.ExecuteCommand(command);
            this._db.CloseConnection();
        }
Beispiel #3
0
        /**
         * Dit maakt de brieven om te versturen naar de experts in zijn geheel en zet ze in een PDF document
         */
        public void CreateLetterPDF(String filename, Dictionary<int, Expert> receivers, LetterTemplate letterTemplate)
        {
            // het document(standaard A4-formaat) maken
            iTextSharp.text.Document document = new iText.Document(PageSize.A4, 75.0f, 75.0f, 0.0f, 0.0f);

            try
            {
                // Creeër een PDF pagina instantie(deze regelt de footer, meer niet)
                pdfPage page = new pdfPage(letterTemplate);

                // De writer maken die naar het document luistert en zet de stream om in een PDF-bestand
                PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(filename, FileMode.Create));

                // Zet de PageEvent van de writer klasse naar de instantie van de pagina
                writer.PageEvent = page;

                // het document openen
                document.Open();
                for (int rowNo = 0; rowNo < _dataGrid.Items.Count; ++rowNo)
                {
                    SessionRow rowSession = (SessionRow)_dataGrid.Items[rowNo];
                    Session sessionModel = rowSession.GetSessionModel();

                    Dictionary<int, Expert> experts = sessionModel.Experts;

                    foreach(KeyValuePair<int, Expert> expertKeyValuePair in experts)
                    {
                        if (!receivers.ContainsKey(expertKeyValuePair.Key))
                            continue;

                        Expert expert = expertKeyValuePair.Value;

                        document.NewPage();

                        // Een titel maken
                        iText.Paragraph titel = new iText.Paragraph("Academie voor " + sessionModel.Pair.Student1.Study, FontFactory.GetFont("Arial", 12, Font.BOLD));
                        titel.Alignment = 1;

                        // Subtitel maken
                        iText.Paragraph subTitel = new iText.Paragraph(letterTemplate.AvansLocatie, FontFactory.GetFont(STANDARD_FONT_FAMILY, STANDARD_FONT_SIZE - 1));
                        subTitel.Alignment = 1;

                        // elementen toevoegen aan het document
                        document.Add(titel); // de titel toevoegen
                        document.Add(subTitel); // de subtitel toevoegen

                        // Leeg ruimte toevoegen
                        document.Add(new iText.Paragraph(" "));
                        document.Add(new iText.Paragraph(" "));

                        // Bepaal het standaard font om te gebruiken in het grootste deel van het document
                        Font standardFont = FontFactory.GetFont(STANDARD_FONT_FAMILY, STANDARD_FONT_SIZE);

                        // Adressering
                        document.Add(new iText.Paragraph(expert.Company, standardFont));
                        document.Add(new iText.Paragraph(expert.Firstname + " " + expert.Surname, standardFont));
                        document.Add(new iText.Paragraph(expert.Address, standardFont));
                        document.Add(new iText.Paragraph(expert.Postcode + " " +  expert.City, standardFont));

                        // Leeg ruimte toevoegen
                        document.Add(new iText.Paragraph(" "));
                        document.Add(new iText.Paragraph(" "));
                        document.Add(new iText.Paragraph(" "));
                        document.Add(new iText.Paragraph(" "));

                        // Contact informatie tabel
                        document.Add(MakeContactInformationTable(letterTemplate));

                        // Leeg ruimte toevoegen
                        document.Add(new iText.Paragraph(" "));
                        document.Add(new iText.Paragraph(" "));
                        document.Add(new iText.Paragraph(" "));

                        // Inhoud brief
                        document.Add(new iText.Paragraph("Geachte heer/mevrouw " + expert.Surname + ",\r\r", standardFont));

                        Teacher[] teachers = new Teacher[2];
                        int index = -1;
                        foreach (KeyValuePair<int, Teacher> teacherKeyValuePair in sessionModel.Teachers)
                            teachers[++index] = teacherKeyValuePair.Value;

                        bool isPairInvite = sessionModel.Pair.Student2 != null;
                        string studentParagraphString = "Hierbij ontvangt u de afstudeerscriptie van onze ";

                        if (isPairInvite)
                            studentParagraphString += "studenten ";
                        else
                            studentParagraphString += "student ";

                        studentParagraphString += sessionModel.Pair.Student1.Study + ", " + sessionModel.Pair.Student1.Firstname + " " + sessionModel.Pair.Student1.Surname + " ";

                        if (isPairInvite)
                            studentParagraphString += "en " + sessionModel.Pair.Student2.Firstname + " " + sessionModel.Pair.Student2.Surname + " ";

                        // Inleiding
                        document.Add(new iText.Paragraph(studentParagraphString + "van wie u de afstudeerbespreking zult bijwonen. Begeleidende docenten " + teachers[0].Firstname + " " + teachers[0].Surname + " en " + teachers[1].Firstname + " " + teachers[1].Surname + " zullen bij de zitting aanwezig zijn.\r\r", standardFont));

                        document.Add(new iText.Paragraph("De afstudeerzitting is gepland op, " + rowSession.Datum + " om " + sessionModel.Daytime.GetStarttime() + ", in lokaal " + rowSession.Lokaal + " van Avans Hogeschool, " + letterTemplate.AvansAdres + " te " + letterTemplate.AvansLocatie + ".\r\r", standardFont));

                        // Kern van de brief
                        document.Add(new iText.Paragraph(letterTemplate.BeginKern + "\r\r", standardFont));
                        document.Add(new iText.Paragraph(letterTemplate.ReisInformatie + "\r\r", standardFont));
                        document.Add(new iText.Paragraph(letterTemplate.VerdereInformatie + "\r\r", standardFont));

                        // Afsluiting
                        document.Add(new iText.Paragraph("Wij danken u hartelijk voor uw medewerking.", standardFont));
                        document.Add(new iText.Paragraph("Met vriendelijke groet,\r\r", standardFont));
                        document.Add(new iText.Paragraph(letterTemplate.Afzenders, standardFont));

                        // Verander de font style tijdelijk
                        standardFont.SetStyle(Font.ITALIC);

                        document.Add(new iText.Paragraph("Coördinatoren stage en afstuderen", standardFont));

                        // Verander de font style weer terug
                        standardFont.SetStyle(Font.NORMAL);

                        document.Add(new iText.Phrase("", standardFont));

                        iText.Paragraph bijlagenParagraph = new iText.Paragraph("Bijlage(n):      " + letterTemplate.Bijlagen, standardFont);
                        bijlagenParagraph.FirstLineIndent = -55;
                        bijlagenParagraph.IndentationLeft = 75;
                        document.Add(bijlagenParagraph);

                        expert.WasChanged = false;
                    }
                }

                // toon bericht dat exporteren naar PDF gelukt is
                MessageBox.Show("Exporteren gelukt! Bestand is geëxporteerd naar " + filename, "Melding");

                // open het PDF-bestand
                System.Diagnostics.Process.Start(filename);
            }
            catch (PdfException ex)
            {
                // toon bericht als er iets fout gaat
                MessageBox.Show(ex.Message);
            }
            finally
            {
                // het document sluiten
                document.Close();
            }
        }
Beispiel #4
0
        private void onTeacherAddClicked(object sender, RoutedEventArgs e)
        {
            //Use this for input errors
            bool hasInputError = false;

            //Check first name
            if (textBoxLeraarVoornaam.Text.Equals(String.Empty))
            {
                textBoxLeraarVoornaam.BorderBrush = Brushes.Red;
                hasInputError = true;
            }
            else
            {
                textBoxLeraarVoornaam.BorderBrush = Brushes.Gray;
            }

            //Check surname
            if (textLeraarAchternaam.Text.Equals(String.Empty))
            {
                textLeraarAchternaam.BorderBrush = Brushes.Red;
                hasInputError = true;
            }
            else
            {
                textLeraarAchternaam.BorderBrush = Brushes.Gray;
            }

            //Check email adress
            if (EmailLeraar1.Text.Equals(String.Empty))
            {
                EmailLeraar1.BorderBrush = Brushes.Red;
                hasInputError = true;
            }
            else
            {
                EmailLeraar1.BorderBrush = Brushes.Gray;
            }
            if (!EmailLeraar1.Text.IsValidEmailAddress())
            {
                EmailLeraar1.BorderBrush = Brushes.Red;
                hasInputError = true;
            }
            else
            {
                EmailLeraar1.BorderBrush = Brushes.Gray;
            }

            //Create sessionspread variable
            Teacher.session_spread sessionSpread;

            //See which session spread option was chosen
            if(sessionVerspreid.IsChecked == true)
            {
                sessionSpread = Teacher.session_spread.FAR;
            }
            else if (sessionDichtBijElkaar.IsChecked == true)
            {
                sessionSpread = Teacher.session_spread.CLOSE;
            }
            else
            {
                sessionSpread = Teacher.session_spread.ANY;
            }

            if (hasInputError == false)
            {
                //Create teacher object and add values
                Teacher newTeacher = new Teacher();
                newTeacher.Firstname = textBoxLeraarVoornaam.Text;
                newTeacher.Surname = textLeraarAchternaam.Text;
                newTeacher.Email = EmailLeraar1.Text;
                newTeacher.Session_spread = sessionSpread;
                newTeacher.WasChanged = false;

                if (blockedDayTimesTeacher.SelectedItems != null)
                {
                    foreach (ListBoxItem selectedBlockdays in blockedDayTimesTeacher.SelectedItems)
                    {
                        Blocked_timeslot thisTimeslot = new Blocked_timeslot();
                        thisTimeslot.Daytime_id = (int)selectedBlockdays.Tag;
                        thisTimeslot.Hardblock = true;
                        newTeacher.BlockedTimeslots.Add(thisTimeslot);

                    }
                }

                if (softblockedDayTimesDocent.SelectedItems != null)
                {
                    foreach (ListBoxItem selectedBlockdays in softblockedDayTimesDocent.SelectedItems)
                    {
                        Blocked_timeslot thisTimeslot = new Blocked_timeslot();
                        thisTimeslot.Daytime_id = (int)selectedBlockdays.Tag;
                        thisTimeslot.Hardblock = true;
                        newTeacher.BlockedTimeslots.Add(thisTimeslot);

                    }
                }

                //Send to the database
                _controller.TeacherMapper.Save(newTeacher);
                MessageBox.Show("Leraar toegevoegd");
                textBoxLeraarVoornaam.Text = "";
                textLeraarAchternaam.Text = "";
                EmailLeraar1.Text = "";
                sessionVerspreid.IsChecked = false;
                sessionDichtBijElkaar.IsChecked = false;
            }
        }