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