/// <summary> /// Initialize the GUI. /// </summary> /// <param name="parameter"></param> protected override void InitializeData(object parameter) { settlementLetter = null; Guid consumerTrustSettlementId = (Guid)parameter; if ((consumerTrustSettlementId != null) && (consumerTrustSettlementId != Guid.Empty)) { // Lock the data model to extract information from the settlementRow. lock (DataModel.SyncRoot) { ConsumerTrustSettlementRow consumerTrustSettlementRow = DataModel.ConsumerTrustSettlement.ConsumerTrustSettlementKey.Find(consumerTrustSettlementId); if (!consumerTrustSettlementRow.IsSettlementLetterNull()) { settlementLetter = Convert.FromBase64String(consumerTrustSettlementRow.SettlementLetter); } } // Dispatch to foreground thread for updating the GUI. if (settlementLetter != null) { this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new SettlementLetterHandler(UpdateConsole), settlementLetter); } currentConsumerTrustSettlementId = consumerTrustSettlementId; } else { //Clear out when switching between Debt Classes. if ((IsLetterLoaded) && (consumerTrustSettlementId == Guid.Empty)) { // Sending null to clear out the settlement from the viewer. this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new SettlementLetterHandler(UpdateConsole), null); settlementLetter = null; } else if ((currentConsumerTrustSettlementId != null) && (currentConsumerTrustSettlementId != Guid.Empty)) { // Lock the data model to extract information from the settlementRow. lock (DataModel.SyncRoot) { ConsumerTrustSettlementRow consumerTrustSettlementRow = DataModel.ConsumerTrustSettlement.ConsumerTrustSettlementKey.Find(currentConsumerTrustSettlementId); if (!consumerTrustSettlementRow.IsSettlementLetterNull()) { settlementLetter = Convert.FromBase64String(consumerTrustSettlementRow.SettlementLetter); } } // Dispatch to foreground thread for updating the GUI. if (settlementLetter != null) { this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new SettlementLetterHandler(UpdateConsole), settlementLetter); } } } }