Exemple #1
0
        /// <summary>
        /// Obtient les informations du rapport de travail.
        /// </summary>
        /// <param name="_employmentAgencyID">ID de l'agence d'intérim</param>
        /// <returns>List : Informations du rapport de travail.</returns>
        private List <string> WorkReportInformations(string _employmentAgencyID)
        {
            string        employmentAgencyID     = _employmentAgencyID;
            List <string> workReportInformations = new List <string>();

            // Assigne les informations du rapport de travail.
            workReportInformations.Add(lbl_emplAgencyName.Content.ToString());
            workReportInformations.Add(InterimDatabase.GetEmploymentAgencyNumber(employmentAgencyID));
            workReportInformations.Add(InterimDatabase.GetEmploymentAgencyStreet(employmentAgencyID));
            workReportInformations.Add(InterimDatabase.GetEmploymentAgencyPostCode(employmentAgencyID));
            workReportInformations.Add(InterimDatabase.GetEmploymentAgencyCity(employmentAgencyID));
            workReportInformations.Add(InterimDatabase.GetEmploymentAgencyRegion(employmentAgencyID));
            workReportInformations.Add(InterimDatabase.GetEmploymentAgencyCountry(employmentAgencyID));
            workReportInformations.Add(Profile_Val.Default.InternationalSymbol + InterimDatabase.GetEmploymentAgencyPhoneNumber(employmentAgencyID));
            workReportInformations.Add(InterimDatabase.GetEmploymentAgencyEmailAdress(employmentAgencyID));
            workReportInformations.Add(lbl_title.Content.ToString());
            workReportInformations.Add(lbl_name.Content.ToString());
            workReportInformations.Add(lbl_firstName.Content.ToString());
            workReportInformations.Add(InterimDatabase.GetTemporaryBirthDate(Profile.TemporaryID));
            workReportInformations.Add(lbl_professionValue.Content.ToString());
            workReportInformations.Add(DateTime.Now.ToShortDateString());

            // Assigne les chemins d'accès au rapport de travail.
            Profile.AddPaths(workReportInformations);

            return(workReportInformations);
        }
