public MessageTrace Read(Guid organizationalUnitRoot, Guid exMessageId) { if (exMessageId == Guid.Empty) { throw new ArgumentNullException("exMessageId"); } MessageTraceDataSet messageTraceDataSet = (MessageTraceDataSet)this.DataProvider.Find <MessageTraceDataSet>(MessageTraceSession.BuildQueryFilter(organizationalUnitRoot, exMessageId), null, false, null).FirstOrDefault <IConfigurable>(); if (messageTraceDataSet == null) { return(null); } return(messageTraceDataSet.ConvertToMessageTraceObject()); }
public MessageTrace ConvertToMessageTraceObject() { Dictionary <Guid, MessageAction> dictionary = new Dictionary <Guid, MessageAction>(); Dictionary <Guid, MessageClassification> dict = new Dictionary <Guid, MessageClassification>(); Dictionary <Guid, MessageClientInformation> dict2 = new Dictionary <Guid, MessageClientInformation>(); Dictionary <Guid, MessageEvent> dictionary2 = new Dictionary <Guid, MessageEvent>(); Dictionary <Guid, MessageEventRule> dictionary3 = new Dictionary <Guid, MessageEventRule>(); Dictionary <Guid, MessageEventRuleClassification> dictionary4 = new Dictionary <Guid, MessageEventRuleClassification>(); Dictionary <Guid, MessageEventSourceItem> dictionary5 = new Dictionary <Guid, MessageEventSourceItem>(); Dictionary <Guid, MessageRecipient> dict3 = new Dictionary <Guid, MessageRecipient>(); Dictionary <Guid, MessageRecipientStatus> dictionary6 = new Dictionary <Guid, MessageRecipientStatus>(); MessageTraceEntityBase[] array = this.LoadConfigurables <MessageTrace>(MessageTraceDataSetSchema.MessagesTableProperty); MessageTrace messageTrace = null; if (array != null && array.Length > 0) { messageTrace = (array.FirstOrDefault <MessageTraceEntityBase>() as MessageTrace); } if (messageTrace == null) { return(null); } MessageTraceEntityBase[] messageProperties = this.LoadConfigurables <MessageProperty>(MessageTraceDataSetSchema.MessagePropertiesTableProperty); MessageTraceEntityBase[] msgActions = this.LoadConfigurables <MessageAction>(MessageTraceDataSetSchema.MessageActionTableProperty); MessageTraceEntityBase[] msgActionProperties = this.LoadConfigurables <MessageActionProperty>(MessageTraceDataSetSchema.MessageActionPropertiesTableProperty); MessageTraceEntityBase[] msgClassifications = this.LoadConfigurables <MessageClassification>(MessageTraceDataSetSchema.MessageClassificationsTableProperty); MessageTraceEntityBase[] msgClassificationProperties = this.LoadConfigurables <MessageClassificationProperty>(MessageTraceDataSetSchema.MessageClassificationPropertiesTableProperty); MessageTraceEntityBase[] msgClientInformation = this.LoadConfigurables <MessageClientInformation>(MessageTraceDataSetSchema.MessageClientInformationTableProperty); MessageTraceEntityBase[] msgClientInformationProperties = this.LoadConfigurables <MessageClientInformationProperty>(MessageTraceDataSetSchema.MessageClientInformationPropertiesTableProperty); MessageTraceEntityBase[] msgEvents = this.LoadConfigurables <MessageEvent>(MessageTraceDataSetSchema.MessageEventsTableProperty); MessageTraceEntityBase[] eventProperties = this.LoadConfigurables <MessageEventProperty>(MessageTraceDataSetSchema.MessageEventPropertiesTableProperty); MessageTraceEntityBase[] eventRules = this.LoadConfigurables <MessageEventRule>(MessageTraceDataSetSchema.MessageEventRulesTableProperty); MessageTraceEntityBase[] msgEventRuleProperties = this.LoadConfigurables <MessageEventRuleProperty>(MessageTraceDataSetSchema.MessageEventRulePropertiesTableProperty); MessageTraceEntityBase[] msgEventRuleClassifications = this.LoadConfigurables <MessageEventRuleClassification>(MessageTraceDataSetSchema.MessageEventRuleClassificationsTableProperty); MessageTraceEntityBase[] msgEventRuleClassificationProperties = this.LoadConfigurables <MessageEventRuleClassificationProperty>(MessageTraceDataSetSchema.MessageEventRuleClassificationPropertiesTableProperty); MessageTraceEntityBase[] eventSourceItems = this.LoadConfigurables <MessageEventSourceItem>(MessageTraceDataSetSchema.MessageEventSourceItemsTableProperty); MessageTraceEntityBase[] msgEventSourceItemProperties = this.LoadConfigurables <MessageEventSourceItemProperty>(MessageTraceDataSetSchema.MessageEventSourceItemPropertiesTableProperty); MessageTraceEntityBase[] msgRecipients = this.LoadConfigurables <MessageRecipient>(MessageTraceDataSetSchema.MessageRecipientsTableProperty); MessageTraceEntityBase[] recipientProperties = this.LoadConfigurables <MessageRecipientProperty>(MessageTraceDataSetSchema.MessageRecipientPropertiesTableProperty); MessageTraceEntityBase[] msgRecipientStatuses = this.LoadConfigurables <MessageRecipientStatus>(MessageTraceDataSetSchema.MessageRecipientStatusTableProperty); MessageTraceEntityBase[] msgRecipientStatusProperties = this.LoadConfigurables <MessageRecipientStatusProperty>(MessageTraceDataSetSchema.MessageRecipientStatusPropertiesTableProperty); MessageTraceDataSet.AddMessageProperties(messageProperties, messageTrace); MessageTraceDataSet.AddClassifications(msgClassifications, messageTrace, dict); MessageTraceDataSet.AddClassificationProperties(msgClassificationProperties, dict); MessageTraceDataSet.AddClientInformation(msgClientInformation, messageTrace, dict2); MessageTraceDataSet.AddClientInformationProperties(msgClientInformationProperties, dict2); MessageTraceDataSet.AddEvents(msgEvents, messageTrace, dictionary2); MessageTraceDataSet.AddEventPropertiesToEvents(eventProperties, dictionary2); MessageTraceDataSet.AddEventRules(eventRules, dictionary2, dictionary3); MessageTraceDataSet.AddEventRuleProperties(msgEventRuleProperties, dictionary3); MessageTraceDataSet.AddEventRuleClassifications(msgEventRuleClassifications, dictionary3, dictionary4); MessageTraceDataSet.AddEventRuleClassificationProperties(msgEventRuleClassificationProperties, dictionary4); MessageTraceDataSet.AddActions(msgActions, dictionary3, dictionary); MessageTraceDataSet.AddActionProperties(msgActionProperties, dictionary); MessageTraceDataSet.AddEventSourceItems(eventSourceItems, dictionary2, dictionary5); MessageTraceDataSet.AddEventSourceItemProperties(msgEventSourceItemProperties, dictionary5); MessageTraceDataSet.AddRecipients(msgRecipients, messageTrace, dict3); MessageTraceDataSet.AddRecipientPropertiesToRecipients(recipientProperties, dict3); MessageTraceDataSet.AddRecipientStatuses(msgRecipientStatuses, dictionary6, dictionary2); MessageTraceDataSet.AddRecipientStatusProperties(msgRecipientStatusProperties, dictionary6); return(messageTrace); }