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
- StatusBar.cs
- XPathPatternParser.cs
- TimelineGroup.cs
- AbsoluteQuery.cs
- EncryptedReference.cs
- BitmapEffectGroup.cs
- ImagingCache.cs
- cookie.cs
- BrushMappingModeValidation.cs
- EnumerableCollectionView.cs
- SimpleParser.cs
- BinaryCommonClasses.cs
- Documentation.cs
- State.cs
- SqlDataSourceParameterParser.cs
- DataGridViewColumnConverter.cs
- Journaling.cs
- DeclaredTypeElementCollection.cs
- UrlMappingsSection.cs
- ApplicationContext.cs
- AtomMaterializer.cs
- SoapElementAttribute.cs
- SqlColumnizer.cs
- MLangCodePageEncoding.cs
- PnrpPeerResolver.cs
- EntityDataSourceEntitySetNameItem.cs
- RoleService.cs
- SoapBinding.cs
- KeyboardEventArgs.cs
- GridViewUpdatedEventArgs.cs
- IdentifierService.cs
- CloseSequence.cs
- DataGridParentRows.cs
- FlowDocumentFormatter.cs
- SystemInfo.cs
- DPTypeDescriptorContext.cs
- translator.cs
- Win32.cs
- BamlLocalizabilityResolver.cs
- AccessDataSource.cs
- WebBrowserHelper.cs
- ZipIOLocalFileHeader.cs
- HeaderLabel.cs
- Pens.cs
- RectAnimation.cs
- TeredoHelper.cs
- XmlLoader.cs
- BitmapEffectDrawingContextWalker.cs
- ConfigurationSection.cs
- ContentPresenter.cs
- StreamMarshaler.cs
- StylusTip.cs
- HyperLink.cs
- MobileFormsAuthentication.cs
- ParsedAttributeCollection.cs
- GridViewEditEventArgs.cs
- MemberDomainMap.cs
- ByteStack.cs
- X509ChainPolicy.cs
- PageThemeCodeDomTreeGenerator.cs
- WindowsStreamSecurityUpgradeProvider.cs
- CommonDialog.cs
- LinkArea.cs
- MethodRental.cs
- Material.cs
- EntityProxyTypeInfo.cs
- EntityContainerRelationshipSet.cs
- BitmapMetadataBlob.cs
- BitmapEffectvisualstate.cs
- _OSSOCK.cs
- AssemblySettingAttributes.cs
- OleDbDataReader.cs
- PresentationSource.cs
- RegexTree.cs
- PersistenceTypeAttribute.cs
- InvalidComObjectException.cs
- XpsResourceDictionary.cs
- HandoffBehavior.cs
- HashHelper.cs
- StylusPlugInCollection.cs
- StringBlob.cs
- TemplateContainer.cs
- SmuggledIUnknown.cs
- XmlReflectionImporter.cs
- AdPostCacheSubstitution.cs
- RelationshipDetailsRow.cs
- FixedSOMGroup.cs
- ListViewInsertedEventArgs.cs
- ServiceModelConfigurationSection.cs
- __FastResourceComparer.cs
- BrowserTree.cs
- CodeConditionStatement.cs
- RepeaterItemEventArgs.cs
- DependencyStoreSurrogate.cs
- SendKeys.cs
- CellParagraph.cs
- SQLBoolean.cs
- CommandBinding.cs
- BitmapDecoder.cs
- TextTreeTextNode.cs