示例#1
0
        private void UpdateEventRecords(CaseObject caseObject)
        {
            if (caseObject.EventRecordsModified)
            {
                DataAttachment dataAttachment = null;
                foreach (DataAttachment attachment in caseObject.attachments.GetEventHistoryAttachments())
                {
                    if (attachment.attachmentType == AttachmentType.EVENT_HISTORY)
                    {
                        dataAttachment = attachment;
                        break;
                    }
                }

                if (dataAttachment == null)
                {
                    dataAttachment = new DataAttachment();
                    dataAttachment.attachmentId   = "events.xml";
                    dataAttachment.attachmentType = AttachmentType.EVENT_HISTORY;
                    dataAttachment.CreateTime     = CultureResources.ConvertDateTimeToStringForData(DateTime.Now);
                }

                dataAttachment.attachmentData = (MemoryStream)EventHistoryTranslator.Translate(caseObject.EventRecords, dataAttachment.attachmentData);
                dataAttachment.IsNew          = true;
                caseObject.NewAttachments.Add(dataAttachment);

                caseObject.EventRecordsModified = false;
            }
        }
示例#2
0
        private void UpdateCaseHistory(CaseObject caseObject)
        {
            DataAttachment dataAttachment = null;

            foreach (DataAttachment attachment in caseObject.attachments.GetHistoryAttachments())
            {
                if (attachment.attachmentType == AttachmentType.History)
                {
                    dataAttachment = attachment;
                    break;
                }
            }

            if (dataAttachment == null)
            {
                dataAttachment = new DataAttachment();
                dataAttachment.attachmentId   = "History.xml";
                dataAttachment.attachmentType = AttachmentType.History;
                dataAttachment.CreateTime     = CultureResources.ConvertDateTimeToStringForData(DateTime.Now);
            }

            dataAttachment.attachmentData = (MemoryStream)HistoryTranslator.Translate(caseObject.CaseHistories);
            dataAttachment.IsNew          = true;
            caseObject.NewAttachments.Add(dataAttachment);
        }
示例#3
0
        private void AddAttachmentOKBtn_Click(object sender, RoutedEventArgs e)
        {
            if (m_AddAttachmentFileNameWithPath != null)
            {
                DataAttachment attachment = new DataAttachment();

                if (m_AddAttachmentFileType == "NuclearIsotopeAnalysis")
                {
                    attachment.attachmentType = AttachmentType.NUC;
                }
                else if (m_AddAttachmentFileType == "GammaNeutronProfile")
                {
                    attachment.attachmentType = AttachmentType.SNM;
                }
                else if (m_AddAttachmentFileType == "OCRImage")
                {
                    attachment.attachmentType = AttachmentType.OCR;
                }
                else
                {
                    attachment.attachmentType = AttachmentType.Unknown;
                }

                attachment.attachmentId = m_AddAttachmentFileNameWithPath.Substring(m_AddAttachmentFileNameWithPath.LastIndexOf("\\") + 1);
                FileStream strm = File.OpenRead(m_AddAttachmentFileNameWithPath);
                attachment.attachmentData = new MemoryStream();
                attachment.CreateTime     = CultureResources.ConvertDateTimeToStringForData(DateTime.Now);
                strm.CopyTo(attachment.attachmentData);
                attachment.attachmentData.Seek(0, SeekOrigin.Begin);
                strm.Close();
                attachment.IsNew = true;

                m_CaseObj.NewAttachments.Add(attachment);
                //m_CaseObj.attachments.Add(attachment);
                CaseObject.CaseEventRecord eventRc = new CaseObject.CaseEventRecord(DateTime.Now, "manually added attachment - " +
                                                                                    attachment.attachmentType.ToString() + ", " + attachment.attachmentId, true);
                m_EventRecords.Add(eventRc);
                //m_CaseObj.EventRecords.Add(eventRc);
                //m_CaseObj.EventRecordsModified = true;
                AddAttachmentPopup.IsOpen  = false;
                RemoveAttachBtn.Visibility = System.Windows.Visibility.Visible;
                AddAttachmentPopup.IsOpen  = false;
                m_saveDlg = null;
                m_AddAttachmentFileNameWithPath = null;
            }
        }
