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