public IHttpActionResult GetStatus([FromODataUri] string name) { var descriptor = SsisServiceHelper.SsisJobDescriptors[name]; var application = new Application(); var runningPackages = application.GetRunningPackages(null); if (runningPackages != null && runningPackages.Count > 0) { foreach (var packageName in descriptor.PackageNames) { if (runningPackages.Cast<RunningPackage>().Any(p => StringComparer.OrdinalIgnoreCase.Compare(p.PackageName, packageName) == 0)) { return Ok(new JobStatusResult() { Status = JobStatus.Running }); } } } return Ok(new JobStatusResult() { Status = JobStatus.Completed }); }
public IHttpActionResult Stop(ODataActionParameters parameters) { if (!ModelState.IsValid) { return BadRequest(ModelState); } var name = (string)parameters["name"]; var descriptor = SsisServiceHelper.SsisJobDescriptors[name]; var application = new Application(); var runningPackages = application.GetRunningPackages(null); if (runningPackages != null) { foreach (var packageName in descriptor.PackageNames) { var packages = runningPackages.Cast<RunningPackage>().Where(p => StringComparer.OrdinalIgnoreCase.Compare(p.PackageName, packageName) == 0); foreach (var package in packages) { package.Stop(); } } } return Ok(); }