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
- ColorBlend.cs
- TransactionManager.cs
- WrappedReader.cs
- OutputScopeManager.cs
- DataGridViewElement.cs
- NaturalLanguageHyphenator.cs
- XmlQueryOutput.cs
- CustomWebEventKey.cs
- XPathMessageFilterTable.cs
- CollectionChangeEventArgs.cs
- Block.cs
- ConfigurationConverterBase.cs
- odbcmetadatacolumnnames.cs
- ObfuscationAttribute.cs
- DesignerActionService.cs
- TextRunCache.cs
- EntityDataSourceView.cs
- AmbientProperties.cs
- HeaderedItemsControl.cs
- HwndKeyboardInputProvider.cs
- ObjectSecurity.cs
- StringToken.cs
- WeakRefEnumerator.cs
- WebPartAddingEventArgs.cs
- MailFileEditor.cs
- DataBindingExpressionBuilder.cs
- OracleInfoMessageEventArgs.cs
- MetabaseSettings.cs
- HintTextConverter.cs
- MemberPath.cs
- PingReply.cs
- DispatcherOperation.cs
- CurrencyWrapper.cs
- TypeReference.cs
- AttributeEmitter.cs
- RuleProcessor.cs
- OpacityConverter.cs
- ExpandedProjectionNode.cs
- SuppressMessageAttribute.cs
- DataRecordInternal.cs
- MutexSecurity.cs
- connectionpool.cs
- PathGeometry.cs
- SafeLibraryHandle.cs
- GridViewEditEventArgs.cs
- Facet.cs
- ZipIOLocalFileHeader.cs
- StorageFunctionMapping.cs
- NativeMethods.cs
- AbstractSvcMapFileLoader.cs
- QilNode.cs
- ConnectionPointCookie.cs
- hresults.cs
- IEnumerable.cs
- mediaclock.cs
- TypographyProperties.cs
- DropDownList.cs
- RuleProcessor.cs
- HashMembershipCondition.cs
- XmlSchemaCompilationSettings.cs
- XmlSerializerAssemblyAttribute.cs
- MDIControlStrip.cs
- SmtpAuthenticationManager.cs
- ConnectionsZone.cs
- CheckPair.cs
- Win32.cs
- PropertyItem.cs
- WindowsToolbar.cs
- EnlistmentTraceIdentifier.cs
- Tuple.cs
- WebServiceFault.cs
- HotSpotCollectionEditor.cs
- XPathDescendantIterator.cs
- RegexGroup.cs
- RegularExpressionValidator.cs
- XmlSchemaAnnotated.cs
- PocoPropertyAccessorStrategy.cs
- SQLStringStorage.cs
- CounterSample.cs
- StateMachine.cs
- GeometryModel3D.cs
- DBSchemaTable.cs
- MetadataPropertyvalue.cs
- RequestTimeoutManager.cs
- MessageAction.cs
- SerializerProvider.cs
- DataBindEngine.cs
- ParenthesizePropertyNameAttribute.cs
- NetStream.cs
- HyperLinkStyle.cs
- TransactionChannel.cs
- TextServicesDisplayAttribute.cs
- GeneralTransform.cs
- DataBoundControlActionList.cs
- AutomationProperties.cs
- EventLogPermissionEntryCollection.cs
- SHA1.cs
- ReadOnlyPropertyMetadata.cs
- WindowsSolidBrush.cs
- PreloadedPackages.cs