Example #1
0
        /// <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);
            }
        }