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
- keycontainerpermission.cs
- Rotation3DAnimationBase.cs
- ConsoleTraceListener.cs
- PagePropertiesChangingEventArgs.cs
- ServiceOperationWrapper.cs
- MaskedTextBoxDesigner.cs
- SetMemberBinder.cs
- Select.cs
- MenuScrollingVisibilityConverter.cs
- ExplicitDiscriminatorMap.cs
- GridToolTip.cs
- Image.cs
- PropertyEmitter.cs
- Page.cs
- TextOptionsInternal.cs
- CodeEventReferenceExpression.cs
- SystemResourceHost.cs
- TokenCreationParameter.cs
- UdpRetransmissionSettings.cs
- RegexNode.cs
- TargetPerspective.cs
- XPathNodePointer.cs
- ProfilePropertySettings.cs
- ServiceOperationParameter.cs
- Button.cs
- BitmapFrameEncode.cs
- XslVisitor.cs
- SQLMoney.cs
- ObservableCollection.cs
- SelectorItemAutomationPeer.cs
- AssociationEndMember.cs
- PageContentAsyncResult.cs
- ScriptIgnoreAttribute.cs
- DesignerHelpers.cs
- InheritablePropertyChangeInfo.cs
- StringSource.cs
- CheckableControlBaseAdapter.cs
- ArcSegment.cs
- MsmqIntegrationMessageProperty.cs
- AggregateNode.cs
- TraceEventCache.cs
- CaseInsensitiveHashCodeProvider.cs
- HtmlInputFile.cs
- SemaphoreFullException.cs
- OrderedParallelQuery.cs
- ObjectDataSourceStatusEventArgs.cs
- TagMapCollection.cs
- HighContrastHelper.cs
- ToolStripRendererSwitcher.cs
- MetadataCollection.cs
- StaticResourceExtension.cs
- DrawingImage.cs
- xamlnodes.cs
- ToolboxCategoryItems.cs
- CompiledELinqQueryState.cs
- ContainerAction.cs
- FrameworkElementAutomationPeer.cs
- LinkUtilities.cs
- ConfigurationStrings.cs
- ReadOnlyHierarchicalDataSourceView.cs
- WindowsListViewScroll.cs
- TextEditor.cs
- MenuScrollingVisibilityConverter.cs
- ExcludeFromCodeCoverageAttribute.cs
- AppDomainManager.cs
- CodeMethodInvokeExpression.cs
- GlyphRun.cs
- ModifierKeysValueSerializer.cs
- EntityModelSchemaGenerator.cs
- XmlSerializerVersionAttribute.cs
- ItemChangedEventArgs.cs
- DbTransaction.cs
- StringConcat.cs
- TraceSwitch.cs
- IgnoreSectionHandler.cs
- StorageRoot.cs
- WindowCollection.cs
- ArrayExtension.cs
- ServiceConfigurationTraceRecord.cs
- ProfileManager.cs
- TabControl.cs
- figurelengthconverter.cs
- FileUtil.cs
- SqlFlattener.cs
- IndexOutOfRangeException.cs
- RolePrincipal.cs
- IntPtr.cs
- LineServicesCallbacks.cs
- PasswordPropertyTextAttribute.cs
- TextDecorations.cs
- DecimalConstantAttribute.cs
- PagedDataSource.cs
- Debug.cs
- ObjectHelper.cs
- shaper.cs
- OdbcConnectionPoolProviderInfo.cs
- HtmlInputReset.cs
- ProbeRequestResponseAsyncResult.cs
- BodyWriter.cs
- SchemaExporter.cs