Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- InvokeCompletedEventArgs.cs
- MetadataResolver.cs
- PermissionSet.cs
- Executor.cs
- DispatcherTimer.cs
- IfJoinedCondition.cs
- SqlFileStream.cs
- SQLGuidStorage.cs
- ListSortDescription.cs
- MouseDevice.cs
- Form.cs
- SQLByte.cs
- SiteIdentityPermission.cs
- EpmCustomContentWriterNodeData.cs
- AuthenticatingEventArgs.cs
- OrthographicCamera.cs
- BaseDataListComponentEditor.cs
- XXXInfos.cs
- EntityTypeBase.cs
- DataTable.cs
- CodeMethodInvokeExpression.cs
- BaseParaClient.cs
- StreamFormatter.cs
- FrameworkElementAutomationPeer.cs
- ListViewSortEventArgs.cs
- Quaternion.cs
- StreamProxy.cs
- SQLCharsStorage.cs
- Encoder.cs
- PrinterSettings.cs
- SqlBulkCopyColumnMapping.cs
- TextRangeEdit.cs
- BitmapEncoder.cs
- SqlUtils.cs
- OutputCacheSection.cs
- ContractSearchPattern.cs
- BaseUriHelper.cs
- PipeSecurity.cs
- CqlLexerHelpers.cs
- BinaryWriter.cs
- DuplicateContext.cs
- HtmlInputFile.cs
- SafeFileMapViewHandle.cs
- SignedPkcs7.cs
- StackSpiller.Temps.cs
- ManagementPath.cs
- DynamicEntity.cs
- XmlReader.cs
- XmlBaseWriter.cs
- ImageAutomationPeer.cs
- RawKeyboardInputReport.cs
- Native.cs
- SqlDataSourceConfigureSortForm.cs
- EmptyImpersonationContext.cs
- AddInSegmentDirectoryNotFoundException.cs
- Point4D.cs
- BehaviorEditorPart.cs
- OleDbPermission.cs
- Timeline.cs
- MasterPageBuildProvider.cs
- InternalUserCancelledException.cs
- DiscardableAttribute.cs
- DBPropSet.cs
- EntitySetRetriever.cs
- CapiSymmetricAlgorithm.cs
- DataGridViewCellStyle.cs
- TreeViewEvent.cs
- WebPartHeaderCloseVerb.cs
- ReferentialConstraint.cs
- DataColumnChangeEvent.cs
- ObjectDataSourceSelectingEventArgs.cs
- UseLicense.cs
- HttpInputStream.cs
- InstancePersistenceContext.cs
- SystemException.cs
- ComboBoxDesigner.cs
- SqlParameterCollection.cs
- ExpressionBuilderCollection.cs
- TreeNodeStyleCollection.cs
- TextTreePropertyUndoUnit.cs
- WebPartMinimizeVerb.cs
- SemaphoreSlim.cs
- XmlSchemaDatatype.cs
- CodeTypeDeclaration.cs
- _Rfc2616CacheValidators.cs
- DataAdapter.cs
- SqlClientFactory.cs
- SQLBinary.cs
- CodeGroup.cs
- LiteralTextContainerControlBuilder.cs
- PeerInvitationResponse.cs
- TripleDESCryptoServiceProvider.cs
- LineSegment.cs
- ClientProxyGenerator.cs
- DebugController.cs
- DocumentCollection.cs
- DataGridViewColumnHeaderCell.cs
- CodeDelegateInvokeExpression.cs
- HttpCookieCollection.cs
- ParagraphResult.cs