示例#4
0
        private void Decision_Btn_Click(object sender, RoutedEventArgs e)
        {
            DecisionSelection_Popup.IsOpen = false;

            try
            {
                WorkstationDecision decision;

                switch (DecisionComboBox.SelectedIndex)
                {
                case 0:
                    decision = WorkstationDecision.Clear;
                    break;

                case 1:
                    decision = WorkstationDecision.Reject;
                    break;

                case 2:
                    decision = WorkstationDecision.Caution;
                    break;

                default:
                    decision = WorkstationDecision.Unknown;
                    break;
                }

                TimeSpan analysisTime = DateTime.Now.Subtract(m_CaseObject.AnalysisStartTime);

                m_CaseObject.WorkstationResult = new result(decision.ToString(),
                                                            ReasonComboBox.SelectedIndex.ToString(),
                                                            CultureResources.ConvertDateTimeToStringForData(DateTime.Now),
                                                            m_SysConfigMgr.GetDefaultConfig().Profile.UserName,
                                                            CommentTextBox.Text,
                                                            m_SysConfigMgr.GetDefaultConfig().WorkstationMode,
                                                            analysisTime.Seconds.ToString(CultureResources.getDefaultDisplayCulture()),
                                                            m_CaseObject.CaseId,
                                                            m_CaseObject.caseType,
                                                            m_SysConfigMgr.GetDefaultConfig().WorkstationAlias);

                try
                {
                    CloseCase(m_CaseObject.SourceAlias, m_CaseObject.CaseId, CaseUpdateEnum.Result);
                }
                catch
                {
                }

                if (m_CaseObject.caseType == Common.CaseType.CTICase ||
                    m_CaseObject.caseType == Common.CaseType.FTICase)
                {
                    m_CaseObject.DisplayTIP();
                }

                if (m_SysConfigMgr.GetDefaultConfig().AutoSelectPendingCasesEnabled)
                {
                    m_SysConfigMgr.GetDefaultConfig().SelectedArchiveDuringAutoSelect = false;
                }

                CloseCase(m_CaseObject.SourceAlias, m_CaseObject.CaseId, CaseUpdateEnum.ReleaseCase);

                CommentTextBox.Text           = String.Empty;
                DecisionComboBox.SelectedItem = Clear;
                ReasonComboBox.SelectedItem   = NotApplicable;
                DecisionButton.Visibility     = Visibility.Collapsed;
                m_CaseObject = null;
            }
            catch (Exception ex)
            {
                //TODO: Log Error Message here
                MessageBox.Show(ex.Message);
            }
        }
示例#5
0
        private void CloseCase(CaseObject caseObject)
        {
            m_dataSourceAccess.UpdateCase(caseObject.SourceAlias, caseObject.CaseId, CaseUpdateEnum.CloseCase,
                                          null, null, AttachFileTypeEnum.Unknown, null, null, null, CultureResources.ConvertDateTimeToStringForData(caseObject.AnalysisStartTime), (Communications.Interfaces.CaseType)caseObject.caseType);

            m_caseCollection.Remove(caseObject);
        }
示例#6
0
        private void UpdateCaseAttachments(CaseObject caseObject)
        {
            foreach (DataAttachment attachment in caseObject.NewAttachments)
            {
                AttachFileTypeEnum fileEnum;

                switch (attachment.attachmentType)
                {
                case AttachmentType.Annotations:
                    fileEnum = AttachFileTypeEnum.Annotations;
                    break;

                case AttachmentType.EVENT_HISTORY:
                    fileEnum = AttachFileTypeEnum.EVENT_HISTORY;
                    break;

                case AttachmentType.History:
                    fileEnum = AttachFileTypeEnum.History;
                    break;

                case AttachmentType.Manifest:
                    fileEnum = AttachFileTypeEnum.Manifest;
                    break;

                case AttachmentType.NUC:
                    fileEnum = AttachFileTypeEnum.NUC;
                    break;

                case AttachmentType.OCR:
                    fileEnum = AttachFileTypeEnum.OCR;
                    break;

                case AttachmentType.SNM:
                    fileEnum = AttachFileTypeEnum.SNM;
                    break;

                case AttachmentType.TDSResultFile:
                    fileEnum = AttachFileTypeEnum.TDSResultFile;
                    break;

                case AttachmentType.XRayImage:
                    fileEnum = AttachFileTypeEnum.XRayImage;
                    break;

                default:
                    fileEnum = AttachFileTypeEnum.Unknown;
                    break;
                }

                SysConfiguration sysConfig = m_SysConfigMgrAccess.GetConfig(caseObject.SourceAlias);

                if (sysConfig == null)
                {
                    sysConfig = m_SysConfigMgrAccess.GetDefaultConfig();
                }

                attachment.attachmentData.Seek(0, SeekOrigin.Begin);

                string userName = "******";

                if (m_SysConfigMgrAccess.GetDefaultConfig().Profile != null &&
                    !String.IsNullOrWhiteSpace(m_SysConfigMgrAccess.GetDefaultConfig().Profile.UserName))
                {
                    userName = m_SysConfigMgrAccess.GetDefaultConfig().Profile.UserName;
                }

                m_dataSourceAccess.UpdateCase(caseObject.SourceAlias, caseObject.CaseId,
                                              CaseUpdateEnum.AttachFile, attachment.attachmentId, attachment.attachmentData, fileEnum, null, string.Empty, userName, CultureResources.ConvertDateTimeToStringForData(DateTime.Now), (Communications.Interfaces.CaseType)caseObject.caseType);
            }

            caseObject.NewAttachments.Clear();
        }
