Exemplo n.º 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;
            }
        }
Exemplo n.º 2
0
        public void GetCase(string source, string caseID, out CaseObject caseObj, bool IsCaseEditable)
        {
            //request DataSourceAccess to return translated CaseObj.
            caseObj = m_dataSourceAccess.RequestCase(source, caseID, IsCaseEditable);

            //send RequestFile message to DataSourceAccess to retrieve additional information
            //that is part of the CaseObj
            if (caseObj.attachments.Count > 0)
            {
                foreach (DataAttachment xCaseAttachment in caseObj.attachments)
                {
                    FileType fileType = FileType.None;
                    if (xCaseAttachment.attachmentType == AttachmentType.FTIImage)
                    {
                        fileType = FileType.FTIFile;
                    }

                    Stream FileData = m_dataSourceAccess.RequestFile(source, caseObj.CaseId, xCaseAttachment.attachmentId, fileType);
                    xCaseAttachment.attachmentData = new MemoryStream();
                    FileData.CopyTo(xCaseAttachment.attachmentData);
                    xCaseAttachment.attachmentData.Seek(0, SeekOrigin.Begin);
                }
            }

            foreach (DataAttachment attach in caseObj.attachments.GetEventHistoryAttachments())
            {
                caseObj.EventRecords = new List <CaseObject.CaseEventRecord>();
                caseObj.EventRecords = EventHistoryTranslator.Translate(attach.attachmentData);
            }

            foreach (DataAttachment analysisHistory in caseObj.attachments.GetHistoryAttachments())
            {
                caseObj.CaseHistories = HistoryTranslator.Translate(analysisHistory);
            }

            caseObj.SourceAlias = source;

            //add case to the case collection
            m_caseCollection.Add(caseObj);
        }