public void Supprimer(MStagiaire stagiaire) { if (!listStagiaires.Remove(stagiaire.NumOsia)) { throw new Exception("Can't delete this stagiaire, does not exist !"); } }
/// <summary> /// constructeur /// </summary> /// <param name="unStagiaire">ref du stagiaire qui reçoit la note</param> public frmSaisieNote(MStagiaire unStagiaire) { InitializeComponent(); this.leStagiaire = unStagiaire; // personnalisation titre form this.Text += unStagiaire.ToString(); }
/// <summary> /// modifier les données d'un stagiaire /// tout est modifiable sauf le numOsia (= clé de la collection) /// </summary> /// <param name="unStagiaire">la référence au nouvel objet MStagiaire pour cette clé</param> public void Remplacer(MStagiaire unStagiaire) { // il suffit de modifier la référence à l'objet MStagiaire // dans la collection pour ce numOsia //modifier la référence de stagiaire stockée dans la collection this.lesStagiaires[unStagiaire.NumOsia] = unStagiaire; }
/// <summary> /// bouton OK : contrôler les données saisies en formulaire, /// instancier un objet MStagiaire et le référencer en collection /// </summary> /// <param name="sender"></param> /// <param name="e"></param> //private void btnOK_Click(object sender, EventArgs e) //{ // // controle vraissemblance des données saisies sur le form // if (this.controle()) // { // // instancie le bon objet MStagiaire et l'ajoute à la collection de sa section // if (this.instancie()) // { // // cas général : // // si l'instanciation stagiaire et // // son ajout au tableau est OK : // // - fermeture de la boite de dialogue par validation // this.DialogResult = DialogResult.OK; // } // } //} /// <summary> /// fonction qui instancie un nouvel objet MStagiaire spécialisé /// puis tente d'affecter ses membres (attributs ou prop.) /// avec interception erreur éventuelle levée par la classe MStagiaire /// et ajoute la référence de ce stagiaire dans la collection de sa section /// </summary> /// <returns>Boolean : true = OK, false = erreur</returns> internal Boolean Instancie() { try { if (this.rbtDE.Checked) // c'est un DE { // instancier un stagiaire spécialisé DE et lui affecter toutes ses propriétés this.nouveauStagiaire = new MStagiaireDE( Int32.Parse(base.txtOSIA.Text.Trim()), base.txtNom.Text, base.txtPrenom.Text, base.txtAdresse.Text, base.txtVille.Text, base.txtCodePostal.Text.Trim(), this.chkRemuAfpa.Checked); } else // c'est un CIF { // déterminer le type de CIF String leTypeCIF; if (this.rbtCDD.Checked) { leTypeCIF = "CDD"; } else if (this.rbtCDI.Checked) { leTypeCIF = "CDI"; } else { leTypeCIF = "TT"; } // instancier un stagiaire spécialisé CIF et lui affecter toutes ses propriétés nouveauStagiaire = new MStagiaireCIF( Int32.Parse(base.txtOSIA.Text.Trim()), base.txtNom.Text, base.txtPrenom.Text, base.txtAdresse.Text, base.txtVille.Text, base.txtCodePostal.Text.Trim(), this.txtFongecif.Text, leTypeCIF); } return(true); } catch (Exception ex) { nouveauStagiaire = null; MessageBox.Show("Erreur : \n" + ex.Message, "Ajout de stagiaire"); return(false); } }
public void Remplacer(MStagiaire stagiaire) { if (listStagiaires.ContainsKey(stagiaire.NumOsia)) { listStagiaires[stagiaire.NumOsia] = stagiaire; } else { throw new Exception("Can't remplace this stagiaire, can't find the numOsia !"); } }
/// <summary> /// constructeur : instancie et personnalise le form et l'affiche en modal; /// récupère ensuite le résultat du dialogue et la ref du stagiaire instancié /// </summary> /// <param name="uneSection">la section du stagiaire à créer</param> public CtrlNouveauStagiaire(MSection uneSection) { this.laSection = uneSection; // instancier le form initial this.leForm = new frmAjoutStagiaire(this.laSection); this.leForm.Text += this.laSection.ToString(); // variante avec plus de contrôle du from par le Contrôleur this.leForm.btnOK.Click += new EventHandler(this.btnOK_Click); // afficher le form this.leForm.ShowDialog(); // en fin de dialogue modal récupérer la ref du stagiaire spécialisé instancié par le form this.leStagiaire = this.leForm.LeStagiaire; }
/// <summary> /// constructeur : instancie et personnalise le form et l'affiche en modal; /// </summary> public CtrlVisuModifStagiaire(MStagiaire unStagiaire) { // mémo ref au stagiaire à modifier this.leStagiaire = unStagiaire; // instancier le form initial this.leForm = new frmVisuStagiaire(this.leStagiaire); this.leForm.Text = this.leStagiaire.ToString(); // implémenter l'événement bouton Saisir Note this.leForm.btnSaisirNote.Click += new EventHandler(btnSaisirNote_Click); // implémenter l'événement bouton Valider this.leForm.btnValider.Click += new EventHandler(btnValider_Click); // afficher le form this.leForm.ShowDialog(); }
/// <summary> /// insère un stagiaire dans la table Stagiaires de la BDD /// </summary> /// <param name="unStagiaire">objet MStagiaire correspondant</param> /// <param name="unCodeSection">identifiant de sa section</param> public static void InsereStagiaire(MStagiaire unStagiaire, MSection uneSection) { // instancier le dbContext au besoin if (DonneesDAO.DbContextFormation == null) { DonneesDAO.DbContextFormation = new FormationsContainer(); } // rechercher l'Entity Section Sections laSection = DonneesDAO.DbContextFormation.SectionsSet.Find(uneSection.CodeSection); // instancie un Entity et le renseigne à partir du MStagiaire reçu Stagiaires unStagiaireEF = null; // pour compilateur if (unStagiaire is MStagiaireCIF) { unStagiaireEF = new StagiaireCIF(unStagiaire.NumOsia, unStagiaire.Nom, unStagiaire.Prenom, unStagiaire.Rue, unStagiaire.Ville, unStagiaire.CodePostal, unStagiaire.NbreNotes, Convert.ToDecimal(unStagiaire.PointsNotes), laSection, ((MStagiaireCIF)unStagiaire).Fongecif, ((MStagiaireCIF)unStagiaire).TypeCif); } else { // cas d'un DE unStagiaireEF = new StagiaireDE(unStagiaire.NumOsia, unStagiaire.Nom, unStagiaire.Prenom, unStagiaire.Rue, unStagiaire.Ville, unStagiaire.CodePostal, unStagiaire.NbreNotes, Convert.ToDecimal(unStagiaire.PointsNotes), laSection, ((MStagiaireDE)unStagiaire).RemuAfpa); } try { // ajoute l'Entity au dbSet du dbContext DonneesDAO.DbContextFormation.StagiairesSet.Add(unStagiaireEF); // déclenche la MAJ sur BDD DonneesDAO.DbContextFormation.SaveChanges(); } catch (Exception ex) // a ce niveau, erreur possible en cas de doublon { // avec un autre stagiaire déjà chargé en mémoire throw ex; // ou erreur d'accès à la BDD } }
/// <summary> /// modifie un stagiaire en BDD /// </summary> /// <param name="unStagiaire">la ref à l'objet Mstagiaire qui a subi des modifications</param> public static void ModifieStagiaire(MStagiaire unStagiaire) { // instancier le dbContext au besoin if (DonneesDAO.DbContextFormation == null) { DonneesDAO.DbContextFormation = new FormationsContainer(); } // recherche l'Entity et la renseigne à partir du MStagiaire reçu Stagiaires leStagiaire = DonneesDAO.DbContextFormation.StagiairesSet.Find(unStagiaire.NumOsia); // renseigne les colonnes à partir de l’objet MStagiaire reçu leStagiaire.NomStagiaire = unStagiaire.Nom; leStagiaire.PrenomStagiaire = unStagiaire.Prenom; leStagiaire.rueStagiaire = unStagiaire.Rue; leStagiaire.VilleStagiaire = unStagiaire.Ville; leStagiaire.CodePostalStagiaire = unStagiaire.CodePostal; leStagiaire.PointsNotes = (decimal?)unStagiaire.PointsNotes; leStagiaire.NbreNotes = unStagiaire.NbreNotes; // champs spécifiques dans la table en fonction du type MStagiaire spécialisé : NB : non modifable actuellement sur le form if (leStagiaire is StagiaireCIF) { // cas d'un CIF ((StagiaireCIF)leStagiaire).Fongecif = ((MStagiaireCIF)unStagiaire).Fongecif; ((StagiaireCIF)leStagiaire).TypeCIF = ((MStagiaireCIF)unStagiaire).TypeCif; } else { // cas d'un DE ((StagiaireDE)leStagiaire).RemuAfpa = ((MStagiaireDE)unStagiaire).RemuAfpa; } try { // déclenche la MAJ sur BDD par le dbContext DonneesDAO.DbContextFormation.SaveChanges(); } catch (Exception ex) // a ce niveau, erreur possible en cas de doublon { // avec un autre stagiaire déjà chargé en mémoire throw ex; // ou erreur d'accès à la BDD } }
/// <summary> /// affiche en textbox les données d'un stagiaire reçu /// </summary> /// <param name="unStagiaire">la référence du stagiaire à afficher</param> public void AfficheStagiaire(MStagiaire unStagiaire) { // affecter les textbox this.txtOSIA.Text = unStagiaire.NumOsia.ToString(); this.txtNom.Text = unStagiaire.Nom; this.txtPrenom.Text = unStagiaire.Prenom; this.txtAdresse.Text = unStagiaire.Rue; this.txtVille.Text = unStagiaire.Ville; this.txtCodePostal.Text = unStagiaire.CodePostal; this.AfficheMoyenne(this.leStagiaire); if (unStagiaire is MStagiaireCIF) { this.rbtCIF.Checked = true; } else { this.rbtDE.Checked = true; } // placer le curseur sur le nom this.txtNom.Focus(); }
/// <summary> /// affiche en textbox les données d'un stagiaire reçu /// </summary> /// <param name="unStagiaire">la référence du stagiaire à afficher</param> private void afficheStagiaire(MStagiaire unStagiaire) { // affecter les textbox this.txtOSIA.Text = unStagiaire.NumOsia.ToString(); this.txtNom.Text = unStagiaire.Nom; this.txtPrenom.Text = unStagiaire.Prenom; this.txtAdresse.Text = unStagiaire.Rue; this.txtVille.Text = unStagiaire.Ville; this.txtCodePostal.Text = unStagiaire.CodePostal; this.lblValeurMoyenne.Text = unStagiaire.DonnerMoyenne().ToString(); // personnaliser le form en fonction du type de stagiaire if (unStagiaire is MStagiaireDE) { this.rbtDE.Checked = true; } if (unStagiaire is MStagiaireCIF) { this.rbtCIF.Checked = true; } // placer le curseur sur le nom this.txtNom.Focus(); }
/// <summary> /// supprimer un stagaire de la collection /// (reçoit la ref au stagiaire et en déduit la clé (= numOsia) pour la collection) /// </summary> /// <param name="unStagiaire">la référence au stagiaire à supprimer</param> public void Supprimer(MStagiaire unStagiaire) { this.lesStagiaires.Remove(unStagiaire.NumOsia); // à sécuriser... }
/// <summary> /// ajouter un stagiaire à la collection /// (reçoit la ref au stagiaire et en déduit la clé (= numOsia) pour la collection) /// </summary> /// <param name="unStagiaire">la référence du stagiaire à ajouter</param> public void Ajouter(MStagiaire unStagiaire) { this.lesStagiaires.Add(unStagiaire.NumOsia, unStagiaire); }
/// <summary> /// /// </summary> /// <param name="unStagiaire"></param> public frmVisuStagiaire(MStagiaire unStagiaire) { InitializeComponent(); this.leStagiaire = unStagiaire; }
/// <summary> /// affiche la mot=yenne actualisée /// </summary> public void AfficheMoyenne(MStagiaire unStagiaire) { this.lblValeurMoyenne.Text = unStagiaire.DonnerMoyenne().ToString(); }
public void Ajouter(MStagiaire stagiaire) { listStagiaires.Add(stagiaire.NumOsia, stagiaire); }