Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.WorkflowServices / System / Workflow / Activities / Design / ServiceContractDetailViewControl.cs / 1305376 / ServiceContractDetailViewControl.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Workflow.Activities.Design { using System; using System.ComponentModel; using System.Runtime; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; internal partial class ServiceContractDetailViewControl : ListItemViewControl { public ServiceContractDetailViewControl() { InitializeComponent(); } public override event EventHandler ItemChanged; public override void UpdateView() { ServiceContractListItem listItem = this.Item as ServiceContractListItem; Fx.Assert(listItem != null, "listItem needs to be a ServiceContractListItem"); contractNameTextBox.Text = listItem.Name; contractNameTextBox.Enabled = true; contractNameTextBox.ReadOnly = true; if (listItem.IsCustomContract) { this.contractNameTextBox.ReadOnly = false; this.contractNameTextBox.Validated += new EventHandler(contractNameTextBox_Validated); this.contractNameTextBox.Validating += new CancelEventHandler(contractNameTextBox_Validating); } base.UpdateView(); } void contractNameTextBox_Validated(object sender, EventArgs e) { ServiceContractListItem contractListItem = (ServiceContractListItem) this.Item; UpdateImplementingActivities(contractListItem); // finally notify other observers of this change if (this.ItemChanged != null) { this.ItemChanged.Invoke(this, null); } } void contractNameTextBox_Validating(object sender, CancelEventArgs e) { ServiceContractListItem contractListItem = (ServiceContractListItem) this.Item; string oldName = contractListItem.Name; contractListItem.Name = this.contractNameTextBox.Text; if (contractListItem.Validating != null) { contractListItem.Validating.Invoke(contractListItem, e); } if (e.Cancel) { this.contractNameTextBox.Text = oldName; contractListItem.Name = oldName; e.Cancel = false; } } private void UpdateImplementingActivities(ServiceContractListItem listItem) { foreach (WorkflowServiceOperationListItem workflowOperationListItem in listItem.Operations) { Fx.Assert(workflowOperationListItem != null, "Operations inside an editable contract should only be workflow first operations"); workflowOperationListItem.Operation.ContractName = listItem.Name; // update the activities implementing the operation too foreach (Activity activity in workflowOperationListItem.ImplementingActivities) { PropertyDescriptorUtils.SetPropertyValue(this.ServiceProvider, ServiceOperationHelpers.GetServiceOperationInfoPropertyDescriptor(activity), activity, workflowOperationListItem.Operation.Clone()); } } } } } // 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
- ValidationResult.cs
- coordinatorscratchpad.cs
- SecurityManager.cs
- EntityUtil.cs
- CollectionChangedEventManager.cs
- DataSourceGeneratorException.cs
- LineServices.cs
- SqlTopReducer.cs
- SoapSchemaExporter.cs
- CellParagraph.cs
- ReliabilityContractAttribute.cs
- TcpClientChannel.cs
- DetailsViewCommandEventArgs.cs
- GlyphRunDrawing.cs
- EntityProviderFactory.cs
- CardSpaceException.cs
- IndexOutOfRangeException.cs
- BaseTreeIterator.cs
- AndCondition.cs
- QueryStringHandler.cs
- ISFTagAndGuidCache.cs
- RTTypeWrapper.cs
- CqlGenerator.cs
- TailCallAnalyzer.cs
- ParameterToken.cs
- MaskedTextBox.cs
- _NegotiateClient.cs
- AdPostCacheSubstitution.cs
- AsymmetricSignatureFormatter.cs
- WindowCollection.cs
- BaseDataListPage.cs
- ExpressionBuilderContext.cs
- SessionStateItemCollection.cs
- DecimalStorage.cs
- PointLightBase.cs
- HtmlGenericControl.cs
- NamespaceList.cs
- RolePrincipal.cs
- FlowDocumentScrollViewer.cs
- RemoteWebConfigurationHostServer.cs
- SignedXmlDebugLog.cs
- BooleanConverter.cs
- AudioBase.cs
- WmlControlAdapter.cs
- OleCmdHelper.cs
- XmlSchemaValidator.cs
- ProcessDesigner.cs
- FloaterBaseParaClient.cs
- NullableBoolConverter.cs
- PageThemeBuildProvider.cs
- BitmapInitialize.cs
- DesignerAdRotatorAdapter.cs
- ExpressionBuilderContext.cs
- HandlerBase.cs
- SafeLocalAllocation.cs
- BinaryOperationBinder.cs
- ConnectionProviderAttribute.cs
- SmtpFailedRecipientsException.cs
- TaskFormBase.cs
- ConstructorBuilder.cs
- ContractSearchPattern.cs
- AssemblyAttributesGoHere.cs
- ValidatingPropertiesEventArgs.cs
- TextTreeTextElementNode.cs
- MethodToken.cs
- TimeSpanValidator.cs
- WorkflowQueuingService.cs
- RootBrowserWindowAutomationPeer.cs
- IndexerNameAttribute.cs
- SerializationFieldInfo.cs
- TraceContext.cs
- StackOverflowException.cs
- FileSystemWatcher.cs
- AllMembershipCondition.cs
- CultureInfoConverter.cs
- ConfigurationConverterBase.cs
- LineInfo.cs
- HandlerMappingMemo.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- OracleConnectionFactory.cs
- BinaryWriter.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- QilStrConcatenator.cs
- ConnectionManagementSection.cs
- CapabilitiesState.cs
- NativeMethods.cs
- Win32NamedPipes.cs
- base64Transforms.cs
- InstanceKeyCollisionException.cs
- ThousandthOfEmRealDoubles.cs
- DataGridLinkButton.cs
- SqlLiftWhereClauses.cs
- Geometry3D.cs
- EventPropertyMap.cs
- SurrogateEncoder.cs
- ExpressionVisitor.cs
- ComponentSerializationService.cs
- EditorAttribute.cs
- InputProcessorProfiles.cs
- HtmlGenericControl.cs