Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- HtmlInputText.cs
- OleDbDataReader.cs
- ConfigXmlCDataSection.cs
- RadioButtonList.cs
- TransformerTypeCollection.cs
- messageonlyhwndwrapper.cs
- TimerElapsedEvenArgs.cs
- HtmlTableCellCollection.cs
- ScalarConstant.cs
- Point3DCollectionValueSerializer.cs
- DataPagerCommandEventArgs.cs
- ClientTargetSection.cs
- XmlEntityReference.cs
- WebPartConnectVerb.cs
- WebPartRestoreVerb.cs
- UmAlQuraCalendar.cs
- StagingAreaInputItem.cs
- TableAdapterManagerNameHandler.cs
- SoapBinding.cs
- Size3D.cs
- PreApplicationStartMethodAttribute.cs
- FileStream.cs
- SafeFileMappingHandle.cs
- FreezableCollection.cs
- DNS.cs
- MouseActionValueSerializer.cs
- BaseInfoTable.cs
- Span.cs
- _AcceptOverlappedAsyncResult.cs
- RolePrincipal.cs
- NativeMethods.cs
- MultiViewDesigner.cs
- DynamicRenderer.cs
- CallbackHandler.cs
- BlockUIContainer.cs
- Grid.cs
- BinaryFormatterWriter.cs
- ScalarOps.cs
- Pool.cs
- RayHitTestParameters.cs
- AsyncOperation.cs
- TemplateControlParser.cs
- CommandEventArgs.cs
- AnonymousIdentificationSection.cs
- WorkflowPrinting.cs
- ByteRangeDownloader.cs
- WebReferencesBuildProvider.cs
- DbProviderFactoriesConfigurationHandler.cs
- ApplyImportsAction.cs
- Literal.cs
- HtmlControlAdapter.cs
- SystemInfo.cs
- Internal.cs
- ProfessionalColorTable.cs
- FixedFlowMap.cs
- UnsafeNativeMethodsCLR.cs
- CuspData.cs
- FontFamilyIdentifier.cs
- PropVariant.cs
- ReflectionUtil.cs
- ResourceBinder.cs
- TransformedBitmap.cs
- TraceLevelHelper.cs
- PeerObject.cs
- RelatedImageListAttribute.cs
- WmlPageAdapter.cs
- WebPartMovingEventArgs.cs
- DbConnectionStringBuilder.cs
- ConfigurationFileMap.cs
- FixedBufferAttribute.cs
- EditorPartChrome.cs
- WinFormsComponentEditor.cs
- DictionaryBase.cs
- CompilerGlobalScopeAttribute.cs
- _DigestClient.cs
- PrinterSettings.cs
- Zone.cs
- ETagAttribute.cs
- AxHostDesigner.cs
- MapPathBasedVirtualPathProvider.cs
- ClientOperationFormatterProvider.cs
- ErrorHandlerModule.cs
- RectAnimationUsingKeyFrames.cs
- DoubleLinkList.cs
- ExpandableObjectConverter.cs
- MediaSystem.cs
- MD5CryptoServiceProvider.cs
- Trace.cs
- WaitingCursor.cs
- PostBackOptions.cs
- DSACryptoServiceProvider.cs
- TemplateContent.cs
- ItemsPanelTemplate.cs
- EventListenerClientSide.cs
- DSASignatureDeformatter.cs
- ProfileGroupSettingsCollection.cs
- ParameterInfo.cs
- SqlNamer.cs
- ApplicationBuildProvider.cs
- EnvelopedPkcs7.cs