/// <summary> /// Vérifie que toutes les informations du projet sont correctes, que les contraintes sont respectées /// avant d'afficher le formulaire d'ajout des rôles /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void valider_Click(object sender, EventArgs e) { List <Intervenant> intervenants = new List <Intervenant>(); List <Etudiant> etudiantsProjet = EtudiantsProjet(); foreach (Etudiant etudiant in etudiantsProjet) { intervenants.Add(etudiant); } foreach (Professeur professeur in ProfesseursProjet()) { intervenants.Add(professeur); } foreach (Exterieur exterieur in IntervenantsExteProjet()) { intervenants.Add(exterieur); } if (nomProjet.TextLength > 0) { if (listeMatiere.CheckedItems.Count > 0) { if (etudiantsProjet.Count >= typeProjet.NbMinEtudiants && etudiantsProjet.Count <= typeProjet.NbMaxEtudiants) { if (liste_livrables.Count > 0) { AjoutRoles formAjoutRoles = new AjoutRoles(intervenants, repertoire); formAjoutRoles.Show(); formAjoutRoles.VisibleChanged += formVisibleChangedAjouterRoles; } else { MessageBox.Show("Livrable manquant", "Veuillez ajouter un livrable au projet.", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("Nombre d'étudiants incorrect", "Le groupe de projet doit être composé de " + typeProjet.NbMinEtudiants + " à " + typeProjet.NbMaxEtudiants + " étudiants.", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("Matière manquante", "Veuillez sélectionner la ou les matières dont fait parti le projet.", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { MessageBox.Show("Nom de projet manquant", "Veuillez renseigner le nom du projet.", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
/// <summary> /// Récupére les rôles ajoutés dans le formulaire, créé le projet, l'ajoute au répertoire puis sauvegarde le répertoire /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void formVisibleChangedAjouterRoles(object sender, EventArgs e) { AjoutRoles form = (AjoutRoles)sender; if (!form.Visible) { repertoire.roles.AddRange(form.ReturnRoles); Projet projet = new Projet(nomProjet.Text, descriptionProjet.Text, dateDebutProjet.Value, dateFinProjet.Value, typeProjet); projet.ListeLivrables = liste_livrables; projet.ListeRoles = form.ReturnRoles; projet.ListeMatieres = MatieresProjet(); repertoire.projets.Add(projet); repertoire.SaveData(); form.Dispose(); this.Visible = false; } }