Exemplo n.º 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);
        }
Exemplo n.º 2
0
        public long AddSubTask(SubTask iSubTask)
        {
            if (iSubTask == null)
            {
                throw new Exception("La sous tâche est nulle");
            }

            //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'une sous tâche requiert que la tâche soit en cours");
            }

            if (mainTask.Status != EquinoxeExtend.Shared.Enum.MainTaskStatusEnum.Dev &&
                mainTask.Status != EquinoxeExtend.Shared.Enum.MainTaskStatusEnum.Waiting)
            {
                throw new Exception("L'ajout d'une sous tâche n'est pas possible pour ce status de tâche");
            }

            //Validation des superpositions de package
            if (iSubTask.ProjectGUID != null)
            {
                if (!IsProjectCanJoinThisMainTask(mainTask.MainTaskId, (Guid)iSubTask.ProjectGUID))
                {
                    throw new Exception("Ce projet est déjà utilisé dans une tâche en cours");
                }
            }

            var entity = new T_E_SubTask();

            entity.Merge(iSubTask);
            return(DBReleaseDataService.AddSubTask(entity));
        }
 public static void Merge(this T_E_SubTask iEntity, SubTask iObj)
 {
     iEntity.Comments       = iObj.Comments;
     iEntity.Designation    = iObj.Designation;
     iEntity.DevelopperGUID = iObj.DevelopperGUID;
     iEntity.Duration       = iObj.Duration;
     iEntity.MainTaskId     = iObj.MainTaskId;
     iEntity.Progression    = iObj.Progression;
     iEntity.ProjectGUID    = iObj.ProjectGUID;
     iEntity.SubTaskId      = iObj.SubTaskId;
     iEntity.Start          = iObj.Start;
 }
        public static SubTask Convert(this T_E_SubTask iEntity)
        {
            if (iEntity == null)
            {
                return(null);
            }

            return(new SubTask
            {
                Comments = iEntity.Comments,
                Designation = iEntity.Designation,
                DevelopperGUID = iEntity.DevelopperGUID,
                Duration = iEntity.Duration,
                MainTaskId = iEntity.MainTaskId,
                Progression = iEntity.Progression,
                ProjectGUID = iEntity.ProjectGUID,
                SubTaskId = iEntity.SubTaskId,
                Start = iEntity.Start,
            });
        }