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
- DynamicRenderer.cs
- DataSourceControl.cs
- SspiSafeHandles.cs
- ExpressionBuilderContext.cs
- DoubleAnimationClockResource.cs
- QilLoop.cs
- OdbcStatementHandle.cs
- TraceSection.cs
- CustomError.cs
- XmlQueryType.cs
- Region.cs
- BindingCollection.cs
- RegexCaptureCollection.cs
- DataException.cs
- InvalidWorkflowException.cs
- Axis.cs
- AggregateNode.cs
- CompiledRegexRunnerFactory.cs
- PartitionResolver.cs
- GeneralTransform3DCollection.cs
- _TimerThread.cs
- HttpHandlersSection.cs
- TextDecorationCollection.cs
- TextDecorationCollectionConverter.cs
- DataGridViewAccessibleObject.cs
- Canvas.cs
- X509CertificateCollection.cs
- XmlExtensionFunction.cs
- RectConverter.cs
- ProfileEventArgs.cs
- TemplateField.cs
- DataSpaceManager.cs
- CodeGroup.cs
- ObjectStorage.cs
- __Filters.cs
- Nullable.cs
- CodeDOMUtility.cs
- CommandEventArgs.cs
- SafeCloseHandleCritical.cs
- BrushValueSerializer.cs
- SQLInt16.cs
- Content.cs
- Brushes.cs
- SmtpException.cs
- GridViewAutomationPeer.cs
- ToolBarDesigner.cs
- EpmCustomContentDeSerializer.cs
- Section.cs
- ReturnValue.cs
- TextRunCache.cs
- TransactionWaitAsyncResult.cs
- ExpressionPrinter.cs
- Separator.cs
- StreamAsIStream.cs
- DataFormats.cs
- ReadWriteSpinLock.cs
- LayoutManager.cs
- Expressions.cs
- CapiNative.cs
- TemplateControlCodeDomTreeGenerator.cs
- SqlDataAdapter.cs
- Pen.cs
- TraceProvider.cs
- MemberRestriction.cs
- Compiler.cs
- SQLUtility.cs
- ListMarkerLine.cs
- DefaultSection.cs
- UnsafePeerToPeerMethods.cs
- DataGridParentRows.cs
- WebPartConnection.cs
- PermissionListSet.cs
- PrintingPermissionAttribute.cs
- _Events.cs
- Brushes.cs
- MetadataCache.cs
- SwitchAttribute.cs
- CalendarModeChangedEventArgs.cs
- LeaseManager.cs
- BitmapCache.cs
- Command.cs
- CfgParser.cs
- DelegateHelpers.Generated.cs
- DesignerListAdapter.cs
- Debug.cs
- Splitter.cs
- CredentialCache.cs
- ChildTable.cs
- AdornerPresentationContext.cs
- ListBox.cs
- XmlDocumentSerializer.cs
- EncryptedPackage.cs
- FrugalMap.cs
- LinkUtilities.cs
- Win32.cs
- DLinqAssociationProvider.cs
- DATA_BLOB.cs
- ProcessThread.cs
- TemplateBindingExtensionConverter.cs
- ConstraintCollection.cs