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
- ScrollableControl.cs
- ParserContext.cs
- OleDbException.cs
- Mappings.cs
- StateDesignerConnector.cs
- AdjustableArrowCap.cs
- LinqExpressionNormalizer.cs
- RepeaterDataBoundAdapter.cs
- TakeQueryOptionExpression.cs
- CachedFontFamily.cs
- BitmapImage.cs
- CreationContext.cs
- RTLAwareMessageBox.cs
- IFormattable.cs
- GridView.cs
- WorkflowItemPresenter.cs
- WindowsScrollBarBits.cs
- DescendantOverDescendantQuery.cs
- WebControlsSection.cs
- FramingFormat.cs
- Figure.cs
- DataTable.cs
- DrawingImage.cs
- SqlUdtInfo.cs
- CaseExpr.cs
- InvalidOperationException.cs
- PointHitTestParameters.cs
- RangeValuePattern.cs
- RawStylusInputCustomDataList.cs
- X509Chain.cs
- Token.cs
- TableAutomationPeer.cs
- Point3D.cs
- LoadGrammarCompletedEventArgs.cs
- UnknownWrapper.cs
- FlowLayoutPanel.cs
- DPTypeDescriptorContext.cs
- ImageEditor.cs
- MenuTracker.cs
- TableRowGroupCollection.cs
- EventBuilder.cs
- DesignerTransaction.cs
- COM2TypeInfoProcessor.cs
- ConfigurationManagerHelperFactory.cs
- SecurityTokenSerializer.cs
- UserControl.cs
- GridLengthConverter.cs
- SessionState.cs
- CorePropertiesFilter.cs
- BridgeDataReader.cs
- SqlDataSourceWizardForm.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SqlDataSourceCustomCommandPanel.cs
- ConfigurationSectionGroupCollection.cs
- TraceSection.cs
- Clock.cs
- TcpTransportElement.cs
- Visitor.cs
- XmlBinaryReader.cs
- LineSegment.cs
- ShapingWorkspace.cs
- ConditionalExpression.cs
- PathTooLongException.cs
- StatusBarAutomationPeer.cs
- ControlEvent.cs
- XmlMessageFormatter.cs
- AudioLevelUpdatedEventArgs.cs
- Label.cs
- TextWriter.cs
- RegexInterpreter.cs
- LineVisual.cs
- Timeline.cs
- NamespaceQuery.cs
- SignatureToken.cs
- DateTimeOffsetConverter.cs
- ToolStripDropDownItemDesigner.cs
- Vector3DConverter.cs
- CodeMethodReturnStatement.cs
- DataView.cs
- Duration.cs
- Baml2006KeyRecord.cs
- HitTestResult.cs
- MyContact.cs
- NetTcpBindingCollectionElement.cs
- XamlSerializerUtil.cs
- RowToParametersTransformer.cs
- ToolStripLabel.cs
- CultureInfoConverter.cs
- PropertyGeneratedEventArgs.cs
- Polygon.cs
- EventBindingService.cs
- GridViewRowPresenter.cs
- NamespaceDecl.cs
- ExpressionNormalizer.cs
- GeometryGroup.cs
- exports.cs
- TaskHelper.cs
- DesignerDeviceConfig.cs
- RangeValidator.cs
- Mapping.cs