Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebPartConnectionCollection.cs
- VisualCollection.cs
- DataControlReference.cs
- GB18030Encoding.cs
- HtmlEncodedRawTextWriter.cs
- DrawingDrawingContext.cs
- SizeAnimationBase.cs
- DocComment.cs
- QilSortKey.cs
- SignatureResourcePool.cs
- TriState.cs
- FixedSOMSemanticBox.cs
- sapiproxy.cs
- Vector3dCollection.cs
- Psha1DerivedKeyGeneratorHelper.cs
- MorphHelper.cs
- ArrayWithOffset.cs
- RoleServiceManager.cs
- TextServicesManager.cs
- CfgParser.cs
- Transactions.cs
- HwndSourceParameters.cs
- SymLanguageVendor.cs
- DataContractSerializerOperationBehavior.cs
- Privilege.cs
- AccessKeyManager.cs
- DataGridViewCellStyleConverter.cs
- DataServices.cs
- SynchronizingStream.cs
- EntryPointNotFoundException.cs
- DispatchWrapper.cs
- FlowDocumentReader.cs
- HttpModuleAction.cs
- KeyInfo.cs
- HeaderLabel.cs
- ChangesetResponse.cs
- EdmError.cs
- DiscoveryMessageProperty.cs
- SecurityUniqueId.cs
- SystemKeyConverter.cs
- TemplateKey.cs
- ErrorRuntimeConfig.cs
- remotingproxy.cs
- MemoryMappedViewAccessor.cs
- DataGridViewButtonCell.cs
- ISO2022Encoding.cs
- DocumentXPathNavigator.cs
- MeasureData.cs
- ControlAdapter.cs
- RawStylusInput.cs
- ImageAnimator.cs
- Vector3DAnimationBase.cs
- DbModificationCommandTree.cs
- XmlValidatingReaderImpl.cs
- Rect3DConverter.cs
- SafeCoTaskMem.cs
- StringComparer.cs
- BufferedResponseStream.cs
- DataGridViewAutoSizeModeEventArgs.cs
- BufferedReadStream.cs
- DesignTimeParseData.cs
- DispatchProxy.cs
- InternalMappingException.cs
- ShaderRenderModeValidation.cs
- MD5.cs
- ObjectItemCollection.cs
- SubqueryRules.cs
- Pair.cs
- ToolStripDropDownMenu.cs
- EntityDataSourceDesigner.cs
- SHA512.cs
- MethodToken.cs
- WeakEventManager.cs
- documentsequencetextpointer.cs
- XmlSchemaParticle.cs
- ViewBase.cs
- SelectQueryOperator.cs
- ToolStripScrollButton.cs
- _DisconnectOverlappedAsyncResult.cs
- BroadcastEventHelper.cs
- VirtualizedContainerService.cs
- NewExpression.cs
- DataExpression.cs
- BasePattern.cs
- SymbolMethod.cs
- ForeignKeyConstraint.cs
- XmlSerializableServices.cs
- Parser.cs
- SecurityException.cs
- SystemTcpConnection.cs
- UnicodeEncoding.cs
- XmlWhitespace.cs
- RtfControls.cs
- UrlPath.cs
- SmtpMail.cs
- LocatorManager.cs
- WmlTextViewAdapter.cs
- InternalDuplexChannelFactory.cs
- PartialList.cs
- basecomparevalidator.cs