Exemple #2
0
        /// <summary>
        /// Obtient les plages horaires de travail.
        /// </summary>
        /// <param name="_cbo_workTimetable">ComboBox</param>
        internal static void MergeWorkTimetable(ComboBox _cbo_workTimetable)
        {
            List <TimeSpan> workTimetable = InterimDatabase.GetWorkTimetable();
            bool            isCorrecyWorkTimetableList = (workTimetable != null);

            // Vérifie le contenu de la liste.
            if (isCorrecyWorkTimetableList)
            {
                List <string> mergeWorkTimetableList = new List <string>();

                for (int index = 0; index < workTimetable.Count; index += 2)
                {
                    mergeWorkTimetableList.Add(workTimetable[index].ToString().Substring(0, 5) + Home_Val.Default.BetweenTime + workTimetable[index + 1].ToString().Substring(0, 5));
                }

                // Assigne les horaires de travail et sélectionne la première.
                _cbo_workTimetable.ItemsSource  = mergeWorkTimetableList;
                _cbo_workTimetable.SelectedItem = mergeWorkTimetableList[0];
            }
            else
            {
                // Affichage d'un message d'erreur.
                MessageBox.Show(Home_Val.Default.WorkTimetableListNull, Home_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        /// <summary>
        /// Envoi un email de confirmation de la mission.
        /// </summary>
        /// <param name="_acceptInformations">Informations de l'intérimaire</param>
        /// <param name="_avaibilityID">ID avibility</param>
        private static void AcceptEmail(List <string> _acceptInformations, string _avaibilityID)
        {
            List <string> acceptInformations = _acceptInformations;

            // Vérifie le contenu de la liste.
            if (IsCorrectList(acceptInformations))
            {
                // Crée un message de confirmation d'accepation de mission.
                List <string> bodyMessage = CreateBodyMessage(SentOffer_Code.Default.TemplateAcceptPath, acceptInformations);

                // Vérifie le contenu du corps de message.
                if (IsCorrectList(bodyMessage))
                {
                    _MailItem message = CreateMessage(bodyMessage);

                    // Vérifie la création du message, l'envoi de l'email de confirmation et l'enregistrement de l'acceptation de mission.
                    if (IsCreateMessage(message) && IsSentEmail(message) && InterimDatabase.SetStateMission(acceptInformations[0], 1))
                    {
                        // Affiche un message de réussite de l'envoi de l'email.
                        MessageBox.Show(SentOffer_Val.Default.EmailSent, SentOffer_Val.Default.InformationTitle, MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        // Affiche un message d'erreur.
                        MessageBox.Show(SentOffer_Val.Default.NullSendEmail, SentOffer_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    // Affiche un message d'erreur.
                    MessageBox.Show(SentOffer_Err.Default.CreateMessage, SentOffer_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Exemple #4
0
        /// <summary>
        /// Assigne aux contrôles les informations de l'intérimaire.
        /// </summary>
        private void TemporaryInformations()
        {
            List <string> temporaryInformations = Profile.TemporaryInformations();
            bool          temporaryCertified    = InterimDatabase.GetTemporaryCertified(Profile.TemporaryID);

            // Vérifie le contenu des informations de l'intérimaire.
            if (Profile.IsCorrectList(temporaryInformations))
            {
                // Assigne aux contrôles les informations de l'intérimaire.
                lbl_title.Content     = temporaryInformations[0];
                lbl_name.Content      = temporaryInformations[1];
                lbl_firstName.Content = temporaryInformations[2];
                lbl_ageValue.Content  = temporaryInformations[3] + Profile_Val.Default.Year;

                lbl_number.Content   = temporaryInformations[4];
                lbl_street.Content   = temporaryInformations[5];
                lbl_postCode.Content = temporaryInformations[6];
                lbl_city.Content     = temporaryInformations[7];
                lbl_region.Content   = temporaryInformations[8];

                lbl_phoneNumber.Content = Profile_Val.Default.InternationalSymbol + temporaryInformations[9];
                lbl_emailAdress.Content = temporaryInformations[10];

                lbl_professionValue.Content = temporaryInformations[11];
                lbl_nbrYearExpValue.Content = temporaryInformations[12] + Profile_Val.Default.Year;
                chk_certified.IsChecked     = temporaryCertified;
                lbl_emplAgencyName.Content  = temporaryInformations[13];
            }
            else
            {
                // Affichage un message d'erreur.
                MessageBox.Show(Profile_Val.Default.TemporaryInformations, Profile_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        /// <summary>
        /// Action lors du changement d'élément de la liste dérouante "cbo_dataToGraph".
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cbo_dataToGraph_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ComboBoxItem cboItemSelected = (ComboBoxItem)cbo_dataToGraph.SelectedItem;
            int          selectedIndex   = cbo_dataToGraph.SelectedIndex;

            cht_GraphBase.Title = cboItemSelected.Content.ToString();

            // Vérifie l'élément sélectionné.
            switch (selectedIndex)
            {
            // Nombre d'intérimaire par profession.
            case 0:
                cht_GraphBase.Series.Clear();

                List <string>[] countTemporaryProfession = InterimDatabase.GetCountTemporaryProfession();
                GraphStat.AddSerie(cht_GraphBase, countTemporaryProfession, GraphStat_Val.Default.TemporaryProfession);

                break;

            // Nombre de missions acceptées par service.
            case 1:
                cht_GraphBase.Series.Clear();

                List <string>[] countAcceptedMissionService = InterimDatabase.GetCountAcceptedMissionService();
                GraphStat.AddSerie(cht_GraphBase, countAcceptedMissionService, GraphStat_Val.Default.AcceptedMissionService);

                break;

            // Nombre d'intérimaire par agence d'intérim.
            case 2:
                cht_GraphBase.Series.Clear();

                List <string>[] countTemporaryEmploymentAgency = InterimDatabase.GetCountTemporaryEmploymentAgency();
                GraphStat.AddSerie(cht_GraphBase, countTemporaryEmploymentAgency, GraphStat_Val.Default.TemporaryEmploymentAgency);

                break;

            // Nombre de missions acceptées, refusées et en attente par agence d'intérim.
            case 3:
                cht_GraphBase.Series.Clear();

                List <string>[] countAcceptedMissionEmploymentAgency = InterimDatabase.GetCountAcceptedMissionEmploymentAgency();
                GraphStat.AddSerie(cht_GraphBase, countAcceptedMissionEmploymentAgency, GraphStat_Val.Default.AcceptedMission);

                List <string>[] countRejectedMissionEmploymentAgency = InterimDatabase.GetCountRejectedMissionEmploymentAgency();
                GraphStat.AddSerie(cht_GraphBase, countRejectedMissionEmploymentAgency, GraphStat_Val.Default.RejectedMission);

                List <string>[] countWaitedMissionEmploymentAgency = InterimDatabase.GetCountWaitedMissionEmploymentAgency();
                GraphStat.AddSerie(cht_GraphBase, countRejectedMissionEmploymentAgency, GraphStat_Val.Default.WaitedMission);

                break;
            }
        }
Exemple #6
0
        /// <summary>
        /// Action lors du clic sur l'étiquette "viewWorkReport" et de sa remontée.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void lbl_viewWorkReport_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            List <string>[] workTimetableInformations       = InterimDatabase.GetTemporaryWorkReport(Profile.TemporaryID);
            bool            isCorrectWorkReportInformations = (workTimetableInformations != null);

            // Vérifie le contenu du tableau.
            if (isCorrectWorkReportInformations)
            {
                string employmentagencyID          = InterimDatabase.GetEmploymentAgencyID(Profile.TemporaryID);
                bool   isCorrectEmploymentAgencyID = (!string.IsNullOrEmpty(employmentagencyID));

                // Vérifie le contenu de la chaîne de caractères.
                if (isCorrectEmploymentAgencyID)
                {
                    workTimetableInformations[5] = WorkReportInformations(employmentagencyID);

                    // Vérifie l'existence du chemin d'accès au dossier.
                    if (!Directory.Exists(workTimetableInformations[5][15]))
                    {
                        System.IO.Directory.CreateDirectory(workTimetableInformations[5][15]);
                    }

                    // Vérifie l'existence du chemin d'accès au fichier.
                    if (!File.Exists(workTimetableInformations[5][16]))
                    {
                        workTimetableInformations[5].Add(Profile.CreateWorkReport(workTimetableInformations));

                        // Vérifie le contenu de la liste et l'enregistrement du rapport de travail.
                        if (Profile.IsNullList(workTimetableInformations[5]) || (!Profile.SaveWorkReport(workTimetableInformations[5])))
                        {
                            // Affiche un message d'erreur.
                            MessageBox.Show(Profile_Val.Default.NullWorkReport, Profile_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                    }

                    // Essaye d'ouvrir le rapport de travail.
                    Profile.TryOpenFile(workTimetableInformations[5][16]);
                }
                else
                {
                    // Affiche un message d'erreur.
                    MessageBox.Show(Profile_Val.Default.NullEmploymentAgencyID, Profile_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                // Affiche un message d'erreur.
                MessageBox.Show(Profile_Val.Default.NullWorkReportInformations, Profile_Val.Default.InformationTitle, MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        /// <summary>
        /// Action lors du clic sur l'étiquette "lbl_acceptMission".
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private static void lbl_acceptMission_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            bool isOutlookExist = (Type.GetTypeFromProgID(SentOffer_Code.Default.OutlookApplication) != null);

            // Vérifie l'existence du client de messagerie Microsoft Outlook.
            if (isOutlookExist)
            {
                Label         lbl_clickedLabel       = sender as Label;
                string        avaibilityID           = lbl_clickedLabel.Name.Substring(SentOffer_Code.Default.lbl_answerOffer_Name.Length);
                List <string> avaibilityIDAndMessage = new List <string>();

                avaibilityIDAndMessage.Add(avaibilityID);
                avaibilityIDAndMessage.Add(SentOffer_Val.Default.ConfirmAcceptMission);
                avaibilityIDAndMessage.Add(SentOffer_Val.Default.ConfirmAcceptMissionTitle);

                // Obtient les informations d'acceptation de l'email à envoyer.
                List <string> acceptInformations = EmailInformations(avaibilityIDAndMessage);

                // Vérifie le contenu de la liste.
                if (IsCorrectList(acceptInformations))
                {
                    // Envoi l'email de confirmation d'acceptation.
                    AcceptEmail(acceptInformations, avaibilityID);

                    // Obtient les ID des disponibilités annulées.
                    List <string> abortAvaibilityIDList = InterimDatabase.GetAbortAvibilityID(avaibilityID);

                    // Vérifie le contenu de la liste.
                    if (IsCorrectList(abortAvaibilityIDList))
                    {
                        foreach (string abortAvaibilityID in abortAvaibilityIDList)
                        {
                            // Obtient les informations de l'email à envoyer.
                            List <string> abortInformations = AbortEmailInformations(abortAvaibilityID);

                            AbortEmail(abortInformations, abortAvaibilityID, false);
                        }
                    }
                }
            }
            else
            {
                // Affiche un message d'erreur.
                MessageBox.Show(SentOffer_Val.Default.NullOutlookApplication, SentOffer_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            // Rafraichit l'interface des propositions envoyées.
            usc_sentOffer refreshSentOffer = new usc_sentOffer();

            Switcher.Switch(refreshSentOffer);
        }
Exemple #8
0
        /// <summary>
        /// Assigne les étiquettes de l'état d'acceptation de proposition de mission.
        /// </summary>
        /// <param name="_stp_TemporaryData">Stackpanel</param>
        /// <param name="_avaibilityID">ID disponibilité</param>
        private static void TemporaryStateMission(StackPanel _stp_TemporaryData, string _avaibilityID)
        {
            string avaibilityID             = _avaibilityID;
            string temporaryAcceptedMission = InterimDatabase.GetTemporaryAcceptedMission(avaibilityID);
            bool   isAcceptMission          = (string.IsNullOrEmpty(temporaryAcceptedMission));

            // Vérifie si la mission est déjà acceptée, refusée ou en attente de réponse.
            if (isAcceptMission)
            {
                Label lbl_acceptMission = AnswerOffer(_stp_TemporaryData, avaibilityID, SentOffer_Val.Default.AcceptMission);
                lbl_acceptMission.MouseLeftButtonUp += new MouseButtonEventHandler(lbl_acceptMission_MouseLeftButtonUp);
                lbl_acceptMission.MouseEnter        += new MouseEventHandler(lbl_labelBase_MouseEnter);
                lbl_acceptMission.MouseLeave        += new MouseEventHandler(lbl_labelBase_MouseLeave);

                Label lbl_otherActionMission = AnswerOffer(_stp_TemporaryData, avaibilityID, SentOffer_Val.Default.OtherActionMission);
                lbl_otherActionMission.MouseLeftButtonUp += new MouseButtonEventHandler(lbl_otherActionMission_MouseLeftButtonUp);
                lbl_otherActionMission.MouseEnter        += new MouseEventHandler(lbl_labelBase_MouseEnter);
                lbl_otherActionMission.MouseLeave        += new MouseEventHandler(lbl_labelBase_MouseLeave);

                // Assigne à une étiquette, un menu contextuel.
                ContextMenu lbl_otherActionMissionContextMenu = new ContextMenu();
                lbl_otherActionMission.ContextMenu = lbl_otherActionMissionContextMenu;

                // Assigne à un menu contextuel, un menu d'éléments.
                MenuItem lbl_abortMission = new MenuItem();

                lbl_abortMission.Header = SentOffer_Val.Default.AbortMission;
                lbl_abortMission.Name   = SentOffer_Code.Default.lbl_answerOffer_Name + avaibilityID;
                lbl_abortMission.Click += new RoutedEventHandler(lbl_abortMission_MouseLeftButtonUp);
                lbl_otherActionMissionContextMenu.Items.Add(lbl_abortMission);

                // Assigne à un menu contextuel, un menu d'éléments.
                MenuItem lbl_rejectMission = new MenuItem();

                lbl_rejectMission.Header = SentOffer_Val.Default.RejectMission;
                lbl_rejectMission.Name   = SentOffer_Code.Default.lbl_answerOffer_Name + avaibilityID;
                lbl_rejectMission.Click += new RoutedEventHandler(lbl_rejectMission_MouseLeftButtonUp);
                lbl_otherActionMissionContextMenu.Items.Add(lbl_rejectMission);
            }
            else
            {
                // Assigne à une étiquette, l'état acceptée ou refusée à la proposition de mission.
                AcceptedOrRejectedMission(_stp_TemporaryData, temporaryAcceptedMission);
            }
        }
Exemple #9
0
        /// <summary>
        /// Assigne les professions contenues dans la base de données aux contrôles.
        /// </summary>
        /// <param name="_cbo_profession">ComboBox</param>
        internal static void ProfessionList(ComboBox _cbo_profession)
        {
            List <string> professionsName            = InterimDatabase.GetProfession();
            bool          isCorrecyPofessionNameList = (professionsName != null);

            // Vérifie le contenu de la liste des noms de professions.
            if (isCorrecyPofessionNameList)
            {
                // Assigne les professions.
                _cbo_profession.ItemsSource = professionsName;

                // Sélectionne la premièrer profesion "Toutes".
                _cbo_profession.SelectedItem = professionsName[0];
            }
            else
            {
                // Affichage d'un message d'erreur.
                MessageBox.Show(Home_Val.Default.ProfessionListNull, Home_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemple #10
0
        /// <summary>s
        /// Ajoute des contrôles pour visualiser les services.
        /// </summary>
        /// <param name="_lbl_serviceNameContextMenu">Context Menu</param>
        private static void AddServicesControls(ContextMenu _lbl_serviceNameContextMenu)
        {
            // Assigne à une liste les noms des services.
            List <string> serviceName       = InterimDatabase.GetService();
            bool          isCorrectServices = (serviceName != null);

            // Vérifie le contenu de la liste des noms de services.
            if (isCorrectServices)
            {
                foreach (string element in serviceName)
                {
                    // Assigne à un menu contextuel, un menu d'éléments.
                    MenuItem lbl_MenuItemService = new MenuItem();

                    lbl_MenuItemService.Header = element;
                    lbl_MenuItemService.Click += new RoutedEventHandler(lbl_MenuItemSelected_MouseLeftButtonUp);
                    _lbl_serviceNameContextMenu.Items.Add(lbl_MenuItemService);
                }
            }
        }
Exemple #11
0
        /// <summary>
        /// Assigne aux contrôles les informations de l'intérimaire.
        /// </summary>
        /// <param name="_temporaryID">Id de l'intérimaire</param>
        internal static List <string> TemporaryInformations()
        {
            List <string> temporaryInformations = new List <string>();

            temporaryInformations.Add(InterimDatabase.GetTemporaryTitle(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryName(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryFirstName(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryAge(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryNumber(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryStreet(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryPostCode(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryCity(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryRegion(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryPhoneNumber(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryEmailAdress(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryProfession(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryNbrYearExp(TemporaryID));
            temporaryInformations.Add(InterimDatabase.GetTemporaryEmploymentAgency(TemporaryID));

            return(temporaryInformations);
        }
Exemple #12
0
        /// <summary>
        /// Regroupe les critères dans une liste de chaînes de caractères.
        /// </summary>
        /// <param name="_dateString">Date</param>
        /// <param name="_workTimetableString">La plage horaire de travail</param>
        /// <param name="_professionString">Profession</param>
        /// <param name="_certifiedString">Certification</param>
        /// <param name="_ageString">L'âge</param>
        /// <param name="_nbrYearExpString">Expérience</param>
        internal static void CriteriaList(string _dateString, string _workTimetableString, string _professionString, string _certifiedString, string _ageString, string _nbrYearExpString)
        {
            string        date          = _dateString;
            string        workTimetable = _workTimetableString;
            string        profession    = _professionString;
            string        certified     = _certifiedString;
            string        age           = _ageString;
            string        nbrYearExp    = _nbrYearExpString;
            List <string> criteriaList  = new List <string>();

            // Ajoute les criètres à la liste.
            criteriaList.Add(date);
            criteriaList.Add(workTimetable);
            criteriaList.Add(profession);
            criteriaList.Add(certified);
            criteriaList.Add(age);
            criteriaList.Add(nbrYearExp);

            // Assigne aux différentes propriétés.
            Results.Results.Criteria = criteriaList;
            InterimDatabase.DatabaseCriteria(criteriaList);
        }
        /// <summary>
        /// Obtient les informations pour les emails d'annulation à envoyer.
        /// </summary>
        /// <param name="_avaibilityID">ID de la diponibilité</param>
        /// <returns>List : Réussite -> Informations de l'email. Echec -> Valeur null</returns>
        private static List <string> AbortEmailInformations(string _avaibilityID)
        {
            string avaibilityID         = _avaibilityID;
            string temporaryID          = InterimDatabase.GetAvaibilityTemporaryID(avaibilityID);
            bool   isCorrectTemporaryID = (!string.IsNullOrEmpty(temporaryID));

            // Vérifie le contenu de l'ID de l'intérimaire.
            if (isCorrectTemporaryID)
            {
                string temporaryTitle       = InterimDatabase.GetTemporaryTitle(temporaryID);
                string temporaryName        = InterimDatabase.GetTemporaryName(temporaryID);
                string temporaryEmailAdress = InterimDatabase.GetTemporaryEmailAdress(temporaryID);
                string date = InterimDatabase.GetTemporaryDate(avaibilityID);
                bool   isCorrectTemporaryTitle = (!string.IsNullOrEmpty(temporaryTitle));
                bool   isCorrectTemporaryName  = (!string.IsNullOrEmpty(temporaryName));
                bool   isCorrectEmailAdress    = (!string.IsNullOrEmpty(temporaryEmailAdress));
                bool   isCorrectDate           = (!string.IsNullOrEmpty(date));

                // Vérifie le contenu des informations de l'intérimaire.
                if (isCorrectTemporaryTitle && isCorrectTemporaryName && isCorrectEmailAdress && isCorrectDate)
                {
                    string dayName                     = DayName(date);
                    string dayNumber                   = DayNumber(date);
                    string month                       = MonthName(date);
                    string workTimetableStart          = InterimDatabase.GetTemporaryWorkTimetableStart(avaibilityID);
                    string workTimetableEnd            = InterimDatabase.GetTemporaryWorkTimetableEnd(avaibilityID);
                    string serviceName                 = InterimDatabase.GetTemporaryService(avaibilityID);
                    string sendDate                    = InterimDatabase.GetTemporarySendDate(avaibilityID);
                    bool   isCorrectWorkTimetableStart = (!string.IsNullOrEmpty(workTimetableStart));
                    bool   isCorrectWorkTimetableEnd   = (!string.IsNullOrEmpty(workTimetableEnd));
                    bool   isCorrectServiceName        = (!string.IsNullOrEmpty(serviceName));
                    bool   isCorrectSendDate           = (!string.IsNullOrEmpty(sendDate));

                    // Vérifie le contenu des informations de la mission.
                    if (isCorrectWorkTimetableStart && isCorrectWorkTimetableEnd && isCorrectServiceName && isCorrectSendDate)
                    {
                        List <string> emailInformations = new List <string>();

                        emailInformations.Add(avaibilityID);
                        emailInformations.Add(temporaryEmailAdress);
                        emailInformations.Add(temporaryTitle);
                        emailInformations.Add(temporaryName);
                        emailInformations.Add(dayName);
                        emailInformations.Add(dayNumber);
                        emailInformations.Add(month);
                        emailInformations.Add(workTimetableStart);
                        emailInformations.Add(workTimetableEnd);
                        emailInformations.Add(serviceName);
                        emailInformations.Add(sendDate);

                        return(emailInformations);
                    }
                    else
                    {
                        // Affiche un message d'erreur.
                        MessageBox.Show(SentOffer_Val.Default.NullAvaibilityInformations, SentOffer_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return(null);
                    }
                }
                else
                {
                    // Affiche un message d'erreur.
                    MessageBox.Show(SentOffer_Val.Default.NullInformations, SentOffer_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(null);
                }
            }
            else
            {
                // Affiche un message d'erreur.
                MessageBox.Show(SentOffer_Val.Default.NullTemporaryID, SentOffer_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(null);
            }
        }
Exemple #14
0
        /// <summary>
        /// Ajoute les contrôles pour les résumés des profils.
        /// </summary>
        /// <param name="_stp_dynamicsBase">StackPanel de base</param>
        internal static void AddProfilResumeControls(StackPanel _stp_dynamicsBase)
        {
            // Assigne à une liste, les ID des intérimaires.
            List <string> temporaryIDList = InterimDatabase.GetTemporaryID();
            bool          isCorrectIDList = IsCorrectList(temporaryIDList);

            // Vérifie le contenu de la liste.
            if (isCorrectIDList)
            {
                List <string> temporaryNameList       = new List <string>();
                List <string> temporaryTitleList      = new List <string>();
                List <string> temporaryFirstNameList  = new List <string>();
                List <string> temporaryAgeList        = new List <string>();
                List <string> temporaryNbrYearExpList = new List <string>();
                List <string> temporaryCityNameList   = new List <string>();

                // Assigne à des listes, les informations de chaque intérimaire.
                foreach (string temporaryID in temporaryIDList)
                {
                    temporaryTitleList.Add(InterimDatabase.GetTemporaryTitle(temporaryID));
                    temporaryNameList.Add(InterimDatabase.GetTemporaryName(temporaryID));
                    temporaryFirstNameList.Add(InterimDatabase.GetTemporaryFirstName(temporaryID));
                    temporaryAgeList.Add(InterimDatabase.GetTemporaryAge(temporaryID));
                    temporaryNbrYearExpList.Add(InterimDatabase.GetTemporaryNbrYearExp(temporaryID));
                    temporaryCityNameList.Add(InterimDatabase.GetTemporaryCity(temporaryID));
                }

                bool isCorrectTitleList      = IsCorrectList(temporaryTitleList);
                bool isCorrectNameList       = IsCorrectList(temporaryNameList);
                bool isCorrectFirstNameList  = IsCorrectList(temporaryFirstNameList);
                bool isCorrectAgeList        = IsCorrectList(temporaryAgeList);
                bool isCorrectNbrYearExpList = IsCorrectList(temporaryNbrYearExpList);
                bool isCorrectCityNameList   = IsCorrectList(temporaryCityNameList);

                // Vérifie le contenu des listes.
                if (isCorrectIDList && isCorrectTitleList && isCorrectNameList && isCorrectFirstNameList && isCorrectAgeList && isCorrectNbrYearExpList && isCorrectCityNameList)
                {
                    // Assigne à un stackPanel, les sections des intérimaires certifiés et non certifiés.
                    Sections(_stp_dynamicsBase);

                    for (int index = 0; index < temporaryNameList.Count; index++)
                    {
                        // Assigne à un stackPanel de contrôle de l'intérimaire, des propriétés graphiques.
                        StackPanel stp_TemporaryData = StackPanelBaseBuild(_stp_dynamicsBase, Orientation.Horizontal);

                        // Assigne à une étiquette, le titre de civilité d'un intérimaire.
                        TemporaryTitle(temporaryTitleList[index], stp_TemporaryData);

                        // Assigne à une étiquette, le nom d'un intérimaire.
                        TemporaryName(temporaryNameList[index], stp_TemporaryData);

                        // Assigne à une étiquette, le prénom d'un intérimaire.
                        TemporaryFirstName(temporaryFirstNameList[index], stp_TemporaryData);

                        // Assigne à une étiquette, l'âge d'un intérimaire.
                        TemporaryAge(temporaryAgeList[index], stp_TemporaryData);

                        // Assigne à une étiquette, le nombre d'années d'expérience d'un intérimaire.
                        TemporaryNbrYearExp(temporaryNbrYearExpList[index], stp_TemporaryData);

                        // Assigne à une étiquette, la ville d'un intérimaire.
                        TemporaryCity(temporaryCityNameList[index], stp_TemporaryData);

                        // Assigne à une étiquette, l'envoi d'une proposition de mission.
                        TemporarySendOffer(temporaryIDList[index], stp_TemporaryData);

                        // Assigne à une étiquette, la consultation du profil.
                        TemporaryProfile(temporaryIDList[index], stp_TemporaryData);
                    }
                }
            }
        }
Exemple #15
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);
            }
        }
Exemple #16
0
        /// <summary>
        /// Ajoute les contrôles pour les propositions de missions envoyées.
        /// </summary>
        /// <param name="_stp_dynamicsBase">StackPanel de base</param>
        internal static void AddSentOfferControls(StackPanel _stp_dynamicsBase)
        {
            List <string>   avaibilityDate = InterimDatabase.GetAvaibilityDate();
            bool            isCorrectAvaibilityDateList = IsCorrectList(avaibilityDate);
            List <TimeSpan> workTimetableList           = new List <TimeSpan>();
            bool            isCorrecyWorkTimetableList  = false;

            List <string> avaibilityStartTime = new List <string>();
            List <string> avaibilityEndTime   = new List <string>();
            string        workTimetable       = string.Empty;

            List <string> avaibilityIDAll                = new List <string>();
            string        avaibilityTemporaryID          = string.Empty;
            bool          isCorrectAvaibilityTemporaryID = false;

            string temporaryName          = string.Empty;
            bool   isCorrectTemporaryName = false;

            string temporaryTitle     = string.Empty;
            string temporaryFirstName = string.Empty;
            string temporaryService   = string.Empty;
            string tamporarySendDate  = string.Empty;

            // Vérifie le contenu de la liste de données.
            if (isCorrectAvaibilityDateList)
            {
                for (int indexDate = 0; indexDate < avaibilityDate.Count; indexDate++)
                {
                    StackPanel stp_DateData = StackPanelBaseBuild(_stp_dynamicsBase);
                    Sections(stp_DateData, avaibilityDate[indexDate]);

                    workTimetableList          = InterimDatabase.GetAvaibilityWorkTimetable(avaibilityDate[indexDate]);
                    isCorrecyWorkTimetableList = (workTimetableList != null);

                    // Vérifie le contenu des horaires de travail.
                    if (isCorrecyWorkTimetableList)
                    {
                        // Sépare les horaires de travail en début et fin.
                        for (int index = 0; index < workTimetableList.Count; index += 2)
                        {
                            avaibilityStartTime.Add(workTimetableList[index].ToString().Substring(0, 5));
                            avaibilityEndTime.Add(workTimetableList[index + 1].ToString().Substring(0, 5));
                        }

                        for (int indexWorkTimetable = 0; indexWorkTimetable < avaibilityStartTime.Count; indexWorkTimetable++)
                        {
                            // Assigne à un stackPanel de contrôles, pour les données de chaque horaires de travail.
                            workTimetable = avaibilityStartTime[indexWorkTimetable] + SentOffer_Val.Default.BetweenTime + avaibilityEndTime[indexWorkTimetable];

                            StackPanel stp_WorkTimetableData = DayWorkTimetable(workTimetable, _stp_dynamicsBase);

                            avaibilityIDAll = InterimDatabase.GetAvaibilityIDAll(avaibilityDate[indexDate], avaibilityStartTime[indexWorkTimetable], avaibilityEndTime[indexWorkTimetable]);

                            // Vérifie le contenu des ID des disponibilités.
                            if (IsCorrectList(avaibilityIDAll))
                            {
                                foreach (string avaibilityID in avaibilityIDAll)
                                {
                                    avaibilityTemporaryID          = InterimDatabase.GetAvaibilityTemporaryID(avaibilityID);
                                    isCorrectAvaibilityTemporaryID = (!string.IsNullOrEmpty(avaibilityTemporaryID));

                                    // Vérifie le contenu de l'ID de l'intérimaire.
                                    if (isCorrectAvaibilityTemporaryID)
                                    {
                                        // Assigne à des chaînes de caractères, les informations de chaque intérimaires ayant reçu une propositions de missions.
                                        temporaryName          = InterimDatabase.GetTemporaryName(avaibilityTemporaryID);
                                        isCorrectTemporaryName = (!string.IsNullOrEmpty(temporaryName));

                                        // Vérifie le contenu du nom de l'intérimaire.
                                        if (isCorrectTemporaryName)
                                        {
                                            temporaryTitle     = InterimDatabase.GetTemporaryTitle(avaibilityTemporaryID);
                                            temporaryFirstName = InterimDatabase.GetTemporaryFirstName(avaibilityTemporaryID);
                                            temporaryService   = InterimDatabase.GetTemporaryService(avaibilityID);
                                            tamporarySendDate  = InterimDatabase.GetTemporarySendDate(avaibilityID);

                                            // Assigne à un stackPanel de contrôles, pour les données de chaque intérimaires.
                                            StackPanel stp_TemporaryData = StackPanelBaseBuild(_stp_dynamicsBase, Orientation.Horizontal);

                                            // Assigne à une étiquette des propriétés graphiques.
                                            stp_TemporaryData.Margin = new Thickness(40, 10, 0, 10);

                                            // Assigne le titre de civilité de l'intérimaire.
                                            TemporaryTitle(stp_TemporaryData, temporaryTitle);

                                            // Assigne le nom de l'intérimaire.
                                            TemporaryName(stp_TemporaryData, temporaryName);

                                            // Assigne le prénom de l'intérimaire.
                                            TemporaryFirstName(stp_TemporaryData, temporaryFirstName);

                                            // Assigne le service de l'intérimaire.
                                            TemporaryService(stp_TemporaryData, temporaryService);

                                            // Assigne la date d'envoi de la proposition de mission de l'intérimaire.
                                            TemporarySendDate(stp_TemporaryData, tamporarySendDate);

                                            // Assigne les étiquettes de l'état de l'acceptation de proposition de mission.
                                            TemporaryStateMission(stp_TemporaryData, avaibilityID);
                                        }
                                    }
                                }
                            }
                        }

                        avaibilityStartTime.Clear();
                        avaibilityEndTime.Clear();
                    }
                }
            }
        }
        /// <summary>
        /// Obtient les informations pour l'email à envoyer.
        /// </summary>
        /// <param name="_avaibilityIDAndMessage">ID de la disponibilité et message à afficher</param>
        /// <returns>List : Réussite -> Informations de l'email. Echec -> Valeur null</returns>
        private static List <string> EmailInformations(List <string> _avaibilityIDAndMessage)
        {
            List <string> avaibilityIDAndMessage = _avaibilityIDAndMessage;
            string        temporaryID            = InterimDatabase.GetAvaibilityTemporaryID(avaibilityIDAndMessage[0]);
            bool          isCorrectTemporaryID   = (!string.IsNullOrEmpty(temporaryID));

            // Vérifie le contenu de l'ID de l'intérimaire.
            if (isCorrectTemporaryID)
            {
                string temporaryTitle          = InterimDatabase.GetTemporaryTitle(temporaryID);
                string temporaryName           = InterimDatabase.GetTemporaryName(temporaryID);
                bool   isCorrectTemporaryTitle = (!string.IsNullOrEmpty(temporaryTitle));
                bool   isCorrectTemporaryName  = (!string.IsNullOrEmpty(temporaryName));

                // Vérifie le contenu des informations de l'intérimaire.
                if (isCorrectTemporaryTitle && isCorrectTemporaryName)
                {
                    string messageBox = avaibilityIDAndMessage[1] + temporaryTitle + " " + temporaryName + SentOffer_Val.Default.Ask;

                    // Message de confirmation.
                    DialogResult dialogResult = MessageBox.Show(messageBox, avaibilityIDAndMessage[2], MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                    // Vérifie la réponse au message de confirmation.
                    if (dialogResult == DialogResult.Yes)
                    {
                        string temporaryEmailAdress = InterimDatabase.GetTemporaryEmailAdress(temporaryID);
                        string date = InterimDatabase.GetTemporaryDate(avaibilityIDAndMessage[0]);
                        bool   isCorrectEmailAdress = (!string.IsNullOrEmpty(temporaryEmailAdress));
                        bool   isCorrectDate        = (!string.IsNullOrEmpty(date));

                        // Vérifie le contenu de l'adresse email.
                        if (isCorrectEmailAdress && isCorrectDate)
                        {
                            string dayName                     = DayName(date);
                            string dayNumber                   = DayNumber(date);
                            string month                       = MonthName(date);
                            string workTimetableStart          = InterimDatabase.GetTemporaryWorkTimetableStart(avaibilityIDAndMessage[0]);
                            string workTimetableEnd            = InterimDatabase.GetTemporaryWorkTimetableEnd(avaibilityIDAndMessage[0]);
                            string serviceName                 = InterimDatabase.GetTemporaryService(avaibilityIDAndMessage[0]);
                            string sendDate                    = InterimDatabase.GetTemporarySendDate(avaibilityIDAndMessage[0]);
                            bool   isCorrectWorkTimetableStart = (!string.IsNullOrEmpty(workTimetableStart));
                            bool   isCorrectWorkTimetableEnd   = (!string.IsNullOrEmpty(workTimetableEnd));
                            bool   isCorrectServiceName        = (!string.IsNullOrEmpty(serviceName));
                            bool   isCorrectSendDate           = (!string.IsNullOrEmpty(sendDate));

                            // Vérifie le contenu des informations de la mission.
                            if (isCorrectWorkTimetableStart && isCorrectWorkTimetableEnd && isCorrectServiceName && isCorrectSendDate)
                            {
                                List <string> emailInformations = new List <string>();

                                emailInformations.Add(avaibilityIDAndMessage[0]);
                                emailInformations.Add(temporaryEmailAdress);
                                emailInformations.Add(temporaryTitle);
                                emailInformations.Add(temporaryName);
                                emailInformations.Add(dayName);
                                emailInformations.Add(dayNumber);
                                emailInformations.Add(month);
                                emailInformations.Add(workTimetableStart);
                                emailInformations.Add(workTimetableEnd);
                                emailInformations.Add(serviceName);
                                emailInformations.Add(sendDate);

                                return(emailInformations);
                            }
                            else
                            {
                                // Affiche un message d'erreur.
                                MessageBox.Show(SentOffer_Val.Default.NullAvaibilityInformations, SentOffer_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                                return(null);
                            }
                        }
                        else
                        {
                            // Affiche un message d'erreur.
                            MessageBox.Show(SentOffer_Val.Default.NullEmailAdressOrDate, SentOffer_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return(null);
                        }
                    }

                    return(null);
                }
                else
                {
                    // Affiche un message d'erreur.
                    MessageBox.Show(SentOffer_Val.Default.NullInformations, SentOffer_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(null);
                }
            }
            else
            {
                // Affiche un message d'erreur.
                MessageBox.Show(SentOffer_Val.Default.NullTemporaryID, SentOffer_Err.Default.ErrorTitle, MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(null);
            }
        }