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
- StylusPointPropertyInfo.cs
- ExeContext.cs
- MailBnfHelper.cs
- PasswordPropertyTextAttribute.cs
- GregorianCalendarHelper.cs
- DataControlLinkButton.cs
- RepeatInfo.cs
- EditorPart.cs
- SpAudioStreamWrapper.cs
- EventToken.cs
- WindowsListBox.cs
- Pair.cs
- DefaultValueMapping.cs
- HelpKeywordAttribute.cs
- CriticalExceptions.cs
- PropertyTab.cs
- SkewTransform.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- SqlWorkflowInstanceStore.cs
- RelationshipConverter.cs
- InvalidWMPVersionException.cs
- InputLanguageCollection.cs
- SourceFileInfo.cs
- SettingsBase.cs
- VisualTreeUtils.cs
- VectorCollection.cs
- Command.cs
- SoapTypeAttribute.cs
- XD.cs
- EntityDataSourceWrapperCollection.cs
- DateRangeEvent.cs
- DependencyObject.cs
- DefaultValueConverter.cs
- MemberRelationshipService.cs
- ControlUtil.cs
- ReversePositionQuery.cs
- PkcsUtils.cs
- QilStrConcatenator.cs
- ActiveXContainer.cs
- PolyBezierSegment.cs
- IntranetCredentialPolicy.cs
- DBDataPermission.cs
- AsymmetricSecurityProtocol.cs
- XmlSchemaImport.cs
- UserControl.cs
- DataExchangeServiceBinder.cs
- Utils.cs
- DefaultAsyncDataDispatcher.cs
- SmiContextFactory.cs
- AccessText.cs
- MimeParameterWriter.cs
- HistoryEventArgs.cs
- WindowsGraphicsCacheManager.cs
- StructuredTypeEmitter.cs
- DbModificationCommandTree.cs
- DataGridColumnCollection.cs
- CommandValueSerializer.cs
- MasterPageBuildProvider.cs
- DataGridCell.cs
- BaseAsyncResult.cs
- SelectionList.cs
- GeometryCollection.cs
- MimeFormatExtensions.cs
- MasterPageParser.cs
- _NegotiateClient.cs
- SafeHandle.cs
- HtmlDocument.cs
- SudsParser.cs
- SystemThemeKey.cs
- ResXResourceWriter.cs
- CultureInfoConverter.cs
- SqlPersonalizationProvider.cs
- DesignConnection.cs
- Hex.cs
- DataControlFieldCell.cs
- RunInstallerAttribute.cs
- SingleStorage.cs
- WorkflowApplicationIdleEventArgs.cs
- SchemaAttDef.cs
- XmlEntityReference.cs
- QuaternionAnimationBase.cs
- SignatureConfirmationElement.cs
- TextureBrush.cs
- XPathDocumentNavigator.cs
- CodeArrayIndexerExpression.cs
- UnaryExpression.cs
- QilVisitor.cs
- MDIControlStrip.cs
- GeometryCombineModeValidation.cs
- HttpRawResponse.cs
- FeatureSupport.cs
- FixedPosition.cs
- OptimalBreakSession.cs
- Util.cs
- EncoderParameters.cs
- _Win32.cs
- ObjectDataSourceFilteringEventArgs.cs
- ProviderUtil.cs
- CustomSignedXml.cs
- SQLDouble.cs