Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.WorkflowServices / System / Workflow / Activities / Design / ServiceContractListItem.cs / 1305376 / ServiceContractListItem.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Workflow.Activities.Design { using System; using System.Collections.Generic; using System.ComponentModel; using System.Runtime; using System.ServiceModel; using System.Windows.Forms; using System.Workflow.ComponentModel; [ListItemView(typeof(ServiceContractViewControl))] [ListItemDetailView(typeof(ServiceContractDetailViewControl))] class ServiceContractListItem : object { ListBox container; Type contractType; bool isCustomContract; ServiceOperationListItem lastItemAdded; string name; ServiceOperationListItemList operations; public ServiceContractListItem(ListBox container) { if (container == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("container"); } this.operations = new ServiceOperationListItemList(); this.container = container; } public CancelEventHandler Validating; public Type ContractType { get { return contractType; } set { contractType = value; } } public bool IsCustomContract { get { return isCustomContract; } set { isCustomContract = value; } } public string Name { get { return name; } set { name = value; } } public IEnumerableOperations { get { return operations; } } public void AddOperation(ServiceOperationListItem operation) { if (operation == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("operation"); } // Dont add operation if operation.Name is broken if (String.IsNullOrEmpty(operation.Name)) { return; } ServiceOperationListItem cachedItem = this.operations.Find(operation.Name); if (cachedItem != null) { foreach (Activity activity in operation.ImplementingActivities) { if (!cachedItem.ImplementingActivities.Contains(activity)) { cachedItem.ImplementingActivities.Add(activity); } } } else { this.operations.Add(operation); int positionToAddAt = this.container.Items.IndexOf(this) + 1; if (this.operations.Count > 1) { positionToAddAt = this.container.Items.IndexOf(lastItemAdded) + 1; } lastItemAdded = operation; this.container.Items.Insert(positionToAddAt, operation); } } public WorkflowServiceOperationListItem CreateOperation() { WorkflowServiceOperationListItem result = (WorkflowServiceOperationListItem) this.operations.CreateWithUniqueName(); result.Operation.ContractName = this.Name; return result; } public ServiceOperationListItem Find(string operationName) { Fx.Assert(operationName != null, "operationName != null"); return this.operations.Find(operationName); } public void SelectionOperation(ServiceOperationListItem operation) { if (operation == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("operation"); } // Dont select if operation.Name is broken if (String.IsNullOrEmpty(operation.Name)) { return; } ServiceOperationListItem operationListItem = this.operations.Find(operation.Name); if (operationListItem != null) { this.container.SetSelected(container.Items.IndexOf(operationListItem), true); } } public override string ToString() { return Name; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlUnspecifiedAttribute.cs
- Window.cs
- BasicHttpBindingElement.cs
- TimeZone.cs
- ManipulationBoundaryFeedbackEventArgs.cs
- activationcontext.cs
- DataBoundControl.cs
- ObjectStateFormatter.cs
- SecurityCriticalDataForSet.cs
- MasterPageCodeDomTreeGenerator.cs
- GridLength.cs
- LayoutEvent.cs
- Utils.cs
- SafeReversePInvokeHandle.cs
- basevalidator.cs
- ToggleButtonAutomationPeer.cs
- TableCell.cs
- EncoderReplacementFallback.cs
- WindowsSspiNegotiation.cs
- DataServiceRequest.cs
- HTTPNotFoundHandler.cs
- XPathQilFactory.cs
- ProgramNode.cs
- ComponentEditorPage.cs
- TableParaClient.cs
- StringWriter.cs
- PropertyRecord.cs
- PersonalizationProvider.cs
- ChtmlMobileTextWriter.cs
- BitmapFrame.cs
- MultiPartWriter.cs
- EntityDataReader.cs
- ISO2022Encoding.cs
- CommandConverter.cs
- OutputCacheSection.cs
- Wizard.cs
- PriorityRange.cs
- GlobalizationSection.cs
- EqualityArray.cs
- Error.cs
- Enum.cs
- PeerCollaboration.cs
- ResourceReferenceKeyNotFoundException.cs
- SessionStateContainer.cs
- ListItemViewAttribute.cs
- Trigger.cs
- OutputCacheProfile.cs
- CompletedAsyncResult.cs
- IisTraceListener.cs
- CodeRegionDirective.cs
- TemplateAction.cs
- ObjectQueryExecutionPlan.cs
- StandardToolWindows.cs
- DispatchChannelSink.cs
- ProviderUtil.cs
- InitializationEventAttribute.cs
- CqlQuery.cs
- SqlInternalConnectionSmi.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- SqlTrackingService.cs
- StackSpiller.Generated.cs
- HyperLink.cs
- MatrixAnimationUsingKeyFrames.cs
- RestClientProxyHandler.cs
- ConfigurationSectionCollection.cs
- WizardForm.cs
- XmlUtil.cs
- XmlFormatExtensionPrefixAttribute.cs
- ExtractedStateEntry.cs
- XmlIgnoreAttribute.cs
- TrackingStringDictionary.cs
- DragEventArgs.cs
- ListCollectionView.cs
- DeliveryStrategy.cs
- OrderedDictionary.cs
- OpCellTreeNode.cs
- PrimitiveXmlSerializers.cs
- TabControlAutomationPeer.cs
- XNodeSchemaApplier.cs
- DrawingContextWalker.cs
- CompositeScriptReferenceEventArgs.cs
- WebPartVerb.cs
- ToolStripSeparatorRenderEventArgs.cs
- EntityDataSource.cs
- CompletedAsyncResult.cs
- XmlFormatWriterGenerator.cs
- ResourceIDHelper.cs
- InkCanvasFeedbackAdorner.cs
- BamlBinaryWriter.cs
- ProfileInfo.cs
- ObjectSecurity.cs
- CustomError.cs
- WebServiceMethodData.cs
- XmlIlGenerator.cs
- ArrayWithOffset.cs
- Annotation.cs
- ThemeDirectoryCompiler.cs
- EditorZoneDesigner.cs
- HttpEncoder.cs
- ProjectionPlan.cs