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; }
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(); }
/** * 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(); } }
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; } }