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
- FixedDocumentSequencePaginator.cs
- DateBoldEvent.cs
- SessionEndingEventArgs.cs
- UniqueIdentifierService.cs
- UnwrappedTypesXmlSerializerManager.cs
- ApplicationTrust.cs
- Equal.cs
- DocumentSequence.cs
- UnmanagedBitmapWrapper.cs
- MultipartIdentifier.cs
- ObjectSet.cs
- GridView.cs
- WebPartsSection.cs
- CDSsyncETWBCLProvider.cs
- SpecialFolderEnumConverter.cs
- XamlFxTrace.cs
- EntityDataSourceMemberPath.cs
- TextHidden.cs
- SystemEvents.cs
- PageContent.cs
- ProgressBarAutomationPeer.cs
- CombinedGeometry.cs
- IgnorePropertiesAttribute.cs
- PublishLicense.cs
- OracleConnection.cs
- EdmItemError.cs
- Missing.cs
- SqlCommandBuilder.cs
- HtmlHistory.cs
- MessageQueueCriteria.cs
- ThicknessConverter.cs
- QuaternionValueSerializer.cs
- TableLayoutStyleCollection.cs
- DesignerOptionService.cs
- VisualBasicDesignerHelper.cs
- WindowPattern.cs
- NullableFloatAverageAggregationOperator.cs
- MessageBox.cs
- RelAssertionDirectKeyIdentifierClause.cs
- QilName.cs
- CollectionBuilder.cs
- AutomationElementIdentifiers.cs
- NonParentingControl.cs
- IdleTimeoutMonitor.cs
- HttpCachePolicyElement.cs
- MimeWriter.cs
- DynamicVirtualDiscoSearcher.cs
- TreeViewDataItemAutomationPeer.cs
- CursorEditor.cs
- PartitionResolver.cs
- XmlImplementation.cs
- IBuiltInEvidence.cs
- BypassElementCollection.cs
- PointCollection.cs
- Function.cs
- WmiEventSink.cs
- AndMessageFilter.cs
- UrlPath.cs
- Stacktrace.cs
- BitmapEffect.cs
- ConnectionPoint.cs
- CanonicalXml.cs
- ResXResourceSet.cs
- DataErrorValidationRule.cs
- RadioButtonList.cs
- Int32EqualityComparer.cs
- FilteredDataSetHelper.cs
- KoreanCalendar.cs
- IResourceProvider.cs
- WebBrowserUriTypeConverter.cs
- DefaultValueTypeConverter.cs
- SqlDataSourceStatusEventArgs.cs
- RelationshipWrapper.cs
- RegexRunnerFactory.cs
- SafeFileMappingHandle.cs
- PriorityQueue.cs
- BooleanFunctions.cs
- LongValidator.cs
- SortedList.cs
- ProxyWebPart.cs
- basevalidator.cs
- WorkflowTransactionService.cs
- InkCanvas.cs
- SessionStateItemCollection.cs
- FrameworkPropertyMetadata.cs
- MarkupObject.cs
- EUCJPEncoding.cs
- UidManager.cs
- WebPartCatalogCloseVerb.cs
- ReadOnlyDictionary.cs
- UserControl.cs
- ColumnMapVisitor.cs
- ClientScriptItem.cs
- ApplicationContext.cs
- DirectionalLight.cs
- SQLMembershipProvider.cs
- _NegoState.cs
- DurableErrorHandler.cs
- TemplateControlParser.cs
- Membership.cs