コード例 #1
0
        private void tvOrganisation_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            TreeNode n      = (TreeNode)e.Node;
            TreeNode parent = (TreeNode)n.Parent;
            TreeNode enfant;

            char[] delimiterChars = { '\\' };
            // TO DO éclater le fullpath
            string[] words = n.FullPath.Split(delimiterChars);
            if (words.Length == 2)
            {
                // traitement secteur
                //n.Nodes[0].Remove();
                Secteur s = ListeSecteurs.getSecteurByLibelle(n.Text);
            }
            else
            {
                if (words.Length == 3)
                {
                    // traitement région
                    var req = from region in ListeRegion.getRegions()
                              select region;
                    Region r = ListeRegion.getRegionByLibelle(n.Text);

                    // suppression du noeud fictif
                    if (req.ToList().Count > 0)
                    {
                        //n.Nodes[0].Remove();
                    }
                }
            }
        }
コード例 #2
0
        public FrmCollaborateurs()
        {
            InitializeComponent();

            ListeRegion.getRegions();
            ListeSecteurs.getSecteurs();
            ListeRole.getRoles();
            List <Collaborateur> oui;

            oui = ListeCollaborateurs.getCollaborateurs();
            ConstructionTreeview();
            // TODO    :       Affichage de l'arborescence présentant les secteurs, les régions et les collaborateurs en poste
        }
コード例 #3
0
        private void ConstructionTreeview()
        {
            TreeNode n;
            TreeNode racine;

            // TODO : Requete LINQ pour obtenir les secteurs


            racine = tvOrganisation.Nodes.Add("KELLER THOMANN & TASSET - Gestion des ressources humaines");

            var req = from unSecteur in ListeSecteurs.getSecteurs()
                      where !(unSecteur.Code.Equals(0))
                      select unSecteur;


            foreach (Secteur s in req.ToList())
            {
                n = racine.Nodes.Add(s.Libelle);
                n.Nodes.Add("-");   // noeud fictif
            }
        }
コード例 #4
0
        private void ConstructionTreeview()
        {
            TreeNode n;
            TreeNode racine;
            TreeNode second;
            TreeNode troisieme;
            Poste    p;

            // TODO : Requete LINQ pour obtenir les secteurs

            var req = from secteur in ListeSecteurs.getSecteurs()
                      select secteur;
            var req2 = from collab in ListeCollaborateurs.getLesCollaborateurs()
                       select collab;

            racine = tvOrganisation.Nodes.Add("KELLER THOMANN & TASSET - Gestion des ressources humaines");
            foreach (Secteur s in req.ToList())
            {
                n      = racine.Nodes.Add(s.Libelle);
                second = n;
                foreach (Region r in s._Regions)
                {
                    n         = second.Nodes.Add(r.Libelle);
                    troisieme = n;
                    foreach (Collaborateur c in ListeCollaborateurs.getLesCollaborateurs())
                    {
                        if (c._Postes.Count() > 0)
                        {
                            p = c._Postes.Last();
                            if (p.Region == r.Code)
                            {
                                n = troisieme.Nodes.Add(c.Prenom + " " + c.Nom);
                            }
                        }
                    }
                }
            }
            racine.Nodes[0].Remove();
        }
