/// <summary> /// Evénement lors du clic sur le bouton Ajout Prof /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAddProf_Click(object sender, EventArgs e) { int _lastSelected = 0; InfosClasse _infoClass = (InfosClasse)cmbClasse.SelectedItem; // Si la classe est nulle on est dans le cas d'une création sans liste if (_infoClass == null) { _infoClass = new InfosClasse(); } // On ajoute une Person Person _newPerson = new Person(); _newPerson.Class = _infoClass.nameClass; _newPerson.ClassId = _infoClass.idClass; _newPerson.TypePerson = Constantes.cstProf; // on crée un Prof int _maxId = ClassOutils.getMaxId(p_applClass.School.getListFromType(Constantes.cstIndividu)); _newPerson.NumElement = ClassOutils.getMaxNumElement(p_SessionBase.Content.ListElement); _newPerson.Name = "P" + _newPerson.NumElement.ToString("D4"); _newPerson.FirstName = String.Empty; _newPerson.Id = _maxId.ToString("D4"); _newPerson.InfosPDV.IsGratis = true; // Pour les PROFS, la photo est gratuite par défaut ListePersons.frmEditIndividu frmEdit = new ListePersons.frmEditIndividu(_newPerson, p_applClass.School, ModeAppel.Create); if (frmEdit.ShowDialog(this) == DialogResult.OK) { // On ajoute le Groupe dans la Session. // Il faut aussi l'ajouter dans la liste des éléments p_applClass.School.ListElement.Add(_newPerson); p_applClass.School.IsChanged = true; ClassOutils.saveSchoolFile(p_applClass); p_SessionBase.Content.ListElement.Add(_newPerson); // Dans le cas où on est en double vue on duplique l'élément if (p_applClass.School.DoubleView && p_SessionBase.Content.TypeSession == Constantes.cstIndividu) { IElement _newElement = (IElement)_newPerson.Clone(); _newElement.Id = _newPerson.Id + "B"; _newElement.FirstName += "(BIS)"; _newElement.Photos = new List<FilePhoto>(); p_SessionBase.Content.ListElement.Add(_newElement); } // Il faut trier la liste pour etre cohérent à la liste affichée p_SessionBase.Content.ListElement = p_SessionBase.Content.ListElement.OrderBy(o => o.KeyAsc).ToList(); _lastSelected = this.searchElement(_newPerson); this.ClearListe(); this.ChargeListe(p_SessionBase.Content.ListElement); } if (lstPupils.Items.Count > 0) { lstPupils.Items[_lastSelected].Selected = true; lstPupils.Items[_lastSelected].EnsureVisible(); } this.actualiseCompteurs(); }
/// <summary> /// Evénement lors du clic sur le bouton Ajout Eleve /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAddEleve_Click(object sender, EventArgs e) { int _numElement; int _lastSelected = 0; InfosClasse _infoClass = (InfosClasse)cmbClasse.SelectedItem; // Si la classe est nulle on est dans le cas d'une création sans liste if (_infoClass == null) { _infoClass = new InfosClasse(); } switch (tabPriseDeVue.SelectedIndex) { case 0: // On ajoute une Person Person _newPerson = new Person(); _newPerson.Class = _infoClass.nameClass; _newPerson.ClassId = _infoClass.idClass; // Si la classe est toppé come gratuite, on ajoute tous les éléments en Gratuit if (_infoClass.allGratis) { _newPerson.InfosPDV.IsGratis = true; } _newPerson.TypePerson = Constantes.cstEleve; // Par défaut, on crée un élève int _maxId = ClassOutils.getMaxId(p_applClass.School.getListFromType(Constantes.cstIndividu)); _newPerson.Id = _maxId.ToString("D4"); _numElement = ClassOutils.getMaxNumElement(p_SessionBase.Content.ListElement); _newPerson.NumElement = _numElement; _newPerson.Name = "E" + _numElement.ToString("D4"); _newPerson.FirstName = String.Empty; ListePersons.frmEditIndividu frmEdit = new ListePersons.frmEditIndividu(_newPerson, p_applClass.School, ModeAppel.Create); if (frmEdit.ShowDialog(this) == DialogResult.OK) { // On ajoute le Groupe dans la Session. // Il faut aussi l'ajouter dans la liste des éléments p_applClass.School.ListElement.Add(_newPerson); p_applClass.School.IsChanged = true; ClassOutils.saveSchoolFile(p_applClass); p_SessionBase.Content.ListElement.Add(_newPerson); // Dans le cas où on est en double vue on duplique l'élément if (p_applClass.School.DoubleView && p_SessionBase.Content.TypeSession == Constantes.cstIndividu) { _maxId++; IElement _newElement = (IElement)_newPerson.Clone(); _newElement.Id = _newPerson.Id + "B"; _newElement.FirstName += "(BIS)"; _newElement.Photos = new List<FilePhoto>(); _newElement.InfosPDV = new InfoPdV(); p_SessionBase.Content.ListElement.Add(_newElement); } // Il faut trier la liste pour etre cohérent à la liste affichée p_SessionBase.Content.ListElement = p_SessionBase.Content.ListElement.OrderBy(o => o.KeyAsc).ToList(); _lastSelected = this.searchElement(_newPerson); this.ClearListe(); this.ChargeListe(p_SessionBase.Content.ListElement); } break; case 1: // On ajoute un Group Group _newGroup = new Group(); _newGroup.Class = _infoClass.nameClass; _newGroup.ClassId = _infoClass.idClass; // Si la classe est toppé come gratuite, on ajoute tous les éléments en Gratuit if (_infoClass.allGratis) { _newGroup.InfosPDV.IsGratis = true; } _newGroup.TypePerson = Constantes.cstGroup; // Par défaut, on crée un élève int _maxGrpId = ClassOutils.getMaxId(p_SessionBase.Content.ListElement); _newGroup.NumElement = ClassOutils.getMaxNumElement(p_SessionBase.Content.ListElement); _newGroup.Id = _maxGrpId.ToString("D4"); _newGroup.Name = "G" + _newGroup.NumElement.ToString("D4"); _newGroup.FirstName = String.Empty; ListePersons.frmEditGroupe frmEditGrp = new ListePersons.frmEditGroupe(_newGroup, p_applClass.School, ModeAppel.Create); if (frmEditGrp.ShowDialog(this) == DialogResult.OK) { // On ajoute le Groupe dans la Session. // Il faut aussi l'ajouter dans la liste des éléments p_applClass.School.ListElement.Add(_newGroup); p_applClass.School.IsChanged = true; ClassOutils.saveSchoolFile(p_applClass); p_SessionBase.Content.ListElement.Add(_newGroup); // Il faut trier la liste pour etre cohérent à la liste affichée p_SessionBase.Content.ListElement = p_SessionBase.Content.ListElement.OrderBy(o => o.KeyAsc).ToList(); _lastSelected = this.searchElement(_newGroup); this.ClearListe(); this.ChargeListe(p_SessionBase.Content.ListElement); } break; case 2: // On ajoute une Fratrie Person _newFratrie = new Person(); _newFratrie.Class = Constantes.cstFratrie; _newFratrie.ClassId = 99999; _newFratrie.TypePerson = Constantes.cstEleve; // Une Fratrie est un Elève int _maxFraId = ClassOutils.getMaxId(p_SessionBase.Content.ListElement); _newFratrie.NumElement = ClassOutils.getMaxNumElement(p_SessionBase.Content.ListElement); _newFratrie.Id = _maxFraId.ToString("D4"); _newFratrie.Name = "F" + _newFratrie.NumElement.ToString("D4"); _newFratrie.FirstName = String.Empty; ListePersons.frmEditGroupe frmEditFratrie = new ListePersons.frmEditGroupe(_newFratrie, p_applClass.School, ModeAppel.Create); if (frmEditFratrie.ShowDialog(this) == DialogResult.OK) { // On ajoute le Groupe dans la Session. // Il faut aussi l'ajouter dans la liste des éléments p_applClass.School.ListElement.Add(_newFratrie); p_applClass.School.IsChanged = true; ClassOutils.saveSchoolFile(p_applClass); p_SessionBase.Content.ListElement.Add(_newFratrie); // Il faut trier la liste pour etre cohérent à la liste affichée p_SessionBase.Content.ListElement = p_SessionBase.Content.ListElement.OrderBy(o => o.KeyAsc).ToList(); _lastSelected = this.searchElement(_newFratrie); this.ClearListe(); this.ChargeListe(p_SessionBase.Content.ListElement); } break; } if (lstPupils.Items.Count > 0) { lstPupils.Items[_lastSelected].Selected = true; lstPupils.Items[_lastSelected].EnsureVisible(); } this.actualiseCompteurs(); }
/// <summary> /// Modifier un élément dans la liste /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void modifyItemMenu_Click(object sender, EventArgs e) { IElement _selectedItem = (IElement)ctxItemMenu.Tag; Form frmEdit; if (_selectedItem.TypeElement.Equals(Constantes.cstIndividu)) { frmEdit = new ListePersons.frmEditIndividu(_selectedItem, p_applClass.School, ModeAppel.Update); } else { frmEdit = new ListePersons.frmEditGroupe(_selectedItem, p_applClass.School, ModeAppel.Append); } if (frmEdit.ShowDialog(this) == DialogResult.OK) { lstPupils.BeginUpdate(); lstPupils.FocusedItem.SubItems[colFirstName.Index].Text = _selectedItem.GetStringDisplay(colFirstName.Index); lstPupils.FocusedItem.SubItems[colName.Index].Text = _selectedItem.GetStringDisplay(colName.Index); lstPupils.EndUpdate(); lstPupils.Refresh(); p_applClass.School.updateElement(_selectedItem); this.RenamePhoto(_selectedItem); } }
/// <summary> /// Supprimer un élève /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void supprimerToolStripMenuItem_Click(object sender, EventArgs e) { string _className = treeView.SelectedNode.Parent.Text; string _idInd = treeView.SelectedNode.Name; Log.Debug("Ouverture du Formulaire [Supprimer un élève] {NAME:" + _idInd + " - CLASS:" + _className + "}"); IElement _indiv = ClassOutils.getItemFromId(p_appClass.School.getListFromType(Constantes.cstIndividu), _idInd, _className); ListePersons.frmEditIndividu frmEdit = new ListePersons.frmEditIndividu(_indiv, p_appClass.School, ModeAppel.Delete); if (frmEdit.ShowDialog(this) == DialogResult.OK) { this.deleteIndividu((Person)_indiv); this.refreshList(); } }
/// <summary> /// Ajout d'un individu /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnAdd_Click(object sender, EventArgs e) { Person _newPerson = new Person(); _newPerson.TypePerson = Constantes.cstEleve; // Par défaut, on crée un élève int _maxId = ClassOutils.getMaxId(p_appClass.School.getListPerson(Constantes.cstEleve)); _newPerson.Id = _maxId.ToString("D4"); ListePersons.frmEditIndividu frmEdit = new ListePersons.frmEditIndividu(_newPerson, p_appClass.School, ModeAppel.Create); if (frmEdit.ShowDialog(this) == DialogResult.OK) { this.addIndividu(_newPerson); this.refreshList(); } }
/// <summary> /// Ajouter un élève depuis le menu contextuel /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void addToolStripMenuItem_Click(object sender, EventArgs e) { string _nodeValue; if (this.treeView.SelectedNode.Parent == null) { _nodeValue = this.treeView.SelectedNode.Text; } else { _nodeValue = this.treeView.SelectedNode.Parent.Text; } Person _newPerson = new Person(); _newPerson.TypePerson = Constantes.cstEleve; // Par défaut, on crée un élève _newPerson.Class = _nodeValue; _newPerson.ClassId = p_appClass.School.GetIdClasse(_nodeValue); int _maxId = ClassOutils.getMaxId(p_appClass.School.getListPerson(Constantes.cstEleve)); _newPerson.Id = _maxId.ToString("D4"); _newPerson.NumElement = _maxId; Log.Debug("Ouverture du Formulaire [Ajouter un élève] {CLASS:" + _nodeValue + "}"); ListePersons.frmEditIndividu frmEdit = new ListePersons.frmEditIndividu(_newPerson, p_appClass.School, ModeAppel.Create); if (frmEdit.ShowDialog(this) == DialogResult.OK) { this.addIndividu(_newPerson); this.refreshList(); } }