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
- Matrix.cs
- NotifyIcon.cs
- CombinedGeometry.cs
- SettingsProperty.cs
- RawStylusInput.cs
- MDIClient.cs
- X509KeyIdentifierClauseType.cs
- FixedSOMPageElement.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- objectresult_tresulttype.cs
- CodeRegionDirective.cs
- WebPartZoneDesigner.cs
- Viewport3DAutomationPeer.cs
- WebServiceMethodData.cs
- JsonXmlDataContract.cs
- VirtualDirectoryMappingCollection.cs
- FunctionImportMapping.ReturnTypeRenameMapping.cs
- ItemsControl.cs
- CssTextWriter.cs
- ListViewDeleteEventArgs.cs
- ExtensionQuery.cs
- TextBox.cs
- CloseCollectionAsyncResult.cs
- ResourceWriter.cs
- IgnorePropertiesAttribute.cs
- HttpContext.cs
- NativeCppClassAttribute.cs
- DisableDpiAwarenessAttribute.cs
- FrameworkTextComposition.cs
- DataGridTextBox.cs
- XmlDocument.cs
- StorageEntityTypeMapping.cs
- RadioButton.cs
- DocumentPageTextView.cs
- RootNamespaceAttribute.cs
- LogArchiveSnapshot.cs
- StringInfo.cs
- translator.cs
- TreeViewCancelEvent.cs
- GPStream.cs
- FixedSOMElement.cs
- StructuredTypeEmitter.cs
- RequestQueryParser.cs
- ManagedWndProcTracker.cs
- StructuralCache.cs
- Vector.cs
- ListContractAdapter.cs
- ListComponentEditor.cs
- FormsIdentity.cs
- AnnotationComponentChooser.cs
- ValidatorUtils.cs
- UnmanagedMemoryStream.cs
- DivideByZeroException.cs
- SupportsEventValidationAttribute.cs
- String.cs
- SafeBitVector32.cs
- RegexInterpreter.cs
- DataGridViewCellStyleConverter.cs
- TrackingExtract.cs
- SmtpDigestAuthenticationModule.cs
- SessionStateModule.cs
- EntitySqlException.cs
- PriorityBinding.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- RowToParametersTransformer.cs
- CaretElement.cs
- _HelperAsyncResults.cs
- SchemaContext.cs
- PagedDataSource.cs
- DataGrid.cs
- Types.cs
- SamlDoNotCacheCondition.cs
- UnmanagedBitmapWrapper.cs
- MemoryFailPoint.cs
- HijriCalendar.cs
- RelationshipManager.cs
- PersonalizableAttribute.cs
- ProviderConnectionPoint.cs
- VirtualPath.cs
- ApplicationFileParser.cs
- DiagnosticsConfigurationHandler.cs
- DataRowCollection.cs
- ConfigurationValidatorAttribute.cs
- SingleConverter.cs
- ServiceChannelFactory.cs
- SubqueryRules.cs
- TextureBrush.cs
- PackagingUtilities.cs
- CqlParserHelpers.cs
- EqualityComparer.cs
- StartUpEventArgs.cs
- ModelMemberCollection.cs
- Models.cs
- ResourceDisplayNameAttribute.cs
- RemoteWebConfigurationHostServer.cs
- PenThreadWorker.cs
- TableColumn.cs
- AuthorizationRule.cs
- DomNameTable.cs
- ConfigsHelper.cs