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
- ConstructorExpr.cs
- CodeCastExpression.cs
- TypeGeneratedEventArgs.cs
- XPathNodeIterator.cs
- WindowsRichEdit.cs
- StrongNameUtility.cs
- ObjectConverter.cs
- UnknownWrapper.cs
- ManagedFilter.cs
- HtmlElement.cs
- DynamicRenderer.cs
- TreeNodeBindingCollection.cs
- CurrentChangingEventArgs.cs
- RefType.cs
- ChangeDirector.cs
- ThemeInfoAttribute.cs
- ServiceOperationParameter.cs
- LinqExpressionNormalizer.cs
- CodeActivityMetadata.cs
- BindingsCollection.cs
- ColumnResizeUndoUnit.cs
- Signature.cs
- SoapAttributeAttribute.cs
- StateManagedCollection.cs
- XsltSettings.cs
- DefaultProxySection.cs
- BamlRecords.cs
- EncoderReplacementFallback.cs
- SqlNamer.cs
- ToolboxItemSnapLineBehavior.cs
- SingleObjectCollection.cs
- LineInfo.cs
- WebBrowserHelper.cs
- ObjectDataProvider.cs
- XmlDataLoader.cs
- EmptyControlCollection.cs
- BrowserTree.cs
- ProxyWebPart.cs
- BooleanFacetDescriptionElement.cs
- FormViewModeEventArgs.cs
- DesignerImageAdapter.cs
- Part.cs
- CounterSetInstanceCounterDataSet.cs
- WorkflowApplicationCompletedEventArgs.cs
- SpeechSeg.cs
- GotoExpression.cs
- InheritanceAttribute.cs
- If.cs
- StorageMappingItemCollection.cs
- DbFunctionCommandTree.cs
- DataPointer.cs
- ResourceDictionaryCollection.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- MulticastIPAddressInformationCollection.cs
- RelationshipWrapper.cs
- MethodBuilderInstantiation.cs
- AppearanceEditorPart.cs
- ValidationHelper.cs
- DecimalAnimation.cs
- Camera.cs
- InvalidEnumArgumentException.cs
- CodeTypeDelegate.cs
- EntityCommandCompilationException.cs
- Overlapped.cs
- ToolStripItemClickedEventArgs.cs
- MultipartContentParser.cs
- SoapFormatter.cs
- BufferedWebEventProvider.cs
- XPathParser.cs
- RootDesignerSerializerAttribute.cs
- ListViewSelectEventArgs.cs
- XPathDescendantIterator.cs
- DeleteStoreRequest.cs
- Image.cs
- DrawListViewSubItemEventArgs.cs
- DataGridPageChangedEventArgs.cs
- SpellerStatusTable.cs
- IItemProperties.cs
- PageStatePersister.cs
- StringToken.cs
- WorkflowDesignerColors.cs
- Socket.cs
- Timer.cs
- EventData.cs
- WindowInteractionStateTracker.cs
- Attributes.cs
- xmlglyphRunInfo.cs
- HttpChannelListener.cs
- FixedSOMTableRow.cs
- StylusButtonEventArgs.cs
- DataControlCommands.cs
- XmlSerializerFactory.cs
- RulePatternOps.cs
- MouseCaptureWithinProperty.cs
- ArithmeticException.cs
- IERequestCache.cs
- Exceptions.cs
- ClientEventManager.cs
- CompatibleComparer.cs
- Error.cs