Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- MenuTracker.cs
- latinshape.cs
- CultureSpecificStringDictionary.cs
- TableItemProviderWrapper.cs
- RelationshipDetailsCollection.cs
- TextElement.cs
- SimpleModelProvider.cs
- HtmlElementErrorEventArgs.cs
- ConditionalBranch.cs
- CatalogZoneAutoFormat.cs
- listitem.cs
- XmlProcessingInstruction.cs
- Lazy.cs
- PatternMatcher.cs
- ImageSourceConverter.cs
- DataGridColumnHeaderCollection.cs
- ExtendedPropertyCollection.cs
- PathFigureCollection.cs
- entitydatasourceentitysetnameconverter.cs
- BamlRecordReader.cs
- WebPartConnectionsCloseVerb.cs
- CompositeControlDesigner.cs
- NativeMethods.cs
- SqlMethodAttribute.cs
- ElementUtil.cs
- StateMachineAction.cs
- ImageClickEventArgs.cs
- WebBrowserEvent.cs
- NullableLongAverageAggregationOperator.cs
- DataListItemEventArgs.cs
- SoapProtocolImporter.cs
- ISessionStateStore.cs
- ResourcesGenerator.cs
- ScrollProviderWrapper.cs
- DataViewSettingCollection.cs
- TreeNodeEventArgs.cs
- elementinformation.cs
- ResourceProperty.cs
- RangeBase.cs
- SoapInteropTypes.cs
- SystemWebSectionGroup.cs
- PrinterSettings.cs
- OpenFileDialog.cs
- ObjectItemCollection.cs
- DBConnectionString.cs
- WebPartEditorOkVerb.cs
- WebCategoryAttribute.cs
- MenuBase.cs
- DataBoundControl.cs
- ChineseLunisolarCalendar.cs
- xamlnodes.cs
- SystemMulticastIPAddressInformation.cs
- Point4DValueSerializer.cs
- ArrangedElement.cs
- DesignerActionMethodItem.cs
- InstanceData.cs
- FlowLayoutPanel.cs
- StatusBarDrawItemEvent.cs
- JsonFormatWriterGenerator.cs
- KeyGestureValueSerializer.cs
- XamlRtfConverter.cs
- XmlUTF8TextWriter.cs
- AuthenticationService.cs
- ListViewItemEventArgs.cs
- XmlReturnReader.cs
- CryptoSession.cs
- NullableDoubleMinMaxAggregationOperator.cs
- DefaultSerializationProviderAttribute.cs
- DelegatingHeader.cs
- RemoveStoryboard.cs
- SqlDataSourceQueryEditorForm.cs
- RelationshipWrapper.cs
- AutomationElement.cs
- ItemCheckEvent.cs
- ExecutionPropertyManager.cs
- SqlAliaser.cs
- sqlstateclientmanager.cs
- ActionItem.cs
- HostProtectionException.cs
- StylusShape.cs
- SchemaCollectionPreprocessor.cs
- MailWebEventProvider.cs
- StorageAssociationSetMapping.cs
- RegistrySecurity.cs
- DesignerRegionMouseEventArgs.cs
- DatePickerAutomationPeer.cs
- Duration.cs
- ThousandthOfEmRealPoints.cs
- RecognizerBase.cs
- WebServicesDescriptionAttribute.cs
- DataGridRowAutomationPeer.cs
- WebPartDeleteVerb.cs
- DataServiceProviderWrapper.cs
- DataRowCollection.cs
- TargetControlTypeAttribute.cs
- MutexSecurity.cs
- XmlCodeExporter.cs
- DataRecordInternal.cs
- LayoutEditorPart.cs
- AssemblyGen.cs