Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Data / System / Data / Constraint.cs / 1 / Constraint.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System; using System.ComponentModel; using System.Globalization; ////// [ DefaultProperty("ConstraintName"), TypeConverter(typeof(ConstraintConverter)) ] #if WINFSInternalOnly internal #else public #endif abstract class Constraint { internal String name = ""; private String _schemaName = ""; private bool inCollection = false; private DataSet dataSet = null; internal PropertyCollection extendedProperties = null; ///Represents a constraint that can be enforced on one or /// more ///objects. /// [ DefaultValue(""), ResDescriptionAttribute(Res.ConstraintNameDescr), ResCategoryAttribute(Res.DataCategory_Data) ] public virtual string ConstraintName { get { return name; } set { if (value == null) value = ""; if (Common.ADP.IsEmpty(value) && (Table != null) && InCollection) throw ExceptionBuilder.NoConstraintName(); CultureInfo locale = (Table != null ? Table.Locale : CultureInfo.CurrentCulture); if (String.Compare(name, value, true, locale) != 0) { if ((Table != null) && InCollection) { Table.Constraints.RegisterName(value); if (name.Length != 0) Table.Constraints.UnregisterName(name); } name = value; } else if (String.Compare(name, value, false, locale) != 0) { name = value; } } } internal String SchemaName { get { if (Common.ADP.IsEmpty(_schemaName)) return ConstraintName; else return _schemaName; } set { if (!Common.ADP.IsEmpty(value)) _schemaName = value; } } internal virtual bool InCollection { get { // ACCESSOR: virtual was missing from this get return inCollection; } set { inCollection = value; if (value) dataSet = Table.DataSet; else dataSet = null; } } ///The name of this constraint within the ////// . /// [ResDescriptionAttribute(Res.ConstraintTableDescr)] public abstract DataTable Table { get; } ///Gets the ///to which the constraint applies. /// [ ResCategoryAttribute(Res.DataCategory_Data), Browsable(false), ResDescriptionAttribute(Res.ExtendedPropertiesDescr) ] public PropertyCollection ExtendedProperties { get { if (extendedProperties == null) { extendedProperties = new PropertyCollection(); } return extendedProperties; } } internal abstract bool ContainsColumn(DataColumn column); internal abstract bool CanEnableConstraint(); internal abstract Constraint Clone(DataSet destination); internal abstract Constraint Clone(DataSet destination, bool ignoreNSforTableLookup); internal void CheckConstraint() { if (!CanEnableConstraint()) { throw ExceptionBuilder.ConstraintViolation(ConstraintName); } } internal abstract void CheckCanAddToCollection(ConstraintCollection constraint); internal abstract bool CanBeRemovedFromCollection(ConstraintCollection constraint, bool fThrowException); internal abstract void CheckConstraint(DataRow row, DataRowAction action); internal abstract void CheckState(); protected void CheckStateForProperty() { try { CheckState(); } catch (Exception e) { // if (!Common.ADP.IsCatchableExceptionType (e)) { throw; } throw ExceptionBuilder.BadObjectPropertyAccess(e.Message); } } ///Gets the collection of customized user information. ////// #if WINFSInternalOnly #else [CLSCompliant(false)] #endif protected virtual DataSet _DataSet { get { return dataSet; } } ///Gets the ///to which this constraint belongs. /// protected internal void SetDataSet(DataSet dataSet) { this.dataSet = dataSet; } internal abstract bool IsConstraintViolated(); public override string ToString() { return ConstraintName; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //Sets the constraint's ///. // Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //[....] //----------------------------------------------------------------------------- namespace System.Data { using System; using System.ComponentModel; using System.Globalization; ////// [ DefaultProperty("ConstraintName"), TypeConverter(typeof(ConstraintConverter)) ] #if WINFSInternalOnly internal #else public #endif abstract class Constraint { internal String name = ""; private String _schemaName = ""; private bool inCollection = false; private DataSet dataSet = null; internal PropertyCollection extendedProperties = null; ///Represents a constraint that can be enforced on one or /// more ///objects. /// [ DefaultValue(""), ResDescriptionAttribute(Res.ConstraintNameDescr), ResCategoryAttribute(Res.DataCategory_Data) ] public virtual string ConstraintName { get { return name; } set { if (value == null) value = ""; if (Common.ADP.IsEmpty(value) && (Table != null) && InCollection) throw ExceptionBuilder.NoConstraintName(); CultureInfo locale = (Table != null ? Table.Locale : CultureInfo.CurrentCulture); if (String.Compare(name, value, true, locale) != 0) { if ((Table != null) && InCollection) { Table.Constraints.RegisterName(value); if (name.Length != 0) Table.Constraints.UnregisterName(name); } name = value; } else if (String.Compare(name, value, false, locale) != 0) { name = value; } } } internal String SchemaName { get { if (Common.ADP.IsEmpty(_schemaName)) return ConstraintName; else return _schemaName; } set { if (!Common.ADP.IsEmpty(value)) _schemaName = value; } } internal virtual bool InCollection { get { // ACCESSOR: virtual was missing from this get return inCollection; } set { inCollection = value; if (value) dataSet = Table.DataSet; else dataSet = null; } } ///The name of this constraint within the ////// . /// [ResDescriptionAttribute(Res.ConstraintTableDescr)] public abstract DataTable Table { get; } ///Gets the ///to which the constraint applies. /// [ ResCategoryAttribute(Res.DataCategory_Data), Browsable(false), ResDescriptionAttribute(Res.ExtendedPropertiesDescr) ] public PropertyCollection ExtendedProperties { get { if (extendedProperties == null) { extendedProperties = new PropertyCollection(); } return extendedProperties; } } internal abstract bool ContainsColumn(DataColumn column); internal abstract bool CanEnableConstraint(); internal abstract Constraint Clone(DataSet destination); internal abstract Constraint Clone(DataSet destination, bool ignoreNSforTableLookup); internal void CheckConstraint() { if (!CanEnableConstraint()) { throw ExceptionBuilder.ConstraintViolation(ConstraintName); } } internal abstract void CheckCanAddToCollection(ConstraintCollection constraint); internal abstract bool CanBeRemovedFromCollection(ConstraintCollection constraint, bool fThrowException); internal abstract void CheckConstraint(DataRow row, DataRowAction action); internal abstract void CheckState(); protected void CheckStateForProperty() { try { CheckState(); } catch (Exception e) { // if (!Common.ADP.IsCatchableExceptionType (e)) { throw; } throw ExceptionBuilder.BadObjectPropertyAccess(e.Message); } } ///Gets the collection of customized user information. ////// #if WINFSInternalOnly #else [CLSCompliant(false)] #endif protected virtual DataSet _DataSet { get { return dataSet; } } ///Gets the ///to which this constraint belongs. /// protected internal void SetDataSet(DataSet dataSet) { this.dataSet = dataSet; } internal abstract bool IsConstraintViolated(); public override string ToString() { return ConstraintName; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Sets the constraint's ///.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ParseHttpDate.cs
- InstalledFontCollection.cs
- FixedSOMTableCell.cs
- WinFormsComponentEditor.cs
- MissingSatelliteAssemblyException.cs
- Point.cs
- WebPartEditorApplyVerb.cs
- WriteableOnDemandPackagePart.cs
- NullableDecimalAverageAggregationOperator.cs
- TypeElementCollection.cs
- CaseCqlBlock.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- TemplateAction.cs
- EnumValAlphaComparer.cs
- SortedList.cs
- TcpChannelListener.cs
- IsolatedStorageFile.cs
- LogAppendAsyncResult.cs
- TypeCodeDomSerializer.cs
- GeometryCollection.cs
- XmlSchemaImport.cs
- ColorConvertedBitmap.cs
- RegistryKey.cs
- BuildManagerHost.cs
- CustomWebEventKey.cs
- ToolStripRenderer.cs
- MessagePartDescriptionCollection.cs
- XsltLoader.cs
- DynamicResourceExtensionConverter.cs
- QuerySettings.cs
- NonDualMessageSecurityOverHttp.cs
- WmlValidationSummaryAdapter.cs
- WindowsEditBoxRange.cs
- WindowsToolbar.cs
- CrossContextChannel.cs
- DataComponentNameHandler.cs
- MultiTrigger.cs
- HebrewNumber.cs
- ConsumerConnectionPoint.cs
- TransformValueSerializer.cs
- SplitContainer.cs
- ListManagerBindingsCollection.cs
- FileCodeGroup.cs
- Environment.cs
- TriggerCollection.cs
- Inline.cs
- EntityDataSourceWrapper.cs
- XmlSchemaSequence.cs
- FieldDescriptor.cs
- SafeBitVector32.cs
- OrderByBuilder.cs
- NameValuePair.cs
- CustomErrorCollection.cs
- DataGridViewRowCancelEventArgs.cs
- relpropertyhelper.cs
- TextProperties.cs
- OracleDataAdapter.cs
- HttpConfigurationContext.cs
- SystemWebCachingSectionGroup.cs
- DecoderFallback.cs
- Misc.cs
- ApplicationServicesHostFactory.cs
- MouseEvent.cs
- SimpleBitVector32.cs
- CollectionTypeElement.cs
- CustomError.cs
- InstanceDescriptor.cs
- DelegateSerializationHolder.cs
- UrlMappingsSection.cs
- ValidatorCompatibilityHelper.cs
- DetailsViewInsertedEventArgs.cs
- WebPartAuthorizationEventArgs.cs
- TypeToStringValueConverter.cs
- HttpChannelHelper.cs
- XmlReaderDelegator.cs
- CodeCastExpression.cs
- _NativeSSPI.cs
- WebPartCatalogCloseVerb.cs
- DateBoldEvent.cs
- URL.cs
- HandleCollector.cs
- CachedTypeface.cs
- WebPageTraceListener.cs
- ActiveXHost.cs
- SqlDataSourceView.cs
- NetCodeGroup.cs
- CommittableTransaction.cs
- InvokeMethod.cs
- StateItem.cs
- X509Extension.cs
- ContractAdapter.cs
- Utils.cs
- CodeValidator.cs
- SourceElementsCollection.cs
- BitmapEffectGroup.cs
- ListBoxDesigner.cs
- HtmlElementErrorEventArgs.cs
- GenericIdentity.cs
- DataGridViewCellParsingEventArgs.cs
- ObjectCloneHelper.cs