Example #1
0
        /// <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);
        }
Example #2
0
 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>()
     };
 }
Example #3
0
        /// <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);
                }
            }
        }