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(); }
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); }
/// <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); }
/// <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); } } }