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
- DatagridviewDisplayedBandsData.cs
- ActiveXHost.cs
- TreeView.cs
- AggregateException.cs
- PnrpPeerResolverBindingElement.cs
- WebCategoryAttribute.cs
- IteratorFilter.cs
- Rectangle.cs
- RectAnimationUsingKeyFrames.cs
- ObjectViewQueryResultData.cs
- ModuleBuilder.cs
- EntityCommandCompilationException.cs
- ObjectDataSourceDisposingEventArgs.cs
- GatewayDefinition.cs
- SHA1CryptoServiceProvider.cs
- SemanticResultKey.cs
- DoubleCollection.cs
- UrlMappingsModule.cs
- ProvidePropertyAttribute.cs
- MessageQueuePermissionEntry.cs
- SystemIPv4InterfaceProperties.cs
- HtmlMeta.cs
- MonitoringDescriptionAttribute.cs
- ChunkedMemoryStream.cs
- DataGridViewButtonCell.cs
- XmlCharCheckingWriter.cs
- PhysicalFontFamily.cs
- ProxyManager.cs
- OleDbFactory.cs
- ColorKeyFrameCollection.cs
- SqlReferenceCollection.cs
- RealizationDrawingContextWalker.cs
- xmlglyphRunInfo.cs
- GridViewSortEventArgs.cs
- OdbcStatementHandle.cs
- GridView.cs
- WindowsFormsSectionHandler.cs
- IPHostEntry.cs
- ListGeneralPage.cs
- DoubleLink.cs
- Transform3D.cs
- ClientOptions.cs
- XamlSerializerUtil.cs
- ExpressionPrefixAttribute.cs
- TypographyProperties.cs
- XPathNavigator.cs
- StrongNameMembershipCondition.cs
- Quad.cs
- ArrayTypeMismatchException.cs
- MouseDevice.cs
- TransformerTypeCollection.cs
- AQNBuilder.cs
- OutOfProcStateClientManager.cs
- PeerEndPoint.cs
- ArraySubsetEnumerator.cs
- SuppressIldasmAttribute.cs
- RectangleConverter.cs
- _SslSessionsCache.cs
- Wizard.cs
- NamespaceEmitter.cs
- DBSqlParserTable.cs
- XXXInfos.cs
- DataGridViewToolTip.cs
- CheckBox.cs
- SRGSCompiler.cs
- TableLayoutRowStyleCollection.cs
- SqlCommand.cs
- WebPartDisplayModeCollection.cs
- HelpKeywordAttribute.cs
- WrapperSecurityCommunicationObject.cs
- VisualStates.cs
- SqlBooleanMismatchVisitor.cs
- EventManager.cs
- ObjectItemNoOpAssemblyLoader.cs
- CqlGenerator.cs
- Atom10FormatterFactory.cs
- BinaryHeap.cs
- ByteKeyFrameCollection.cs
- LocalizableAttribute.cs
- Variant.cs
- XsltLibrary.cs
- RowBinding.cs
- HttpResponseInternalWrapper.cs
- ListBoxChrome.cs
- XmlCharCheckingReader.cs
- Registry.cs
- Slider.cs
- InputLanguageManager.cs
- AdapterUtil.cs
- NetTcpBindingCollectionElement.cs
- ConfigPathUtility.cs
- MethodAccessException.cs
- XmlSchemaResource.cs
- DBConnectionString.cs
- PrintingPermissionAttribute.cs
- BitmapEffectDrawing.cs
- PenContext.cs
- DetailsViewUpdateEventArgs.cs
- StringComparer.cs
- Model3D.cs