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
- DuplicateWaitObjectException.cs
- BitmapPalettes.cs
- HelpProvider.cs
- CursorEditor.cs
- HitTestParameters3D.cs
- PerformanceCountersElement.cs
- AssemblyInfo.cs
- SmiEventSink_Default.cs
- SimpleRecyclingCache.cs
- QilChoice.cs
- XmlQueryType.cs
- KnownColorTable.cs
- columnmapfactory.cs
- FixedPageStructure.cs
- HtmlInputReset.cs
- MessageBodyDescription.cs
- _CookieModule.cs
- HtmlEmptyTagControlBuilder.cs
- Animatable.cs
- AttachmentService.cs
- Typography.cs
- DbMetaDataCollectionNames.cs
- InputScope.cs
- XmlSchemaSimpleContentRestriction.cs
- ToolStripItemRenderEventArgs.cs
- DynamicPhysicalDiscoSearcher.cs
- ViewKeyConstraint.cs
- SmtpDateTime.cs
- TemplateField.cs
- TableCellsCollectionEditor.cs
- BasicKeyConstraint.cs
- SharedPersonalizationStateInfo.cs
- IndentedWriter.cs
- XmlQueryType.cs
- EventlogProvider.cs
- SeverityFilter.cs
- ListDictionary.cs
- DbConnectionOptions.cs
- MappedMetaModel.cs
- WrapperEqualityComparer.cs
- LicenseException.cs
- AttributeEmitter.cs
- XslTransform.cs
- ThicknessConverter.cs
- SerializationSectionGroup.cs
- XsdDataContractImporter.cs
- MenuEventArgs.cs
- CompilerLocalReference.cs
- DataListItem.cs
- ClientCredentialsSecurityTokenManager.cs
- HijriCalendar.cs
- wgx_commands.cs
- TextEditorParagraphs.cs
- MappingModelBuildProvider.cs
- StoreItemCollection.cs
- COM2ExtendedBrowsingHandler.cs
- cryptoapiTransform.cs
- CheckPair.cs
- ETagAttribute.cs
- AssemblySettingAttributes.cs
- SortQueryOperator.cs
- DoubleLinkList.cs
- PathTooLongException.cs
- DbConnectionPool.cs
- SelectionPatternIdentifiers.cs
- HostingEnvironment.cs
- HMACSHA256.cs
- GetPageNumberCompletedEventArgs.cs
- TraceContextRecord.cs
- Literal.cs
- SystemFonts.cs
- _UncName.cs
- AttributedMetaModel.cs
- Int32.cs
- ColorMap.cs
- ResourcePermissionBase.cs
- Parser.cs
- RootContext.cs
- StringUtil.cs
- DataRowChangeEvent.cs
- CheckBoxRenderer.cs
- ContentElement.cs
- GeneralTransformGroup.cs
- InvalidDataException.cs
- PrintPreviewGraphics.cs
- LocalValueEnumerator.cs
- CollectionConverter.cs
- InstanceCollisionException.cs
- HttpProcessUtility.cs
- TypedElement.cs
- XmlQuerySequence.cs
- sitestring.cs
- XmlElementAttributes.cs
- FileAuthorizationModule.cs
- HttpStreamXmlDictionaryReader.cs
- NetStream.cs
- Permission.cs
- ToolStripItemTextRenderEventArgs.cs
- HostingEnvironmentSection.cs
- InstanceDataCollection.cs