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
- Size3D.cs
- HttpValueCollection.cs
- XmlHelper.cs
- ByteAnimation.cs
- ObjectStateManagerMetadata.cs
- PolyLineSegment.cs
- FontConverter.cs
- XPathNodeList.cs
- DateTimeConstantAttribute.cs
- WebPartZone.cs
- PointAnimation.cs
- CircleHotSpot.cs
- ShaderEffect.cs
- InternalDispatchObject.cs
- InlinedAggregationOperatorEnumerator.cs
- AutomationPatternInfo.cs
- HostProtectionException.cs
- DateRangeEvent.cs
- EditorPart.cs
- UrlPath.cs
- ConvertersCollection.cs
- DataGridrowEditEndingEventArgs.cs
- LineBreakRecord.cs
- Operators.cs
- XmlName.cs
- LocatorGroup.cs
- AppSecurityManager.cs
- SchemaNames.cs
- SynchronizationContext.cs
- EntityCommandExecutionException.cs
- DesignerOptions.cs
- GeneralTransform3D.cs
- TextComposition.cs
- EntityModelSchemaGenerator.cs
- ProcessStartInfo.cs
- OleDbSchemaGuid.cs
- webproxy.cs
- DbTransaction.cs
- CaseExpr.cs
- FullTextLine.cs
- TraceUtility.cs
- TypeName.cs
- XmlTypeAttribute.cs
- ArcSegment.cs
- ParserOptions.cs
- RectangleF.cs
- MemoryResponseElement.cs
- JapaneseCalendar.cs
- OutputCacheProfile.cs
- AuthenticationModulesSection.cs
- BinHexEncoder.cs
- ActivityBindForm.cs
- RegexReplacement.cs
- OutOfProcStateClientManager.cs
- GridViewPageEventArgs.cs
- ImageSourceValueSerializer.cs
- CodeDOMProvider.cs
- UnsafeNativeMethods.cs
- CreateUserWizard.cs
- BooleanProjectedSlot.cs
- DeclarativeCatalogPart.cs
- CheckBox.cs
- HttpCookieCollection.cs
- XsdSchemaFileEditor.cs
- SafeFindHandle.cs
- HMACSHA256.cs
- BamlTreeMap.cs
- Int64.cs
- UndoEngine.cs
- DataGridViewCheckBoxColumn.cs
- UrlPath.cs
- GeometryDrawing.cs
- MergePropertyDescriptor.cs
- ADConnectionHelper.cs
- TraceEventCache.cs
- SessionStateModule.cs
- Dictionary.cs
- CodeChecksumPragma.cs
- XmlLinkedNode.cs
- ServiceContractViewControl.cs
- FormsAuthenticationUserCollection.cs
- XmlSchemaSimpleContent.cs
- Assembly.cs
- StateManagedCollection.cs
- UnmanagedHandle.cs
- CapabilitiesUse.cs
- DocumentViewerConstants.cs
- WithParamAction.cs
- CompilationRelaxations.cs
- FixedNode.cs
- RequestUriProcessor.cs
- ItemCheckedEvent.cs
- Camera.cs
- ByteViewer.cs
- EncodingTable.cs
- OdbcErrorCollection.cs
- SessionPageStateSection.cs
- FullTextState.cs
- LinkedDataMemberFieldEditor.cs
- SourceFilter.cs