예제 #1
0
 public VMSaisieTache(string logiciel, float numVersion)
 {
     Personnes = DALPersonne.RecupererToutesPersonneActivite(Properties.Settings.Default.CodeDernierUtilisateur);
     Modules   = DALLogiciel.RecupererModules(logiciel);
     PersonnesTachesProdAjoutees   = new ObservableCollection <Personne>();
     _logicielCourant              = new Entity.Logiciel();
     _logicielCourant.CodeLogiciel = logiciel;
     _versionCourante              = new Entity.Version();
     _versionCourante.NumVersion   = numVersion;
     TachesProdAjoutees            = new ObservableCollection <TacheApercu>();
     NouvelleTache = new TacheApercu();
 }
예제 #2
0
        private static void RecupererVersionsFromDataReader(List <Entity.Version> listVersion, SqlDataReader reader)
        {
            Entity.Version vers = new Entity.Version();

            vers.NumVersion       = (float)reader["NumeroVersion"];
            vers.DateSortiePrevue = (DateTime)reader["DateSortiePrevue"];
            if (reader["DateSortieReelle"] != DBNull.Value)
            {
                vers.DateSortieReelle = (DateTime)reader["DateSortieReelle"];
            }
            vers.TempsTotalRealise = (double)reader["travaille"];
            vers.NombreReleases    = (int)reader["nbRelease"];

            listVersion.Add(vers);
        }
예제 #3
0
        /// <summary>
        /// Lecture du dataread retourné pr la requête SQL de récupération des logiciels et versions
        /// </summary>
        /// <param name="listLogiciel">Liste de logiciel</param>
        /// <param name="reader">donnée du reader</param>
        private static void RecupererLogicielsVersionsFromDataReader(List <Logiciel> listLogiciel, SqlDataReader reader)
        {
            string   codeLogiciel = (string)reader["CodeLogiciel"];
            Logiciel log          = null;

            if ((listLogiciel.Count == 0) || (listLogiciel.Last().CodeLogiciel != codeLogiciel))
            {
                log = new Logiciel();
                log.CodeLogiciel = (string)reader["CodeLogiciel"];
                log.NomLogiciel  = (string)reader["Nom"];

                log.Versions = new List <Entity.Version>();
                listLogiciel.Add(log);
            }
            else
            {
                log = listLogiciel.Last();
            }
            Entity.Version vers = new Entity.Version();
            vers.NumVersion = (float)reader["NumeroVersion"];
            log.Versions.Add(vers);
        }
예제 #4
0
파일: DAL.cs 프로젝트: fwillemain/ProjetWPF
        /// <summary>
        /// Rempli la liste passée en paramètre avec la liste des logiciels décrite dans le SqlDataReader
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="listSoftware"></param>
        private static void DataReaderToListSoftware(SqlDataReader reader, List <Software> listSoftware)
        {
            while (reader.Read())
            {
                // Si la liste des logiciels est vide ou si le logiciel change créer un nouveau logiciel
                if (!listSoftware.Any() || listSoftware.Last().Code != (string)reader["CodeLogiciel"])
                {
                    Software software = new Software()
                    {
                        Code        = (string)reader["CodeLogiciel"],
                        Name        = (string)reader["Nom"],
                        ListModule  = new List <Module>(),
                        ListVersion = new List <Entity.Version>()
                    };

                    listSoftware.Add(software);
                }

                Software currentSoftware = listSoftware.Last();

                // Si la liste des modules est vide ou si le module n'existe pas déjà créer un nouveau module
                if (!currentSoftware.ListModule.Any() || !currentSoftware.ListModule.Where(m => m.Code == (string)reader["CodeModule"]).Any())
                {
                    Module module = new Module()
                    {
                        Code          = (string)reader["CodeModule"],
                        Label         = (string)reader["Libelle"],
                        ListSubModule = new List <Module>()
                    };

                    // Si il s'agit d'un module l'ajouter à la liste des modules
                    if (reader["CodeModuleParent"] == DBNull.Value)
                    {
                        currentSoftware.ListModule.Add(module);
                    }
                    // Sinon, il s'agit d'un sous-module et on l'ajoute la liste des sous-module du module parent si il n'y est pas déjà
                    else
                    {
                        Module moduleParent = currentSoftware.ListModule.Where(m => m.Code == (string)reader["CodeModuleParent"]).First();

                        if (!moduleParent.ListSubModule.Where(sm => sm.Code == module.Code).Any())
                        {
                            moduleParent.ListSubModule.Add(module);
                        }
                    }
                }

                // Si la liste des versions est vide ou si la version n'existe pas déjà créer une nouvelle version
                if (!currentSoftware.ListVersion.Any() || !currentSoftware.ListVersion.Where(v => v.Number == (float)reader["NumeroVersion"]).Any())
                {
                    Entity.Version version = new Entity.Version()
                    {
                        Number               = (float)reader["NumeroVersion"],
                        Year                 = (short)reader["Millesime"],
                        SettingDate          = (DateTime)reader["DateOuverture"],
                        EstimatedReleaseDate = (DateTime)reader["DateSortiePrevue"],
                        ActualReleaseDate    = reader["DateSortieReelle"] != DBNull.Value ? (DateTime?)reader["DateSortieReelle"] : null,
                        NumberOfReleases     = (int)reader["NbRelease"]
                    };

                    currentSoftware.ListVersion.Add(version);
                }
            }
        }