/// <summary> /// Ajoute des taches à l'employee passé en paramètre /// </summary> /// <param name="employee"></param> private void AddTaskToEmployee(Employee employee) { TaskProd taskProd = new TaskProd() { Id = Guid.NewGuid(), Activity = new Activity() { Code = "ANF" }, EstimatedRemainingTime = 0, Label = "Tache prod 1", Module = new Module() { Code = "SEPARATION" }, PredictedTime = 10, Software = new Software() { Code = "GENOMICA" }, Version = new JobOverview.Entity.Version() { Number = 1.0F }, ListWorkTime = new ObservableCollection <WorkTime>() }; Task taskAnx = new Task() { Id = Guid.NewGuid(), Activity = new Activity() { Code = "APPUI_AUTRE_SERV", IsAnnex = true }, Label = "Tache anx 1", ListWorkTime = new ObservableCollection <WorkTime>(), }; employee.ListTask.Add(taskProd); employee.ListTask.Add(taskAnx); }
private void AddTask() { if (!SelectedActivity.IsAnnex) { CurrentTask = new TaskProd() { Id = CurrentTask.Id, ListWorkTime = new ObservableCollection <WorkTime>(), Label = CurrentTask.Label, Description = CurrentTask.Description, Software = SelectedSoftware, Version = SelectedVersion, Module = SelectedModule, PredictedTime = float.Parse(SelectedPredictedTime), EstimatedRemainingTime = float.Parse(SelectedPredictedTime) }; } CurrentTask.Activity = SelectedActivity; CurrentEmployee.ListTask.Add(CurrentTask); CurrentTask = new Entity.Task() { Id = Guid.NewGuid(), Activity = new Activity(), ListWorkTime = new ObservableCollection <WorkTime>() }; }
/// <summary> /// Rempli la liste passée en paramètre avec la liste de taches décrite dans le SqlDataReader /// </summary> /// <param name="reader"></param> /// <param name="listTask"></param> private static void DataReaderToListTask(SqlDataReader reader, List <Entity.Task> listTask) { while (reader.Read()) { // Si la liste des taches de l'employé courrant est vide ou si la tache est déjà dans la liste ajouter une nouvelle activité if (!listTask.Any() || !listTask.Where(t => t.Id == (Guid)reader["IdTache"]).Any()) { Entity.Task task; if ((bool)reader["Annexe"]) { task = new Entity.Task(); } else { task = new TaskProd() { Number = (int)reader["Numero"], EstimatedRemainingTime = (float)reader["DureeRestanteEstimee"], PredictedTime = (float)reader["DureePrevue"], Module = new Module() { Code = (string)reader["CodeModule"] }, Version = new Entity.Version() { Number = (float)reader["NumeroVersion"] }, Software = new Software() { Code = (string)reader["CodeLogiciel"] } }; } task.Id = (Guid)reader["IdTache"]; if (reader["Description"] != DBNull.Value) { task.Description = (string)reader["Description"]; } task.Label = (string)reader["Libelle"]; task.Activity = new Activity() { Code = (string)reader["CodeActiviteTache"], Label = (string)reader["LibelleActiviteTache"], IsAnnex = (bool)reader["AnnexeActiviteTache"] }; task.ListWorkTime = new ObservableCollection <WorkTime>(); listTask.Add(task); } // Si il n'y a pas de temps de travail à ajouter, passer à la ligne suivante if (reader["DateTravail"] == DBNull.Value) { continue; } Entity.Task currentTask = listTask.Where(t => t.Id == (Guid)reader["IdTache"]).First(); // Si la liste des temps de travail de la tache courrante est vide ou si la date du temps de travail // est différente de celle du temps de travail précédent, ajouter un nouveau temps de travail if (!currentTask.ListWorkTime.Any() || currentTask.ListWorkTime.Last().WorkingDate != (DateTime)reader["DateTravail"]) { WorkTime workTime = new WorkTime() { Hours = (float)reader["Heures"], Productivity = (float)reader["TauxProductivite"], WorkingDate = (DateTime)reader["DateTravail"] }; currentTask.ListWorkTime.Add(workTime); } } }