Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / LedgerEntryCollection.cs / 1 / LedgerEntryCollection.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.Collections; using System.Collections.Generic; using System.Collections.Specialized; using System.Globalization; using System.IO; using System.Security; using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Text; using Microsoft.InfoCards.Diagnostics; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; // // Summary // This class represents a collection of ledger entries // internal class LedgerEntryCollection : Dictionary{ Uri m_infoCardId; private LedgerEntryCollection() { } // // Note: // Used by tools alone. // public void Add( LedgerEntry entry ) { this[ entry.Recipient.RecipientId ] = entry; } public LedgerEntryCollection( Uri infoCardId ) { m_infoCardId = infoCardId; } // // Summary // Retrieve the collection from the store. // // Parameter // con - The store connection // public void Get( StoreConnection con ) { IDT.Assert( null != m_infoCardId, "The infocard id must be specified prior to executing this operation" ); // // Retrieve a single object from the database // ICollection rows = con.Query( QueryDetails.FullRow, new QueryParameter( SecondaryIndexDefinition.ObjectTypeIndex, (Int32)StorableObjectType.LedgerEntry ), new QueryParameter( SecondaryIndexDefinition.ParentIdIndex, GlobalId.DeriveFrom( m_infoCardId.ToString() ) ) ); if( null != rows && rows.Count > 0 ) { IDT.TraceDebug( "Found {0} ledger entries in the store.", rows.Count ); //bug in clr: foreach( DataRow row in (List )rows ) { IDT.TraceDebug( "Adding ledger entry." ); LedgerEntry le = new LedgerEntry( new MemoryStream( row.GetDataField() ), con ); this[le.Recipient.RecipientId] = le; } } } // // Summary // Serialize the collection. // // Parameter // stream - The stream to which the collection is serialized. // public void Serialize( Stream stream ) { // // Setup a BinaryWriter to serialize the bytes of each member to the provided stream // BinaryWriter writer = new BinaryWriter( stream, System.Text.Encoding.Unicode ); writer.Write( (Int32)this.Count ); foreach( KeyValuePair pair in this ) { pair.Value.Serialize( writer ); } } // // Summary // Save the collection to the store. // // Parameter // con - The store connection // public void Save( StoreConnection con ) { IDT.Assert( null != m_infoCardId, "The infocard id must be specified prior to executing this operation" ); // // Save dirty ledger entries to the store. // foreach( KeyValuePair pair in this ) { LedgerEntry entry = pair.Value; if( entry.IsDirty ) { entry.Save( con ); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TreeNodeConverter.cs
- ToolStripPanelRow.cs
- TextDecoration.cs
- CookieParameter.cs
- ReadOnlyHierarchicalDataSource.cs
- WorkflowTransactionOptions.cs
- TextBoxBase.cs
- SpotLight.cs
- initElementDictionary.cs
- WpfPayload.cs
- _CommandStream.cs
- Quad.cs
- TagPrefixAttribute.cs
- Util.cs
- _ContextAwareResult.cs
- IntSecurity.cs
- DbParameterCollection.cs
- LineMetrics.cs
- SystemSounds.cs
- ValueSerializer.cs
- TableSectionStyle.cs
- XmlImplementation.cs
- Calendar.cs
- XmlArrayItemAttributes.cs
- Encoder.cs
- EntityViewContainer.cs
- SelectedGridItemChangedEvent.cs
- AppSettingsExpressionBuilder.cs
- PartitionResolver.cs
- EntityTypeEmitter.cs
- EpmContentSerializer.cs
- SelectionPattern.cs
- RightsManagementErrorHandler.cs
- ErrorStyle.cs
- RectangleHotSpot.cs
- COM2PictureConverter.cs
- ExtendedPropertyDescriptor.cs
- RepeatBehavior.cs
- cookieexception.cs
- SqlDataSource.cs
- ImageClickEventArgs.cs
- HandlerWithFactory.cs
- SequenceQuery.cs
- RegisteredScript.cs
- ToolStripDropDownMenu.cs
- GeneralTransformGroup.cs
- AssemblyHash.cs
- UrlUtility.cs
- KoreanCalendar.cs
- SqlComparer.cs
- BuildManager.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- RelationshipSet.cs
- StringBlob.cs
- Persist.cs
- WebPartCatalogAddVerb.cs
- RoutedEventArgs.cs
- SqlUserDefinedAggregateAttribute.cs
- ObjectStateManager.cs
- XPathNodeHelper.cs
- CornerRadius.cs
- recordstatefactory.cs
- Variable.cs
- XmlUtil.cs
- TableHeaderCell.cs
- DataListItemCollection.cs
- PolicyStatement.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- TemplateColumn.cs
- WebPartManager.cs
- BuildManagerHost.cs
- ipaddressinformationcollection.cs
- __Filters.cs
- CryptoStream.cs
- ImageIndexConverter.cs
- FormView.cs
- SortDescription.cs
- UnsafeNativeMethods.cs
- WebPartTransformer.cs
- TextFormatter.cs
- PrinterResolution.cs
- TextEffect.cs
- FillBehavior.cs
- XmlDocumentFragment.cs
- ServiceSettingsResponseInfo.cs
- XmlSchemaGroupRef.cs
- TemplatedAdorner.cs
- SiteMapDataSource.cs
- SHA256.cs
- PersonalizationStateInfoCollection.cs
- BindingNavigator.cs
- CalculatedColumn.cs
- _ContextAwareResult.cs
- PermissionSetEnumerator.cs
- DoubleConverter.cs
- EastAsianLunisolarCalendar.cs
- Stack.cs
- TypeSystemHelpers.cs
- BidPrivateBase.cs
- TextOnlyOutput.cs