예제 #1
0
        public void DeletePackage(Package iPackage)
        {
            if (iPackage == null)
            {
                throw new Exception("Le package est null");
            }

            var originalPackage = GetPackageById(iPackage.PackageId, GranularityEnum.Full);

            if (originalPackage == null)
            {
                throw new Exception("Le package est null");
            }

            if (iPackage.Status != originalPackage.Status)
            {
                throw new Exception("La fonction n'est pas supportée pour le changement de statut");
            }

            if (iPackage.Status != PackageStatusEnum.Waiting && iPackage.Status != PackageStatusEnum.Developpement)
            {
                throw new Exception("Le statut du package ne permet pas sa suppression");
            }

            if (originalPackage.MainTasks.IsNotNullAndNotEmpty())
            {
                throw new Exception("Le package ne doit pas contenir de tâche pour être supprimé");
            }

            DBReleaseDataService.DeletePackage(originalPackage.PackageId);
        }