/// <summary> /// Action lors du clic sur le menuItem sélectionné du contextMenu du label "lbl_sendOffer". /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private static void lbl_MenuItemSelected_MouseLeftButtonUp(object sender, RoutedEventArgs e) { MenuItem clickedMenuItem = sender as MenuItem; string serviceName = clickedMenuItem.Header.ToString(); string temporaryTitle = InterimDatabase.GetTemporaryTitle(TemporaryID); string temporaryName = InterimDatabase.GetTemporaryName(TemporaryID); bool isCorrectServiceName = (!string.IsNullOrEmpty(serviceName)); bool isCorrectTemporaryTitle = (!string.IsNullOrEmpty(temporaryTitle)); bool isCorrectTemporaryName = (!string.IsNullOrEmpty(temporaryName)); // Vérifie le contenu des informations de l'intérimaire. if (isCorrectTemporaryTitle && isCorrectTemporaryName && isCorrectServiceName) { string messageBox = Results_Val.Default.ConfirmSendEmail + temporaryTitle + " " + temporaryName + Results_Val.Default.ForServiceOf + serviceName + Results_Val.Default.Ask; // Message de confirmation. DialogResult dialogResult = MessageBox.Show(messageBox, Results_Val.Default.TitleConfirmSendEmail, MessageBoxButtons.YesNo, MessageBoxIcon.Question); // Vérifie la réponse au message de confirmation. if (dialogResult == DialogResult.Yes) { string temporaryEmailAdress = InterimDatabase.GetTemporaryEmailAdress(TemporaryID); bool isCorrectEmailAdress = (!string.IsNullOrEmpty(temporaryEmailAdress)); // Vérifie le contenu de l'adresse email récupérée. if (isCorrectEmailAdress) { string dayName = InterimDatabase.DayName(); string dayNumber = InterimDatabase.DayNumber(); string month = InterimDatabase.MonthName(); string workTimetableStart = InterimDatabase.ReturnWorkTimetableStart(); string workTimetableEnd = InterimDatabase.ReturnWorkTimetableEnd(); List <string> offerInformations = new List <string>(); offerInformations.Add(temporaryEmailAdress); offerInformations.Add(temporaryTitle); offerInformations.Add(temporaryName); offerInformations.Add(dayName); offerInformations.Add(dayNumber); offerInformations.Add(month); offerInformations.Add(workTimetableStart); offerInformations.Add(workTimetableEnd); offerInformations.Add(serviceName); // Crée un message de proposition de mission. List <string> bodyMessageInformations = CreateBodyMessage(Results_Code.Default.TemplateOfferPath, offerInformations); _MailItem message = CreateMessage(bodyMessageInformations); // Vérifie la création du message, l'envoi de l'email de proposition de mission, l'enregistrement de la date d'envoi et du service de la proposition de mission. if (IsCreateMessage(message) && IsSentEmail(message) && InterimDatabase.SetSendDateAndService(TemporaryID, serviceName)) { // Affiche un message de réussite de l'envoi de l'email. MessageBox.Show(Results_Val.Default.EmailSent, Results_Val.Default.InformationTitle, MessageBoxButtons.OK, MessageBoxIcon.Information); // Rafraichit l'interface des résultats. usc_results refreshResults = new usc_results(); Switcher.Switch(refreshResults); } else { // Affiche un message d'échec de l'envoi de l'email de proposition de mission. MessageBox.Show(Results_Val.Default.NullSendEmail, Results_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { // Affiche un message d'erreur. MessageBox.Show(Results_Val.Default.NullEmailAdress, Results_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { // Affiche un message d'erreur. MessageBox.Show(Results_Val.Default.NullInformations, Results_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error); } }