コード例 #1
0
        public ActionResult Schedule(int id, int environmentid)
        {
            Environment environment = this.Entities.Environment
                                      .Include("Properties")
                                      .First(e => e.Id == environmentid);

            if (environment.GetBoolProperty("AllowTestDeployment"))
            {
                this.CheckPermission(UserRoleAction.ReleasePublishTest);
            }
            else
            {
                this.CheckPermission(UserRoleAction.ReleasePublishLive);
            }

            Package package = this.Entities.Package.First(p => p.Id == id);

            Publication publication = new Publication();

            publication.CreatedDate   = DateTime.UtcNow;
            publication.EnvironmentId = environmentid;
            publication.PackageId     = id;
            publication.State         = PublicationState.Queued;

            this.Entities.Publication.Add(publication);
            this.Entities.SaveChanges();

            return(this.RedirectToAction("VersionPackages", "Bundles", new { id = package.BundleVersionId }));
        }
コード例 #2
0
        public ActionResult Approve(int id, int environmentid)
        {
            Package package = this.Entities.Package
                              .Include("ApprovedOnEnvironments")
                              .First(p => p.Id == id);

            Environment environment = this.Entities.Environment.First(e => e.Id == environmentid);

            if (!environment.GetBoolProperty("AllowTestDeployment", false))
            {
                this.CheckPermission(UserRoleAction.ReleaseApprove);
            }

            if (package.ApprovedOnEnvironments.Any(a => a.Environment == environment))
            {
                return(this.RedirectToAction("Details", new { id }));
            }

            PackageApprovedOnEnvironment onEnvironment = new PackageApprovedOnEnvironment();

            onEnvironment.Package          = package;
            onEnvironment.Environment      = environment;
            onEnvironment.ApprovedDate     = DateTime.UtcNow;
            onEnvironment.ApprovedByUserId = this.ActiveUser.Id;

            this.Entities.PackageApprovedOnEnvironment.Add(onEnvironment);
            this.Entities.SaveChanges();

            return(this.RedirectToAction("Details", new { id }));
        }
コード例 #3
0
        public ActionResult Reject(int id, int environmentid)
        {
            Package package = this.Entities.Package
                              .Include("ApprovedOnEnvironments.ApprovedBy")
                              .First(p => p.Id == id);

            Environment environment = this.Entities.Environment.First(e => e.Id == environmentid);

            if (!environment.GetBoolProperty("AllowTestDeployment", false))
            {
                this.CheckPermission(UserRoleAction.ReleaseApprove);
            }

            PackageApprovedOnEnvironment packageApprovedOnEnvironment = package.ApprovedOnEnvironments.FirstOrDefault(a => a.Environment == environment);

            if (packageApprovedOnEnvironment == null)
            {
                return(this.RedirectToAction("Details", new { id }));
            }

            this.Entities.PackageApprovedOnEnvironment.Remove(packageApprovedOnEnvironment);
            this.Entities.SaveChanges();

            return(this.RedirectToAction("Details", new { id }));
        }