Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / infocard / Service / managed / Microsoft / InfoCards / GetLedgerEntryForRecipientRequest.cs / 1 / GetLedgerEntryForRecipientRequest.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.InfoCards { using System; using System.IO; using System.Text; using System.Collections; using System.Collections.Generic; using Microsoft.InfoCards.Diagnostics; using IDT = Microsoft.InfoCards.Diagnostics.InfoCardTrace; // // Summary: // This class handles the request from the UI Agent to get the Ledger information // for a specific recipient. // class GetLedgerEntryForRecipientRequest : UIAgentRequest { Uri m_cardId; string m_recipientId; byte[] m_bytes; // // Summary: // Constructs a new SetUserPreferenceRequest instance. // // Parameters: // rpcHandle - Handle to the RPC call from the UI Agent // inArgs - Stream for the incoming information. Null in this case. // outArgs - Stream used to collect the outbound data. // parent - Client UI Request. // public GetLedgerEntryForRecipientRequest( IntPtr rpcHandle, Stream inArgs, Stream outArgs, ClientUIRequest parent ) : base( rpcHandle, inArgs, outArgs, parent ) { } // // Summary // Event for marshalling the request information // protected override void OnMarshalInArgs() { IDT.Assert( InArgs.Length > 0, "The user preferences must be specified" ); BinaryReader br = new InfoCardBinaryReader( InArgs, Encoding.Unicode ); m_cardId = Utility.DeserializeUri( br ); m_recipientId = Utility.DeserializeString( br ); } // // Summary // Event for processing the user request // protected override void OnProcess() { IDT.Assert( null != m_cardId, "The card Id must not be null" ); IDT.Assert( false == String.IsNullOrEmpty( m_recipientId ), "The thumbPrint must be specified" ); ListparamList = new List (); QueryParameter query = new QueryParameter( SecondaryIndexDefinition.ObjectTypeIndex, (Int32)StorableObjectType.LedgerEntry ); paramList.Add( query ); query = new QueryParameter( SecondaryIndexDefinition.ParentIdIndex, GlobalId.DeriveFrom( m_cardId.ToString() ) ); paramList.Add( query ); paramList.Add( new QueryParameter( SecondaryIndexDefinition.RecipientIdIndex, m_recipientId ) ); StoreConnection connection = StoreConnection.GetConnection(); try { // // There should be only one row of this type for each recipient. So just return the first one. // DataRow row = connection.GetSingleRow( paramList.ToArray() ); if( null != row ) { m_bytes = row.GetDataField(); } } finally { connection.Close(); } } // // Summary // Event for marshalling the response information // // Remarks // Write nothing if the ledger entry is not found. // protected override void OnMarshalOutArgs() { if( null != m_bytes ) { OutArgs.Write( m_bytes, 0, m_bytes.Length ); } } } } // 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
- MachineKey.cs
- CompletionProxy.cs
- ErrorTableItemStyle.cs
- DataServices.cs
- PkcsUtils.cs
- ComContractElement.cs
- SetStoryboardSpeedRatio.cs
- TrackingStringDictionary.cs
- ListViewItemEventArgs.cs
- RSAPKCS1KeyExchangeFormatter.cs
- GeneratedView.cs
- CollectionContainer.cs
- HtmlInputCheckBox.cs
- SiteMapPath.cs
- IndexedEnumerable.cs
- CommandHelper.cs
- PolicyStatement.cs
- StubHelpers.cs
- ConstantExpression.cs
- VisualBrush.cs
- ToolStripManager.cs
- EncoderBestFitFallback.cs
- FocusManager.cs
- SoapIncludeAttribute.cs
- ActivityTypeCodeDomSerializer.cs
- ReferentialConstraint.cs
- HttpListenerTimeoutManager.cs
- DataGridViewHitTestInfo.cs
- HttpModuleCollection.cs
- EncoderParameters.cs
- StateItem.cs
- ResourcePermissionBase.cs
- Encoding.cs
- HighlightComponent.cs
- Transform.cs
- SchemaName.cs
- MemoryPressure.cs
- TypeGeneratedEventArgs.cs
- DBCommandBuilder.cs
- AnonymousIdentificationSection.cs
- RijndaelCryptoServiceProvider.cs
- SqlSelectClauseBuilder.cs
- ReadingWritingEntityEventArgs.cs
- XamlStyleSerializer.cs
- ConnectionsZone.cs
- KeyboardNavigation.cs
- LayoutEditorPart.cs
- ColorTransformHelper.cs
- ToolStripDropDownDesigner.cs
- VirtualPath.cs
- PropertyEmitter.cs
- ServiceProviders.cs
- FlowLayout.cs
- ExtensionWindowResizeGrip.cs
- NodeCounter.cs
- DBBindings.cs
- SchemaCollectionPreprocessor.cs
- GlobalProxySelection.cs
- ConnectionProviderAttribute.cs
- ListViewAutomationPeer.cs
- GeometryConverter.cs
- EmbossBitmapEffect.cs
- SamlAuthorizationDecisionClaimResource.cs
- WpfXamlType.cs
- Baml2006SchemaContext.cs
- DataGridViewRowHeaderCell.cs
- BlobPersonalizationState.cs
- QuotedPrintableStream.cs
- RootBuilder.cs
- ComponentChangedEvent.cs
- SizeConverter.cs
- XhtmlBasicObjectListAdapter.cs
- DisableDpiAwarenessAttribute.cs
- UrlMappingsModule.cs
- brushes.cs
- Documentation.cs
- DataColumnSelectionConverter.cs
- NetStream.cs
- BaseParser.cs
- LinkLabelLinkClickedEvent.cs
- CodeSnippetExpression.cs
- SourceLocationProvider.cs
- ContactManager.cs
- DataServicePagingProviderWrapper.cs
- RootDesignerSerializerAttribute.cs
- DesignOnlyAttribute.cs
- mediaeventargs.cs
- OutputCacheModule.cs
- MergeExecutor.cs
- ApplicationBuildProvider.cs
- PathBox.cs
- DataControlFieldCollection.cs
- DbParameterHelper.cs
- QueryReaderSettings.cs
- FlowLayoutPanelDesigner.cs
- CursorConverter.cs
- EntityContainerEntitySet.cs
- DrawingDrawingContext.cs
- ImagingCache.cs
- FixedSOMPage.cs