Ejemplo n.º 1
0
        public JobProxy[] GetAll(JobProxy.Status status, JobProxy.CompletedStatus completedstatus, string sUserName)
        {
            List <JobProxy> jpList = new List <JobProxy>();

            {
                ListJobsFlags nFlags = ListJobsFlags.None;

                if (status != JobProxy.Status.undefined)
                {
                    nFlags |= ListJobsFlags.Status;
                }
                if (completedstatus != JobProxy.CompletedStatus.undefined)
                {
                    nFlags |= ListJobsFlags.CompletedStatus;
                }
                if (!string.IsNullOrEmpty(sUserName))
                {
                    nFlags |= ListJobsFlags.Owner;
                }

                string[] sIds = _DownloadJobsDataAccessAgent.ListJobs(sUserName, (int)status, (int)completedstatus, 0, nFlags);

                foreach (string sId in sIds)
                {
                    jpList.Add(new JobProxy(_DownloadJobsDataAccessAgent)
                    {
                        Id = int.Parse(sId)
                    });
                }
            }

            return(jpList.ToArray());
        }
Ejemplo n.º 2
0
        private JobProxy.CompletedStatus EncodeCompletedStatus(DownloadStatus downloadstatus)
        {
            JobProxy.CompletedStatus status = JobProxy.CompletedStatus.undefined;

            switch (downloadstatus)
            {
            case DownloadStatus.Completed:
            {
                status = JobProxy.CompletedStatus.success;
            }
            break;

            case DownloadStatus.Aborted:
            {
                status = JobProxy.CompletedStatus.aborted;
            }
            break;

            case DownloadStatus.Error:
            {
                status = JobProxy.CompletedStatus.failed;
            }
            break;
            }

            return(status);
        }
Ejemplo n.º 3
0
        public JobStatus[] GetJobStatus(
            string authenticationCookie,
            string[] JobsIds)
        {
            List <JobStatus> ds = new List <JobStatus>();
            JobProxy         jp = new JobProxy(_DownloadJobsDataAccessAgent);

            foreach (string JobId in JobsIds)
            {
                try
                {
                    JobProxy.Status          status          = JobProxy.Status.idle;
                    JobProxy.CompletedStatus completedstatus = JobProxy.CompletedStatus.failed;
                    string sError    = string.Empty;
                    string sUserData = string.Empty;

                    jp.Id = int.Parse(JobId);
                    jp.GetStatus(out status, out completedstatus, out sError, out sUserData);
                    ds.Add(new JobStatus()
                    {
                        Id = jp.Id.ToString(), Status = DecodeStatus(status, completedstatus), ErrorMessage = sError
                    });
                }
                catch (System.Exception)
                {
                    //move to next
                }
            }

            return(ds.ToArray());
        }
Ejemplo n.º 4
0
        private DownloadStatus DecodeStatus(JobProxy.Status status, JobProxy.CompletedStatus completedstatus)
        {
            DownloadStatus downloadstatus;

            switch (status)
            {
            case JobProxy.Status.idle:
            {
                downloadstatus = DownloadStatus.Idle;
            }
            break;

            case JobProxy.Status.pending:
            case JobProxy.Status.running:
            {
                downloadstatus = DownloadStatus.Started;
            }
            break;

            case JobProxy.Status.completed:
            {
                switch (completedstatus)
                {
                case JobProxy.CompletedStatus.success:
                {
                    downloadstatus = DownloadStatus.Completed;
                }
                break;

                case JobProxy.CompletedStatus.aborted:
                {
                    downloadstatus = DownloadStatus.Aborted;
                }
                break;

                case JobProxy.CompletedStatus.failed:
                {
                    downloadstatus = DownloadStatus.Error;
                }
                break;

                default:
                {
                    throw new Exception();
                }
                }
            }
            break;

            default:
            {
                throw new Exception();
            }
            }

            return(downloadstatus);
        }
Ejemplo n.º 5
0
        public void GetStatus(out JobProxy.Status status, out JobProxy.CompletedStatus completedstatus, out string sError, out string sUserData)
        {
            int nStatus;
            int nCompletedstatus;

            CheckHasId();
            _DownloadJobsDataAccessAgent.ReadJobStatus(Id, out nStatus, out nCompletedstatus, out sError, out sUserData);
            status          = (Status)nStatus;
            completedstatus = (CompletedStatus)nCompletedstatus;
        }
