Exemplo n.º 1
0
        /// <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();
        }
Exemplo n.º 2
0
        /// <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();
        }