コード例 #5
0
        public static List <Collaborateur> getCollaborateurs()
        {
            if (lesCollaborateurs == null)
            {
                List <Collaborateur> lesCollaborateurs = new List <Collaborateur>();
                List <Role>          lesRoles          = RoleDAO.getRoles();
                List <Secteur>       lesSecteurs       = SecteurDAO.getSecteurs();
                List <Region>        lesRegions        = RegionDAO.getRegions();


                Collaborateur unCollaborateur;
                SqlConnection ctn = new SqlConnection(Connexion.getChaine());
                ctn.Open();
                string        req = "select * from COLLABORATEUR";
                SqlCommand    cmd = new SqlCommand(req, ctn);
                SqlDataReader jeu = cmd.ExecuteReader();
                while (jeu.Read())
                {
                    unCollaborateur = new Collaborateur(int.Parse(jeu[0].ToString()), jeu[1].ToString(), jeu[2].ToString(), jeu[3].ToString(), jeu[4].ToString(), jeu[5].ToString(), DateTime.Parse(jeu[6].ToString()));
                    lesCollaborateurs.Add(unCollaborateur);
                }
                jeu.Close();

                // TODO : Ajouter les postes à l'objet unCollaborateur

                string req2 = "SELECT * FROM Poste ORDER BY Id_Collaborateur ASC, DateDebutPoste DESC";
                cmd = new SqlCommand(req2, ctn);
                jeu = cmd.ExecuteReader();

                bool continuer = jeu.Read();
                while (continuer)
                {
                    int           idCourant = int.Parse(jeu[0].ToString());
                    Collaborateur leCollab  = lesCollaborateurs.FirstOrDefault(r => r.Id == idCourant);
                    while (continuer && int.Parse(jeu[0].ToString()) == idCourant)
                    {
                        //Poste unPoste = new Poste(DateTime.Parse(jeu[1].ToString()), ListeRole.getRoleById(int.Parse(jeu[5].ToString())));
                        DateTime nul;
                        if (jeu[2].ToString() == "")
                        {
                            nul = new DateTime(110, 5, 29, 11, 15, 0);                             //date fictive
                        }
                        else
                        {
                            nul = DateTime.Parse(jeu[2].ToString());
                        }



                        DateTime test    = DateTime.Parse(jeu[1].ToString());
                        DateTime test2   = nul;
                        Role     test3   = ListeRole.getRoleById(int.Parse(jeu[5].ToString()));
                        Poste    unPoste = new Poste(DateTime.Parse(jeu[1].ToString()), nul, ListeRole.getRoleById(int.Parse(jeu[5].ToString())), ListeRegion.getRegionByCode(int.Parse(jeu[3].ToString())), ListeSecteurs.getSecteurByCode(int.Parse(jeu[4].ToString())));


                        leCollab.Postes.Add(unPoste);
                        continuer = jeu.Read();
                    }
                }
                jeu.Close();
                ctn.Close();
            }
            return(lesCollaborateurs);
        }
コード例 #6
0
 public static Secteur getSecteurByLibelle(string unLibelle)
 {
     return(ListeSecteurs.getSecteurs().FirstOrDefault(r => r.Libelle == unLibelle));
 }
コード例 #7
0
 public static Secteur getSecteurByCode(int unCode)
 {
     return(ListeSecteurs.getSecteurs().FirstOrDefault(r => r.Code == unCode));
 }
コード例 #8
0
        private void tvOrganisation_BeforeExpand(object sender, TreeViewCancelEventArgs e)
        {
            TreeNode n      = (TreeNode)e.Node;
            TreeNode parent = (TreeNode)n.Parent;
            TreeNode enfant;

            char[] delimiterChars = { '\\' };

            char[]   separateurs = { '\\' };
            string[] elements    = n.FullPath.Split(separateurs);

            if (elements.Length == 2)
            {
                // traitement secteur
                n.Nodes[0].Remove();
                Secteur s = ListeSecteurs.getSecteurByLibelle(n.Text);
                foreach (Region r in s._Regions)
                {
                    enfant = n.Nodes.Add(r.Libelle);
                    enfant.Nodes.Add("Pas de visiteurs");
                }



                var req2 = from c in ListeCollaborateurs.getCollaborateurs()
                           from p in c.Postes
                           where (p.dateDeb == c.Postes.Max(p1 => p1.dateDeb) &&
                                  (p.Secteur.Code == s.Code) && p.Role.Id == 1)
                           select c;

                foreach (Collaborateur c in req2.ToList())
                {
                    enfant = n.Nodes.Add(c.Prenom.Trim(char.Parse(" ")) + " " + c.Nom);
                }
            }
            else
            {
                if (elements.Length == 3)
                {
                    // traitement region
                    Region r = ListeRegion.getRegionByLibelle(n.Text);

                    var req = from c in ListeCollaborateurs.getCollaborateurs()
                              from p in c.Postes
                              where (p.dateDeb == c.Postes.Max(p1 => p1.dateDeb) &&
                                     (p.Region.Code == r.Code) && p.Role.Id != 1)
                              select c;


                    // && p._Role.Code != 1

                    if (req.ToList().Count > 0)
                    {
                        n.Nodes[0].Remove();
                    }

                    foreach (Collaborateur c in req.ToList())
                    {
                        enfant = n.Nodes.Add(c.Prenom.Trim(char.Parse(" ")) + " " + c.Nom);
                        //enfant = n.Nodes.Add(c.Id());
                    }
                }
            }
            //DG1.DataSource = enfant;
        }