示例#7
0
        private void UpdateCaseContainerId(CaseObject caseObject)
        {
            if (caseObject.ScanContainerIdModified)
            {
                m_dataSourceAccess.UpdateCase(caseObject.SourceAlias, caseObject.CaseId, CaseUpdateEnum.ObjectID, null, null, AttachFileTypeEnum.Unknown, null,
                                              caseObject.scanInfo.container.Id, null, CultureResources.ConvertDateTimeToStringForData(DateTime.Now), (Communications.Interfaces.CaseType)caseObject.caseType);

                caseObject.ScanContainerIdModified = false;
            }
        }
示例#8
0
        public void Dispose()
        {
            _PxeAccess.Dispose();

            AlgClientInstances.InstanceNumber--;

            m_HistogramDisplay.Dispose();

            if (m_Annotations == null)
            {
                m_Annotations = new Dictionary <string, List <AnnotationInfo> >();
            }
            else
            {
                m_Annotations.Clear();
            }

            if (m_XrayImage != null)
            {
                foreach (XRayImage image in m_XrayImage)
                {
                    if (!m_Annotations.ContainsKey(image.ViewName))
                    {
                        List <Annotation>     annots = image.GetAnnotations();
                        List <AnnotationInfo> infos  = new List <AnnotationInfo>();
                        foreach (Annotation ann in annots)
                        {
                            infos.Add(new AnnotationInfo(ann.Marking.Rect.TopLeft, ann.Marking.Rect.Width, ann.Marking.Rect.Height, ann.Marking.RadiusX, ann.Marking.RadiusY, ann.CommentText));
                        }
                        m_Annotations.Add(image.ViewName, infos);
                    }
                }
            }

            if (Displays != null)
            {
                foreach (LayoutInfo layoutInfo in Displays)
                {
                    UserControl1 userControl1 = layoutInfo.Display as UserControl1;

                    if (userControl1 != null)
                    {
                        userControl1.Dispose();
                    }
                    else
                    {
                        HistogramDisplay histogramDisplay = layoutInfo.Display as HistogramDisplay;

                        if (histogramDisplay != null)
                        {
                            histogramDisplay.Dispose();
                        }
                    }
                }

                Displays.Clear();
            }

            DataAttachment dataAttachment = null;

            foreach (DataAttachment attachment in m_CaseObj.attachments.GetAnnotationsAttachments())
            {
                dataAttachment = attachment;
                break;
            }

            if (dataAttachment == null)
            {
                dataAttachment = new DataAttachment();
                dataAttachment.attachmentId   = "Annotations.xml";
                dataAttachment.attachmentType = AttachmentType.Annotations;
                dataAttachment.CreateTime     = CultureResources.ConvertDateTimeToStringForData(DateTime.Now);
            }

            dataAttachment.attachmentData = (MemoryStream)AnnotationsTranslator.CreateXML(m_Annotations);
            dataAttachment.IsNew          = true;
            m_CaseObj.NewAttachments.Add(dataAttachment);

            m_statusBarItems.StatusDisplay.Clear();
            m_statusBarItems = null;
            m_CaseObj        = null;
        }