public void Supprimer(MSection section) { if (!MSections.listSections.Remove(section.Identifiant)) { throw new Exception("Can't delete this section, does not exist !"); } }
/// <summary> /// modifier les données d'une section /// tout est modifiable sauf le code section (= clé de la collection) /// </summary> /// <param name="uneSection">la référence au nouvel objet MSection pour cette clé</param> public void Remplacer(MSection uneSection) { // il suffit de modifier la référence à l'objet MSection // dans la collection pour ce code Section //modifier la référence de section stockée dans la collection this.lesSections[uneSection.CodeSection] = uneSection; // à sécuriser... }
public void Remplacer(MSection section) { if (MSections.listSections.ContainsKey(section.Identifiant)) { MSections.listSections[section.Identifiant] = section; } else { throw new Exception("Can't remplace this section, can't find the numOsia !"); } }
public frmMDI() { InitializeComponent(); //Mock-data MSection section = new MSection("CDI1", "Développeur", DateTime.Now, DateTime.Now.AddYears(1)); MSections.listSections.Add(section.Identifiant, section); section = new MSection("CDI14", "Concepteur Développeur", DateTime.Now, DateTime.Now.AddYears(1)); MSections.listSections.Add(section.Identifiant, section); Console.WriteLine(MSections.listSections.Count); }
/// <summary> /// instancie les objets MStagiaires spécialisés correspondants aux Entities du dbSet /// </summary> /// <param name="laSection">la ref de la section qui gère la collection de ces stagiaires</param> public static void InstancieStagiairesSection(MSection laSection) { // instancier le dbContext au besoin if (DonneesDAO.DbContextFormation == null) { DonneesDAO.DbContextFormation = new FormationsContainer(); } var query = from a in DonneesDAO.DbContextFormation.StagiairesSet where a.Sections.Idsection == laSection.CodeSection select a; // ref d'objet générique (pour la collection) MStagiaire leStagiaire; // parcourt les lignes de la requête foreach (Stagiaires item in query) { // instancie et renseigne l'objet MStagiaire spécialisé if (item is StagiaireCIF) { // cas d'un CIF : objet MStagiaireCIF leStagiaire = new MStagiaireCIF(item.NumOsia, item.NomStagiaire.Trim(), item.PrenomStagiaire.Trim(), item.rueStagiaire, item.VilleStagiaire.Trim(), item.CodePostalStagiaire, ((StagiaireCIF)item).Fongecif, ((StagiaireCIF)item).TypeCIF.Trim() ); } else { // cas d'un DE : objet MStagiaireDE leStagiaire = new MStagiaireDE(item.NumOsia, item.NomStagiaire.Trim(), item.PrenomStagiaire.Trim(), item.rueStagiaire, item.VilleStagiaire.Trim(), item.CodePostalStagiaire.Trim(), ((StagiaireDE)item).RemuAfpa ); } // affecter points et notes // on ne peut affecter directement Pointsnotes et NbreNotes // dans MStagiaire que si le demandeur est de ce type MStagiaireDAOEFStatic leStagiaire.SetPoints(Convert.ToDouble(item.PointsNotes), (int)item.NbreNotes, typeof(MStagiaireDAOEFStatic).ToString()); // ajoute le Stagiaire à la collection de la section laSection.Ajouter(leStagiaire); } }
private void btnOk_Click(object sender, EventArgs e) { if (cbxSection.SelectedItem != null && !String.IsNullOrEmpty(cbxSection.SelectedItem.ToString())) { String choice = cbxSection.SelectedItem.ToString(); if (MSections.listSections.ContainsKey(choice)) { MSection section = MSections.listSections[choice]; selectSection?.Invoke(section); this.DialogResult = DialogResult.OK; } } }
/// <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> /// rétablit la source de données de la dataGridView /// et rafraîchit son affichage /// </summary> public void AfficheStagiaires(MSection laSection) { // déterminer l'origine des données à afficher : // appel de la méthode de la classe MSection // qui alimente et retourne une datatable // à partir de sa collection de stagiaires this.grdStagiaires.DataSource = laSection.ListerStagiaires(); // refraîchir l'affichage this.grdStagiaires.Refresh(); // gestion bouton supprimer // admirer la syntaxe... this.btnSupprimer.Enabled = (this.grdStagiaires.CurrentRow == null ? false: true); }
public static MSection RestitueSection(String unCodeSection) { // instancier le dbContext au besoin if (DonneesDAO.DbContextFormation == null) { DonneesDAO.DbContextFormation = new FormationsContainer(); } MSection laSection; Sections leStage = DonneesDAO.DbContextFormation.SectionsSet.Find(unCodeSection); laSection = new MSection(leStage.Idsection, leStage.NomSection, leStage.DateDebut, leStage.DateFin); return(laSection); }
/// <summary> /// initialisation section CDI et chargement des stagiaires correspondants /// </summary> private void initCDI() { // initialisation de la collection de sections Donnees.Sections = new MSections(); // pour commencer, une seule section référencée "en dur" dans ce programme // instancie la section //this.laSection = new MSection("CDI", "Concepteur Développeur Informatique", null, null); // l'ajoute dans la collection des sections gérée par la classe de collection //Donnees.Sections.Ajouter(this.laSection); // chargement section depuis la BDD this.laSection = MSectionDAOEFStatic.RestitueSection("CDI"); Donnees.Sections.Ajouter(this.laSection); // chargement et instanciation des données Stagiaires de cette section depuis la BDD MStagiaireDAOEFStatic.InstancieStagiairesSection(this.laSection); }
/// <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 } }
public static void InstancieSections(MSections lesSections) { // instancier le dbContext au besoin if (DonneesDAO.DbContextFormation == null) { DonneesDAO.DbContextFormation = new FormationsContainer(); } var query = from a in DonneesDAO.DbContextFormation.SectionsSet select a; // ref d'objet MSection laSection; // parcourt les lignes de l'Entity foreach (Sections item in query) { laSection = new MSection(item.Idsection, item.NomSection, item.DateDebut, item.DateFin); lesSections.Ajouter(laSection); } }
private void openFrmExo9(MSection section) { if (section == null) { section = MSections.listSections["CDI1"]; } if (frmPrinc == null) { frmPrinc = new frmExo9(section); frmPrinc.MdiParent = this; frmPrinc.FormClosing += new FormClosingEventHandler(this.frmPrincClosing); frmPrinc.Show(); } if (frmPrinc.WindowState == FormWindowState.Minimized) { frmPrinc.WindowState = FormWindowState.Normal; } else { frmPrinc.Activate(); } }
/// <summary> /// Constructeur /// (initialise la collection de sections et insère en dur la section DI) /// </summary> public frmExo9(MSection laSection) { InitializeComponent(); // initialisation de la collection de sections //Donnees.Sections = new MSections(); this.laSection = laSection; Console.WriteLine(laSection.Identifiant); // pour commencer, une seule section référencée "en dur" dans ce programme // instancie la section //this.laSection = new MSection("CDI1", "Concepteur Développeur Informatique 2012"); // l'ajoute dans la collection des sections gérée par la classe de collection // ajoute en dur un stagiaire à cette section // MStagiaire unStagiaire; //unStagiaire = new MStagiaireDE(11111, "DUPOND", "Albert", "12 rue des Fleurs", "NICE", "06300", false); // l'ajoute dans la collection des stagiaires de cette section // unStagiaire = new MStagiaireDE(11111, "RAT", "Cyril", "109 Rue de la Soleillette", "Saint-Raphaël", "83700", false); //laSection.Ajouter(unStagiaire); // afficher la liste des stagiaires de la section this.afficheStagiaires(); }
/// <summary> /// constructeur /// </summary> /// <param name="uneSection">la section de ce stagiaire</param> public frmAjoutStagiaire(MSection uneSection) { InitializeComponent(); this.laSection = uneSection; Console.WriteLine(laSection.Identifiant); }
private void selectionSelected(MSection section) { openFrmExo9(section); }
/// <summary> /// Constructeur /// </summary> public frmExo9(MSection uneSection) { InitializeComponent(); this.Text += uneSection.NomSection; // personnalise le titre de la fenêtre this.laSection = uneSection; }
/// <summary> /// ajouter une Section à la collection /// (reçoit la ref à la section et en déduit la clé (= codesection) pour la collection) /// </summary> /// <param name="uneSection">la référence de la section à ajouter</param> public void Ajouter(MSection uneSection) { this.lesSections.Add(uneSection.CodeSection, uneSection); // à sécuriser... }
/// <summary> /// supprimer une section de la collection /// (reçoit la ref à la section et en déduit la clé (= codesection) pour la collection) /// </summary> /// <param name="uneSection">la référence de la section à supprimer</param> public void Supprimer(MSection uneSection) { this.lesSections.Remove(uneSection.CodeSection); // à sécuriser... }
/// <summary> /// constructeur /// </summary> /// <param name="uneSection">la section de ce stagiaire</param> public frmAjoutStagiaire(MSection uneSection) { InitializeComponent(); this.laSection = uneSection; }
public void Ajouter(MSection section) { MSections.listSections.Add(section.Identifiant, section); }