Beispiel #1
0
        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 });
        }
Beispiel #2
0
        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();
        }