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
- TraceSection.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- PtsHost.cs
- FixedHyperLink.cs
- FileDataSourceCache.cs
- PenContext.cs
- MTConfigUtil.cs
- AttachedAnnotation.cs
- ImageMetadata.cs
- EvidenceBase.cs
- CommandBindingCollection.cs
- TextTreeInsertUndoUnit.cs
- AccessDataSourceWizardForm.cs
- _ConnectionGroup.cs
- OverlappedAsyncResult.cs
- SerializerDescriptor.cs
- JsonReaderWriterFactory.cs
- TextSegment.cs
- Int64Animation.cs
- DataSourceConverter.cs
- XmlCodeExporter.cs
- BuildResultCache.cs
- ToolStripDropDownButton.cs
- ScrollContentPresenter.cs
- XhtmlBasicTextViewAdapter.cs
- SqlRowUpdatedEvent.cs
- MultipartIdentifier.cs
- StrokeCollection2.cs
- MimeMapping.cs
- Trace.cs
- RelationshipNavigation.cs
- PeerNeighborManager.cs
- MemberRelationshipService.cs
- SelectionHighlightInfo.cs
- DataViewSetting.cs
- Splitter.cs
- LiteralControl.cs
- ComponentSerializationService.cs
- SortedList.cs
- DateTimeFormat.cs
- WorkflowApplicationTerminatedException.cs
- TraversalRequest.cs
- FontCacheUtil.cs
- NavigationWindow.cs
- DataServiceHost.cs
- PLINQETWProvider.cs
- SocketElement.cs
- SoapParser.cs
- BooleanStorage.cs
- CachedResourceDictionaryExtension.cs
- EntityParameterCollection.cs
- WindowsSlider.cs
- HttpSessionStateWrapper.cs
- Vector3DCollection.cs
- InvalidOperationException.cs
- ViewKeyConstraint.cs
- MarshalDirectiveException.cs
- SqlDataSourceSelectingEventArgs.cs
- ExpressionParser.cs
- DataGridViewRowConverter.cs
- SystemThemeKey.cs
- Mutex.cs
- PerformanceCounterCategory.cs
- SqlParameterizer.cs
- OleCmdHelper.cs
- DataControlLinkButton.cs
- ShaderEffect.cs
- SessionStateItemCollection.cs
- FederatedMessageSecurityOverHttpElement.cs
- PropertyBuilder.cs
- _OverlappedAsyncResult.cs
- altserialization.cs
- SortQuery.cs
- EdmSchemaAttribute.cs
- ToolboxItemFilterAttribute.cs
- TransactionScope.cs
- AuthorizationRule.cs
- Nullable.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- Exception.cs
- ResourceReader.cs
- ZipFileInfo.cs
- PrintPreviewGraphics.cs
- SimpleBitVector32.cs
- TimeoutTimer.cs
- DocumentEventArgs.cs
- RepeaterCommandEventArgs.cs
- WmlObjectListAdapter.cs
- HostingEnvironment.cs
- SchemaAttDef.cs
- PinnedBufferMemoryStream.cs
- LoginName.cs
- Html32TextWriter.cs
- MenuEventArgs.cs
- TextMarkerSource.cs
- IPPacketInformation.cs
- UniqueID.cs
- PropertyChangingEventArgs.cs
- ObjectTag.cs
- SafeMILHandleMemoryPressure.cs