Пример #1
0
        public void UpdateSubTask(SubTask iSubTask)
        {
            if (iSubTask == null)
            {
                throw new Exception("La sous tâche est null");
            }
            if (iSubTask.SubTaskId < 1)
            {
                throw new Exception("L'id de la sous tâche est invalide");
            }

            //Vérification que le projet est toujours le même
            var originalSubTask = DBReleaseDataService.GetSubTask(iSubTask.SubTaskId);

            if (originalSubTask.ProjectGUID != iSubTask.ProjectGUID)
            {
                throw new Exception("Le projet d'une tâche de projet ne peut pas être modifiée");
            }

            //Validation des conditions
            var mainTask = GetMainTaskById(iSubTask.MainTaskId, Library.Tools.Enums.GranularityEnum.Nude);

            if (mainTask.Status != EquinoxeExtend.Shared.Enum.MainTaskStatusEnum.Dev && iSubTask.Progression != 0)
            {
                throw new Exception("L'avancement d'un sous tâche requiert que la tâche soit en cours");
            }

            var entity = new T_E_SubTask();

            entity.Merge(iSubTask);
            DBReleaseDataService.UpdateSubTask(entity);
        }