Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataWebControls / System / Data / WebControls / WebControlParameterProxy.cs / 1 / WebControlParameterProxy.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner objsdev //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.UI.WebControls; using System.Diagnostics; using System.Data; using System.Globalization; namespace System.Web.UI.WebControls { internal class WebControlParameterProxy { ParameterCollection _collection; EntityDataSource _entityDataSource; Parameter _parameter; // Can be null, that's why this class doesn't subclass Parameter internal WebControlParameterProxy(string propertyName, ParameterCollection parameterCollection, EntityDataSource entityDataSource) { Debug.Assert(null != entityDataSource); Debug.Assert(!String.IsNullOrEmpty(propertyName)); _parameter = EntityDataSourceUtil.GetParameter(propertyName, parameterCollection); _collection = parameterCollection; _entityDataSource = entityDataSource; VerifyUniqueType(_parameter); } internal WebControlParameterProxy(Parameter parameter, ParameterCollection parameterCollection, EntityDataSource entityDataSource) { Debug.Assert(null != entityDataSource); _parameter = parameter; _collection = parameterCollection; _entityDataSource = entityDataSource; VerifyUniqueType(_parameter); } internal string Name { get { if (null != _parameter) { return _parameter.Name; } return null; } } internal bool HasValue { get { return null != _parameter && null != Value; } } internal bool ConvertEmptyStringToNull { get { if (null != _parameter) { return _parameter.ConvertEmptyStringToNull; } return false; } } internal TypeCode TypeCode { get { if (null != _parameter) { return _parameter.Type; } return TypeCode.Empty; } } internal DbType DbType { get { if (null != _parameter) { return _parameter.DbType; } return DbType.Object; } } internal Type ClrType { get { Debug.Assert(this.TypeCode != TypeCode.Empty || this.DbType != DbType.Object, "Need to have TypeCode or DbType to get a ClrType"); if (this.TypeCode != TypeCode.Empty) { return EntityDataSourceUtil.ConvertTypeCodeToType(this.TypeCode); } return EntityDataSourceUtil.ConvertTypeCodeToType( EntityDataSourceUtil.ConvertDbTypeToTypeCode(this.DbType)); } } internal object Value { get { if (_parameter != null) { object paramValue = EntityDataSourceUtil.GetParameterValue(_parameter.Name, _collection, _entityDataSource); if (paramValue != null) { if (this.DbType == DbType.DateTimeOffset) { object value = (paramValue is DateTimeOffset) ? paramValue : DateTimeOffset.Parse(this.Value.ToString(), CultureInfo.CurrentCulture); return value; } else if (this.DbType == DbType.Time) { object value = (paramValue is TimeSpan) ? paramValue : TimeSpan.Parse(paramValue.ToString()); return value; } else if (this.DbType == DbType.Guid) { object value = (paramValue is Guid) ? paramValue : new Guid(paramValue.ToString()); return value; } } return paramValue; } return null; } } private static void VerifyUniqueType(Parameter parameter) { if (parameter != null && parameter.Type == TypeCode.Empty && parameter.DbType == DbType.Object) { throw new InvalidOperationException(Strings.WebControlParameterProxy_TypeDbTypeMutuallyExclusive); } if (parameter != null && parameter.DbType != DbType.Object && parameter.Type != TypeCode.Empty) { throw new InvalidOperationException(Strings.WebControlParameterProxy_TypeDbTypeMutuallyExclusive); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner objsdev //--------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Web.UI.WebControls; using System.Diagnostics; using System.Data; using System.Globalization; namespace System.Web.UI.WebControls { internal class WebControlParameterProxy { ParameterCollection _collection; EntityDataSource _entityDataSource; Parameter _parameter; // Can be null, that's why this class doesn't subclass Parameter internal WebControlParameterProxy(string propertyName, ParameterCollection parameterCollection, EntityDataSource entityDataSource) { Debug.Assert(null != entityDataSource); Debug.Assert(!String.IsNullOrEmpty(propertyName)); _parameter = EntityDataSourceUtil.GetParameter(propertyName, parameterCollection); _collection = parameterCollection; _entityDataSource = entityDataSource; VerifyUniqueType(_parameter); } internal WebControlParameterProxy(Parameter parameter, ParameterCollection parameterCollection, EntityDataSource entityDataSource) { Debug.Assert(null != entityDataSource); _parameter = parameter; _collection = parameterCollection; _entityDataSource = entityDataSource; VerifyUniqueType(_parameter); } internal string Name { get { if (null != _parameter) { return _parameter.Name; } return null; } } internal bool HasValue { get { return null != _parameter && null != Value; } } internal bool ConvertEmptyStringToNull { get { if (null != _parameter) { return _parameter.ConvertEmptyStringToNull; } return false; } } internal TypeCode TypeCode { get { if (null != _parameter) { return _parameter.Type; } return TypeCode.Empty; } } internal DbType DbType { get { if (null != _parameter) { return _parameter.DbType; } return DbType.Object; } } internal Type ClrType { get { Debug.Assert(this.TypeCode != TypeCode.Empty || this.DbType != DbType.Object, "Need to have TypeCode or DbType to get a ClrType"); if (this.TypeCode != TypeCode.Empty) { return EntityDataSourceUtil.ConvertTypeCodeToType(this.TypeCode); } return EntityDataSourceUtil.ConvertTypeCodeToType( EntityDataSourceUtil.ConvertDbTypeToTypeCode(this.DbType)); } } internal object Value { get { if (_parameter != null) { object paramValue = EntityDataSourceUtil.GetParameterValue(_parameter.Name, _collection, _entityDataSource); if (paramValue != null) { if (this.DbType == DbType.DateTimeOffset) { object value = (paramValue is DateTimeOffset) ? paramValue : DateTimeOffset.Parse(this.Value.ToString(), CultureInfo.CurrentCulture); return value; } else if (this.DbType == DbType.Time) { object value = (paramValue is TimeSpan) ? paramValue : TimeSpan.Parse(paramValue.ToString()); return value; } else if (this.DbType == DbType.Guid) { object value = (paramValue is Guid) ? paramValue : new Guid(paramValue.ToString()); return value; } } return paramValue; } return null; } } private static void VerifyUniqueType(Parameter parameter) { if (parameter != null && parameter.Type == TypeCode.Empty && parameter.DbType == DbType.Object) { throw new InvalidOperationException(Strings.WebControlParameterProxy_TypeDbTypeMutuallyExclusive); } if (parameter != null && parameter.DbType != DbType.Object && parameter.Type != TypeCode.Empty) { throw new InvalidOperationException(Strings.WebControlParameterProxy_TypeDbTypeMutuallyExclusive); } } } } // 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
- InternalSafeNativeMethods.cs
- SolidColorBrush.cs
- SmiXetterAccessMap.cs
- CodeStatement.cs
- UniqueEventHelper.cs
- DefaultValueMapping.cs
- InitialServerConnectionReader.cs
- Package.cs
- GraphicsState.cs
- HttpConfigurationContext.cs
- CodeDirectiveCollection.cs
- PageThemeParser.cs
- EncoderNLS.cs
- XsdCachingReader.cs
- VectorAnimationUsingKeyFrames.cs
- PopupEventArgs.cs
- ProfilePropertySettingsCollection.cs
- ToolStripSettings.cs
- AbstractExpressions.cs
- CodeGeneratorOptions.cs
- XPathScanner.cs
- PointLightBase.cs
- StylusDevice.cs
- HttpAsyncResult.cs
- SerialStream.cs
- TemplatedWizardStep.cs
- InteropTrackingRecord.cs
- OpenTypeMethods.cs
- FragmentNavigationEventArgs.cs
- EntityClassGenerator.cs
- Win32SafeHandles.cs
- CfgParser.cs
- DeviceContexts.cs
- StateDesigner.CommentLayoutGlyph.cs
- PropagatorResult.cs
- FormatException.cs
- DeviceContexts.cs
- RequiredArgumentAttribute.cs
- ContainerFilterService.cs
- TreeView.cs
- RowParagraph.cs
- ArrayElementGridEntry.cs
- WSIdentityFaultException.cs
- DataTemplateSelector.cs
- ImageIndexConverter.cs
- HyperLink.cs
- ToolboxItemSnapLineBehavior.cs
- ToolZone.cs
- ProviderBase.cs
- ControlEvent.cs
- XmlDictionaryReader.cs
- ParameterCollection.cs
- PartialArray.cs
- MenuItemBinding.cs
- TextTreeUndo.cs
- TypefaceMap.cs
- ExpressionPrefixAttribute.cs
- processwaithandle.cs
- DrawingContextDrawingContextWalker.cs
- RootBrowserWindow.cs
- OuterGlowBitmapEffect.cs
- XmlImplementation.cs
- PeerCredential.cs
- MessageQueueCriteria.cs
- ElementHost.cs
- Funcletizer.cs
- XmlSigningNodeWriter.cs
- ResourcesGenerator.cs
- TextFormatterImp.cs
- ContractSearchPattern.cs
- XmlKeywords.cs
- XmlMapping.cs
- QilInvokeLateBound.cs
- DataGridViewTextBoxEditingControl.cs
- SharingService.cs
- IconEditor.cs
- Int64Animation.cs
- XmlILTrace.cs
- ConnectionPointCookie.cs
- __Filters.cs
- SystemDiagnosticsSection.cs
- SpotLight.cs
- EntityAdapter.cs
- ParallelLoopState.cs
- OperatingSystem.cs
- ConfigErrorGlyph.cs
- BinaryNode.cs
- Regex.cs
- BaseCAMarshaler.cs
- InstanceView.cs
- NumberFormatter.cs
- FormViewPageEventArgs.cs
- FixedDSBuilder.cs
- DropAnimation.xaml.cs
- AppDomainUnloadedException.cs
- HMAC.cs
- FontConverter.cs
- PropertyDescriptorComparer.cs
- QueryExpr.cs
- IPHostEntry.cs