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
- XmlIterators.cs
- ContainerParaClient.cs
- DataServiceHost.cs
- DataGridRowsPresenter.cs
- wmiutil.cs
- CodeFieldReferenceExpression.cs
- ControlCachePolicy.cs
- __TransparentProxy.cs
- ListView.cs
- MenuCommands.cs
- ObservableDictionary.cs
- MetadataUtilsSmi.cs
- ClassHandlersStore.cs
- CompoundFileIOPermission.cs
- ResourcePart.cs
- SchemaSetCompiler.cs
- ObjectSpanRewriter.cs
- Adorner.cs
- TargetControlTypeAttribute.cs
- DbConnectionStringCommon.cs
- Polyline.cs
- Point3DCollection.cs
- Math.cs
- XmlIterators.cs
- ICollection.cs
- InfocardInteractiveChannelInitializer.cs
- SwitchElementsCollection.cs
- DataSet.cs
- MediaPlayer.cs
- DesignerSerializationVisibilityAttribute.cs
- FixedFindEngine.cs
- OverlappedAsyncResult.cs
- Membership.cs
- SelectionList.cs
- RedistVersionInfo.cs
- TaiwanLunisolarCalendar.cs
- TreeNodeStyleCollectionEditor.cs
- AuthenticationSection.cs
- DataServices.cs
- MDIClient.cs
- OperationAbortedException.cs
- RegexGroupCollection.cs
- metrodevice.cs
- TemplateColumn.cs
- HelpKeywordAttribute.cs
- TextBoxView.cs
- WebBrowserEvent.cs
- TextParagraphView.cs
- PartialArray.cs
- Point3DIndependentAnimationStorage.cs
- InkSerializer.cs
- ColumnClickEvent.cs
- _ChunkParse.cs
- XmlExtensionFunction.cs
- SQLString.cs
- GridViewRowCollection.cs
- BitStack.cs
- RightsController.cs
- SortQuery.cs
- EntityDataSourceEntityTypeFilterItem.cs
- QueryStringParameter.cs
- Baml2006SchemaContext.cs
- InternalConfigHost.cs
- SelectedDatesCollection.cs
- StringSource.cs
- TimelineClockCollection.cs
- StringFunctions.cs
- ContainerParagraph.cs
- TextureBrush.cs
- RectangleHotSpot.cs
- SourceFileInfo.cs
- Util.cs
- followingsibling.cs
- DelegatedStream.cs
- InkCanvas.cs
- ClientProxyGenerator.cs
- DataSourceCacheDurationConverter.cs
- SoapInteropTypes.cs
- SharedStatics.cs
- DataServiceExpressionVisitor.cs
- TextModifier.cs
- SecurityTokenAuthenticator.cs
- DataGridColumn.cs
- ProgressBar.cs
- CodePageUtils.cs
- FullTrustAssembly.cs
- DesignerMetadata.cs
- EventsTab.cs
- ProfileProvider.cs
- FullTrustAssemblyCollection.cs
- DataControlFieldHeaderCell.cs
- EditBehavior.cs
- PictureBox.cs
- Configuration.cs
- XmlValidatingReader.cs
- BookmarkCallbackWrapper.cs
- SystemUnicastIPAddressInformation.cs
- DrawToolTipEventArgs.cs
- IdnMapping.cs
- StrokeCollection2.cs