예제 #1
0
        public void CalculerNote()
        {
            int           somme = 0;
            List <double> notes = new List <double>();

            foreach (Personne e in Combinaison)
            {
                if (e != Eleves[0])
                {
                    int    place  = Combinaison.IndexOf(e);
                    string projet = Projets[place];
                    int    voeux  = e.RecupererVoeux(projet);
                    somme += NbProjet - voeux;
                    notes.Add(voeux);
                }
            }
            double moyenne = Convert.ToDouble(somme) / (Eleves.Count() - 1);
            double s       = CalculerEcartType(moyenne, notes);
            double note    = somme - s;

            if (note >= Max)
            {
                AfficherCombinaison(note);
                Max = note;
            }
        }
예제 #2
0
        public void TesterCombinaison(Personne eleve)
        //Fonction recursive permettant de tester toutes les possibilités
        {
            int index = Eleves.IndexOf(eleve);

            foreach (string p in eleve.Projets)
            {
                int indexP = Projets.IndexOf(p);
                //Comme va être automatiquement pris seulement le premier projet de la liste quand plusieurs projet sont en fait le même, on regarde si les autres sont libre
                if (Combinaison[indexP] != Eleves[0])
                {
                    bool present = false;
                    int  i       = 0;
                    while ((present == false) && (i < NbPlaces) && (indexP + i < Projets.Count() - 1))
                    {
                        i++;
                        if ((Projets[indexP] == Projets[indexP + i]) && (Combinaison[indexP + i] == Eleves[0]))
                        {
                            present = true;
                            indexP += i;
                        }
                    }
                }

                if (Combinaison[indexP] == Eleves[0])
                {
                    //Condition d'arret de la recursivité : Si on a plus d'élèves à traiter en stock
                    Combinaison[indexP] = eleve;
                    if (index + 1 >= Eleves.Count())
                    {
                        if (VerifierComplet())
                        {
                            CalculerNote();
                        }
                        Combinaison[indexP] = Eleves[0];
                    }
                    else
                    {
                        TesterCombinaison(Eleves[index + 1]);
                        Combinaison[indexP] = Eleves[0];
                    }
                }
            }
        }
예제 #3
0
 public Adresse Update(Eleves model)
 {
     throw new NotImplementedException();
 }
예제 #4
0
        public static Eleves GetEleves(int IdEleve)
        {
            Eleves results = null;

            string connectionString = ConfigurationManager.ConnectionStrings["Database1"].ConnectionString;

            try
            {
                using (SqlConnection cn = new SqlConnection(connectionString))
                {
                    string     query = "Select * from Eleves where Id=@IdEleve ";
                    SqlCommand cmd   = new SqlCommand(query, cn);
                    cmd.Parameters.AddWithValue("@IdEleve", IdEleve);

                    cn.Open();

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            if (results == null)
                            {
                                results = new Eleves();
                            }

                            Eleves eleve = new Eleves();

                            eleve.Id = (int)dr["Id"];

                            if (dr["Nom"] != null)
                            {
                                eleve.Nom = (String)dr["Nom"];
                            }

                            if (dr["Prenom"] != null)
                            {
                                eleve.Prenom = (string)dr["Prenom"];
                            }

                            if (dr["Username"] != null)
                            {
                                eleve.Username = (string)dr["Username"];
                            }

                            if (dr["Password"] != null)
                            {
                                eleve.Password = (string)dr["Password"];
                            }

                            if (dr["Classes_Id"] != null)
                            {
                                eleve.Classes_Id = (int)dr["Classes_Id"];
                            }

                            results = eleve;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(results);
        }