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
- mediaeventshelper.cs
- Timer.cs
- Image.cs
- PeerMessageDispatcher.cs
- SQLSingle.cs
- ActivityTypeDesigner.xaml.cs
- WebPartHeaderCloseVerb.cs
- MutableAssemblyCacheEntry.cs
- Boolean.cs
- typedescriptorpermission.cs
- BindingContext.cs
- mediapermission.cs
- LookupTables.cs
- RequestQueue.cs
- DocumentViewerAutomationPeer.cs
- DropShadowEffect.cs
- TableLayoutSettingsTypeConverter.cs
- SearchExpression.cs
- ToolStripSeparatorRenderEventArgs.cs
- TemplateNameScope.cs
- UrlPath.cs
- OleServicesContext.cs
- Application.cs
- oledbconnectionstring.cs
- Compilation.cs
- PersonalizationEntry.cs
- SqlDataSourceCache.cs
- ArgumentsParser.cs
- AssociationEndMember.cs
- CompareInfo.cs
- TextBoxLine.cs
- EditingCommands.cs
- XmlQueryOutput.cs
- Message.cs
- DirectoryGroupQuery.cs
- ByteStack.cs
- MultipleViewProviderWrapper.cs
- DataPagerCommandEventArgs.cs
- UnsafeNativeMethods.cs
- HttpContextBase.cs
- Parameter.cs
- FontStyleConverter.cs
- Pair.cs
- XmlSignatureProperties.cs
- KnownBoxes.cs
- FrameworkReadOnlyPropertyMetadata.cs
- DataTableExtensions.cs
- ScrollEvent.cs
- HttpListenerException.cs
- WindowManager.cs
- OrderPreservingPipeliningSpoolingTask.cs
- ControlCommandSet.cs
- EFDataModelProvider.cs
- EdmComplexPropertyAttribute.cs
- XhtmlMobileTextWriter.cs
- SHA1CryptoServiceProvider.cs
- ToolboxItemFilterAttribute.cs
- UniqueIdentifierService.cs
- EpmSourceTree.cs
- DataSourceSerializationException.cs
- Overlapped.cs
- ClientTargetSection.cs
- EnumValidator.cs
- SQLMembershipProvider.cs
- Cell.cs
- ClickablePoint.cs
- ControlBindingsConverter.cs
- FixedPage.cs
- RemotingConfiguration.cs
- RuleSettings.cs
- DelayedRegex.cs
- ObjectCacheHost.cs
- ListBase.cs
- PropertyTabAttribute.cs
- RuntimeCompatibilityAttribute.cs
- CatalogZoneDesigner.cs
- Certificate.cs
- PropertyNames.cs
- HashMembershipCondition.cs
- Object.cs
- ContainerUIElement3D.cs
- RegexTree.cs
- DataStorage.cs
- TransformerInfoCollection.cs
- Screen.cs
- StringComparer.cs
- TrackingCondition.cs
- EntityChangedParams.cs
- ThrowOnMultipleAssignment.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- DataServiceOperationContext.cs
- HierarchicalDataBoundControlAdapter.cs
- PerspectiveCamera.cs
- DataSourceXmlElementAttribute.cs
- CompilerScope.Storage.cs
- _TLSstream.cs
- ConfigurationPermission.cs
- KeyTime.cs
- RawStylusInputReport.cs
- SafeReversePInvokeHandle.cs