Ejemplo n.º 6
0
        public void GetAllDetails
        (
            out JobProxy.Status status,
            out JobProxy.CompletedStatus completedstatus,
            out string sError,
            out string sUserData,
            out string sOwner,
            out string PatientID,
            out string StudyInstanceUID,
            out string SeriesInstanceUID,
            out string SOPInstanceUID,
            out string ServerAE,
            out string ServerIP,
            out int ServerPort,
            out int ServerTimeout,
            out string ClientAE,
            out string MoveToClientAE,
            out string ClientIP,
            out int ClientPort
        )
        {
            string   sType;
            string   sObject;
            int      nStatus;
            int      nCompletedStatus;
            DateTime time;


            PatientID         = string.Empty;
            StudyInstanceUID  = string.Empty;
            SeriesInstanceUID = string.Empty;
            SOPInstanceUID    = string.Empty;

            ServerAE       = string.Empty;
            ServerIP       = string.Empty;
            ServerPort     = 0;
            ServerTimeout  = 0;
            ClientAE       = string.Empty;
            MoveToClientAE = string.Empty;
            ClientIP       = string.Empty;
            ClientPort     = 0;

            CheckHasId();

            _DownloadJobsDataAccessAgent.ReadJob(Id, out sType, out sObject, out nStatus, out nCompletedStatus, out time, out sError, out sUserData, out sOwner);

            status          = (Status)nStatus;
            completedstatus = (CompletedStatus)nCompletedStatus;

            using (MoveObjectsJob job = CreateJob(sType, sObject, sOwner))
            {
                ServerAE       = job.ServerAE;
                ServerIP       = job.ServerIP;
                ServerPort     = job.ServerPort;
                ServerTimeout  = job.ServerTimeout;
                ClientAE       = job.ClientAE;
                MoveToClientAE = job.MoveToClientAE;
                ClientIP       = job.ClientIP;
                ClientPort     = job.ClientPort;

                if (null != job.DataSet)
                {
                    ReverseDicomDatasetAdapter dataSetReader = new ReverseDicomDatasetAdapter()
                    {
                        query = job.DataSet
                    };

                    PatientID         = dataSetReader.PatientID;
                    StudyInstanceUID  = dataSetReader.StudyInstanceUID;
                    SeriesInstanceUID = dataSetReader.SeriesInstanceUID;
                    SOPInstanceUID    = dataSetReader.SOPInstanceUID;
                }
            }
        }
Ejemplo n.º 7
0
        public DownloadInfo UpdateDownloadInfoStatus(string sUserName, DownloadInfo info)
        {
            JobProxy.Status          status          = JobProxy.Status.idle;
            JobProxy.CompletedStatus completedstatus = JobProxy.CompletedStatus.failed;
            string sError    = string.Empty;
            string sUserData = string.Empty;
            string sOwner    = string.Empty;

            string PatientID         = string.Empty;
            string StudyInstanceUID  = string.Empty;
            string SeriesInstanceUID = string.Empty;
            string SOPInstanceUID    = string.Empty;
            string ServerAE          = string.Empty;
            string ServerIP          = string.Empty;
            int    ServerPort        = 0;
            int    ServerTimeout     = 0;
            string ClientAE          = string.Empty;
            string MoveToClientAE    = string.Empty;
            string ClientIP          = string.Empty;
            int    ClientPort        = 0;

            JobProxy jp = new JobProxy(_DownloadJobsDataAccessAgent)
            {
                Id = int.Parse(info.Id)
            };

            //mini status
            //jp.GetStatus(out status, out completedstatus, out sError, out sUserData);

            //whole status
            jp.GetAllDetails
            (
                out status,
                out completedstatus,
                out sError,
                out sUserData,
                out sOwner,
                out PatientID,
                out StudyInstanceUID,
                out SeriesInstanceUID,
                out SOPInstanceUID,
                out ServerAE,
                out ServerIP,
                out ServerPort,
                out ServerTimeout,
                out ClientAE,
                out MoveToClientAE,
                out ClientIP,
                out ClientPort
            );

            return(new DownloadInfo()
            {
                Id = info.Id,
                Status = DecodeStatus(status, completedstatus),
                ErrorMessage = sError,
                UserData = sUserData,

                PatientID = PatientID,
                StudyInstanceUID = StudyInstanceUID,
                SeriesInstanceUID = SeriesInstanceUID,
                SOPInstanceUID = SOPInstanceUID,

                Server = new PACSConnection()
                {
                    IPAddress = ServerIP,
                    Port = ServerPort,
                    AETitle = ServerAE
                },

                Client = new ClientConnection()
                {
                    AETitle = ClientAE
                }
            });
        }