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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DebugViewWriter.cs
- CompressStream.cs
- DataColumnMapping.cs
- updateconfighost.cs
- CodeTypeMemberCollection.cs
- StaticDataManager.cs
- SecurityCriticalDataForSet.cs
- COM2Enum.cs
- WebMessageEncodingBindingElement.cs
- assertwrapper.cs
- ResourceDictionaryCollection.cs
- XmlDataSourceDesigner.cs
- DataControlFieldHeaderCell.cs
- Crypto.cs
- ClientTarget.cs
- HttpPostedFileBase.cs
- ArcSegment.cs
- _NTAuthentication.cs
- TypeListConverter.cs
- safemediahandle.cs
- QilChoice.cs
- WinFormsComponentEditor.cs
- IgnoreFlushAndCloseStream.cs
- Vector3DCollection.cs
- GenericTypeParameterBuilder.cs
- DocumentCollection.cs
- WorkflowCompensationBehavior.cs
- PolicyUnit.cs
- BufferModesCollection.cs
- ReflectionPermission.cs
- AssemblyAssociatedContentFileAttribute.cs
- PageSettings.cs
- RankException.cs
- PartialClassGenerationTask.cs
- DbParameterHelper.cs
- IdentityHolder.cs
- FlagsAttribute.cs
- HtmlSelect.cs
- XmlProcessingInstruction.cs
- ErasingStroke.cs
- GridViewColumnHeader.cs
- GradientStop.cs
- ConstraintManager.cs
- DataTemplateSelector.cs
- ServiceNameElement.cs
- ViewCellRelation.cs
- WebPartDisplayModeEventArgs.cs
- FullTrustAssembliesSection.cs
- EncryptedReference.cs
- WindowsStatusBar.cs
- XmlDocumentSurrogate.cs
- SystemResources.cs
- SingleObjectCollection.cs
- ToolCreatedEventArgs.cs
- EventLogPermissionAttribute.cs
- XmlUrlResolver.cs
- CodeConditionStatement.cs
- DataGridViewButtonCell.cs
- HttpListenerContext.cs
- UnauthorizedWebPart.cs
- ObjectListComponentEditor.cs
- BatchWriter.cs
- ProfileService.cs
- TextElementEnumerator.cs
- ReservationNotFoundException.cs
- StatusBarDrawItemEvent.cs
- GraphicsPathIterator.cs
- DispatcherObject.cs
- RadioButtonPopupAdapter.cs
- XmlObjectSerializer.cs
- System.Data_BID.cs
- WebBrowserDesigner.cs
- RuleInfoComparer.cs
- WebServiceHandler.cs
- MailWebEventProvider.cs
- XmlCharCheckingReader.cs
- PlatformNotSupportedException.cs
- BamlResourceSerializer.cs
- VSWCFServiceContractGenerator.cs
- WebRequest.cs
- MLangCodePageEncoding.cs
- FirstMatchCodeGroup.cs
- DateTimeConverter2.cs
- CheckBoxAutomationPeer.cs
- Int16Animation.cs
- PageParserFilter.cs
- WpfGeneratedKnownProperties.cs
- CompiledXpathExpr.cs
- smtpconnection.cs
- Operators.cs
- RuntimeHandles.cs
- ConnectionPoint.cs
- WSSecurityPolicy.cs
- XmlSerializationGeneratedCode.cs
- StrokeCollectionDefaultValueFactory.cs
- XmlSchemaAttributeGroupRef.cs
- ErrorReporting.cs
- LogLogRecordEnumerator.cs
- Parameter.cs
- SqlUserDefinedAggregateAttribute.cs