Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWebControls / System / Data / WebControls / WebControlParameterProxy.cs / 1305376 / 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.ConvertDbTypeToType(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(), CultureInfo.CurrentCulture); 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.ConvertDbTypeToType(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(), CultureInfo.CurrentCulture); 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
- MenuItemBinding.cs
- TraceSection.cs
- SweepDirectionValidation.cs
- SecurityAlgorithmSuite.cs
- HebrewNumber.cs
- SafeNativeMethods.cs
- NullNotAllowedCollection.cs
- BlockingCollection.cs
- CodeParameterDeclarationExpression.cs
- ViewgenContext.cs
- CurrencyWrapper.cs
- DriveInfo.cs
- CachedRequestParams.cs
- ObjectQuery_EntitySqlExtensions.cs
- FontStyles.cs
- DataBindingExpressionBuilder.cs
- TextShapeableCharacters.cs
- DataColumnSelectionConverter.cs
- smtpconnection.cs
- DesignerDataView.cs
- TextServicesDisplayAttribute.cs
- OperatorExpressions.cs
- BinaryFormatter.cs
- SynchronousChannel.cs
- SrgsElementFactory.cs
- VisualStyleInformation.cs
- XmlSchemaSimpleContentExtension.cs
- PropertyMetadata.cs
- FamilyTypeface.cs
- XmlLinkedNode.cs
- ManagementScope.cs
- CustomActivityDesigner.cs
- RemoteWebConfigurationHost.cs
- ClientConfigurationSystem.cs
- LocatorPart.cs
- xsdvalidator.cs
- FamilyMap.cs
- TableChangeProcessor.cs
- WebBrowserEvent.cs
- CodeDomConfigurationHandler.cs
- CodeDelegateInvokeExpression.cs
- ConstraintEnumerator.cs
- RelationshipFixer.cs
- CryptoProvider.cs
- CardSpaceShim.cs
- FontWeightConverter.cs
- SoapSchemaMember.cs
- SqlInfoMessageEvent.cs
- Vector3DAnimationUsingKeyFrames.cs
- XmlRootAttribute.cs
- AnonymousIdentificationSection.cs
- SystemShuttingDownException.cs
- ConfigurationProperty.cs
- PeerInvitationResponse.cs
- CopyCodeAction.cs
- PageAdapter.cs
- RelativeSource.cs
- PersianCalendar.cs
- Utils.cs
- IISUnsafeMethods.cs
- AsymmetricSignatureFormatter.cs
- login.cs
- dsa.cs
- ColorBlend.cs
- ResourceProviderFactory.cs
- RightsManagementEncryptionTransform.cs
- TypeSource.cs
- EncodingTable.cs
- LayoutEditorPart.cs
- MediaScriptCommandRoutedEventArgs.cs
- COM2EnumConverter.cs
- TextRangeSerialization.cs
- arc.cs
- Opcode.cs
- StaticResourceExtension.cs
- CachingHintValidation.cs
- DataControlImageButton.cs
- ColumnWidthChangingEvent.cs
- ClaimComparer.cs
- Funcletizer.cs
- DialogBaseForm.cs
- CompoundFileIOPermission.cs
- HtmlAnchor.cs
- ProgressChangedEventArgs.cs
- ICspAsymmetricAlgorithm.cs
- ControlEvent.cs
- CursorInteropHelper.cs
- OpCopier.cs
- StrongNameUtility.cs
- FontNamesConverter.cs
- DataGridTextBoxColumn.cs
- IConvertible.cs
- VerificationAttribute.cs
- UIElementHelper.cs
- UserPersonalizationStateInfo.cs
- PlatformNotSupportedException.cs
- ConnectionProviderAttribute.cs
- MailBnfHelper.cs
- ItemMap.cs
- NativeMethods.cs