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
- NonVisualControlAttribute.cs
- WinFormsSpinner.cs
- IriParsingElement.cs
- WindowsSysHeader.cs
- BuiltInExpr.cs
- DeviceContext2.cs
- HelloOperation11AsyncResult.cs
- ColumnClickEvent.cs
- EllipticalNodeOperations.cs
- WebPartVerbCollection.cs
- MsmqMessageProperty.cs
- contentDescriptor.cs
- RegexWorker.cs
- WorkflowView.cs
- MediaSystem.cs
- DataGridViewComboBoxColumn.cs
- TextEditorMouse.cs
- SectionInput.cs
- PlatformCulture.cs
- ErrorFormatterPage.cs
- FileAuthorizationModule.cs
- DataShape.cs
- DataGridViewIntLinkedList.cs
- PeerToPeerException.cs
- ListItemCollection.cs
- ObjectDataSourceWizardForm.cs
- Privilege.cs
- AsymmetricKeyExchangeDeformatter.cs
- PropertyDescriptorGridEntry.cs
- DataObjectAttribute.cs
- GeneralTransformGroup.cs
- Utility.cs
- AvTraceFormat.cs
- FilteredReadOnlyMetadataCollection.cs
- FormViewModeEventArgs.cs
- ActivatedMessageQueue.cs
- Assert.cs
- XslCompiledTransform.cs
- UserControlCodeDomTreeGenerator.cs
- Label.cs
- Privilege.cs
- TableRowCollection.cs
- PermissionSet.cs
- AdjustableArrowCap.cs
- Label.cs
- Parser.cs
- EntityFrameworkVersions.cs
- XmlFormatExtensionAttribute.cs
- SimpleBitVector32.cs
- HotSpotCollectionEditor.cs
- MasterPageCodeDomTreeGenerator.cs
- UserMapPath.cs
- ImageListDesigner.cs
- MediaElementAutomationPeer.cs
- Stack.cs
- IncrementalCompileAnalyzer.cs
- IPAddress.cs
- XmlArrayItemAttributes.cs
- RoamingStoreFileUtility.cs
- GroupItemAutomationPeer.cs
- DependentList.cs
- RightsManagementPermission.cs
- CoTaskMemHandle.cs
- Domain.cs
- SiteOfOriginPart.cs
- DataGridTable.cs
- TypedServiceOperationListItem.cs
- LinqDataSourceInsertEventArgs.cs
- DiscoveryInnerClientAdhoc11.cs
- IIS7WorkerRequest.cs
- LongTypeConverter.cs
- String.cs
- ActivityXRefPropertyEditor.cs
- DataTableCollection.cs
- ProcessHostFactoryHelper.cs
- EntityDescriptor.cs
- IItemProperties.cs
- NetNamedPipeSecurityMode.cs
- HandlerWithFactory.cs
- HybridObjectCache.cs
- EntityCommandExecutionException.cs
- RSAOAEPKeyExchangeDeformatter.cs
- TagPrefixAttribute.cs
- SqlCommandBuilder.cs
- CodeDirectoryCompiler.cs
- ExpressionBuilderCollection.cs
- TraceSwitch.cs
- SystemTcpConnection.cs
- ListViewSortEventArgs.cs
- ContentPresenter.cs
- baseaxisquery.cs
- ConfigurationManagerInternalFactory.cs
- TextBoxBase.cs
- CodeCatchClauseCollection.cs
- SqlConnectionFactory.cs
- PresentationAppDomainManager.cs
- LinqDataSourceContextData.cs
- Application.cs
- ParentControlDesigner.cs
- SemaphoreFullException.cs