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); }
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); }