Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / WebControls / SelectedDatesCollection.cs / 1 / SelectedDatesCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.Security.Permissions; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class SelectedDatesCollection : ICollection { private ArrayList dateList; ///Encapsulates the collection of ///within a control. /// public SelectedDatesCollection(ArrayList dateList) { this.dateList = dateList; } ///Initializes a new instance of the ///class /// with the specified date list. /// public int Count { get { return dateList.Count; } } ///Gets the item count of the collection. ////// public DateTime this[int index] { get { return(DateTime) dateList[index]; } } ///Gets a ///referenced by the specified ordinal index value in the collection. /// public void Add(DateTime date) { int index; if (!FindIndex(date.Date, out index)) { dateList.Insert(index, date.Date); } } ///Adds the specified ///to the end of the collection. /// public void Clear() { dateList.Clear(); } ///Removes all ///controls from the collection. /// public bool Contains(DateTime date) { int index; return FindIndex(date.Date, out index); } ///Returns a value indicating whether the collection contains the specified /// date. ////// private bool FindIndex(DateTime date, out int index) { int n = Count; int Min = 0; int Max = n; while (Min < Max) { index = (Min + Max ) / 2; if (date == this[index]) { return true; } if (date < this[index]) { Max = index; } else { Min = index + 1; } } index = Min; return false; } ////// public IEnumerator GetEnumerator() { return dateList.GetEnumerator(); } ///Returns an enumerator of all ///controls within the collection. /// public void CopyTo(Array array, int index) { for (IEnumerator e = this.GetEnumerator(); e.MoveNext();) array.SetValue(e.Current, index++); } ///Copies contents from the collection to a specified ///with a /// specified starting index. /// public Object SyncRoot { get { return this;} } ///Gets the object that can be used to synchronize access to the collection. In /// this case, it is the collection itself. ////// public bool IsReadOnly { get { return false;} } ///Gets a value indicating whether the collection is read-only. ////// public bool IsSynchronized { get { return false;} } ///Gets a value indicating whether access to the collection is synchronized /// (thread-safe). ////// public void Remove(DateTime date) { int index; if (FindIndex(date.Date, out index)) { dateList.RemoveAt(index); } } ///Removes the specified date from the collection. ////// public void SelectRange(DateTime fromDate, DateTime toDate) { dateList.Clear(); if (fromDate <= toDate) { // The while loop below is safe that it is not attempting to add // day beyond the last supported date because toDate can happen // to be the last supported date. dateList.Add(fromDate); DateTime date = fromDate; while (date < toDate) { date = date.AddDays(1); dateList.Add(date); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //Sets the contents of the ///to span /// across the specified date range. // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.Security.Permissions; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class SelectedDatesCollection : ICollection { private ArrayList dateList; ///Encapsulates the collection of ///within a control. /// public SelectedDatesCollection(ArrayList dateList) { this.dateList = dateList; } ///Initializes a new instance of the ///class /// with the specified date list. /// public int Count { get { return dateList.Count; } } ///Gets the item count of the collection. ////// public DateTime this[int index] { get { return(DateTime) dateList[index]; } } ///Gets a ///referenced by the specified ordinal index value in the collection. /// public void Add(DateTime date) { int index; if (!FindIndex(date.Date, out index)) { dateList.Insert(index, date.Date); } } ///Adds the specified ///to the end of the collection. /// public void Clear() { dateList.Clear(); } ///Removes all ///controls from the collection. /// public bool Contains(DateTime date) { int index; return FindIndex(date.Date, out index); } ///Returns a value indicating whether the collection contains the specified /// date. ////// private bool FindIndex(DateTime date, out int index) { int n = Count; int Min = 0; int Max = n; while (Min < Max) { index = (Min + Max ) / 2; if (date == this[index]) { return true; } if (date < this[index]) { Max = index; } else { Min = index + 1; } } index = Min; return false; } ////// public IEnumerator GetEnumerator() { return dateList.GetEnumerator(); } ///Returns an enumerator of all ///controls within the collection. /// public void CopyTo(Array array, int index) { for (IEnumerator e = this.GetEnumerator(); e.MoveNext();) array.SetValue(e.Current, index++); } ///Copies contents from the collection to a specified ///with a /// specified starting index. /// public Object SyncRoot { get { return this;} } ///Gets the object that can be used to synchronize access to the collection. In /// this case, it is the collection itself. ////// public bool IsReadOnly { get { return false;} } ///Gets a value indicating whether the collection is read-only. ////// public bool IsSynchronized { get { return false;} } ///Gets a value indicating whether access to the collection is synchronized /// (thread-safe). ////// public void Remove(DateTime date) { int index; if (FindIndex(date.Date, out index)) { dateList.RemoveAt(index); } } ///Removes the specified date from the collection. ////// public void SelectRange(DateTime fromDate, DateTime toDate) { dateList.Clear(); if (fromDate <= toDate) { // The while loop below is safe that it is not attempting to add // day beyond the last supported date because toDate can happen // to be the last supported date. dateList.Add(fromDate); DateTime date = fromDate; while (date < toDate) { date = date.AddDays(1); dateList.Add(date); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Sets the contents of the ///to span /// across the specified date range.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RoutedEventValueSerializer.cs
- Misc.cs
- ReferentialConstraint.cs
- dtdvalidator.cs
- PointCollection.cs
- BitmapEffectDrawing.cs
- X509Utils.cs
- EasingQuaternionKeyFrame.cs
- OleDbDataAdapter.cs
- InputScopeNameConverter.cs
- DrawingCollection.cs
- XmlSerializationGeneratedCode.cs
- WebPartDescription.cs
- ReferenceConverter.cs
- basecomparevalidator.cs
- OrthographicCamera.cs
- ComponentResourceManager.cs
- ScrollProperties.cs
- PerfCounters.cs
- BinaryExpression.cs
- CanExecuteRoutedEventArgs.cs
- ChooseAction.cs
- ToolStripOverflow.cs
- ScriptingProfileServiceSection.cs
- Certificate.cs
- TextRunTypographyProperties.cs
- MDIControlStrip.cs
- URI.cs
- ZipIOLocalFileHeader.cs
- AdornerPresentationContext.cs
- PropertyPath.cs
- XmlSchemaElement.cs
- DataRowChangeEvent.cs
- BrowserDefinition.cs
- HtmlHead.cs
- NamedPermissionSet.cs
- WebBrowserNavigatingEventHandler.cs
- DateTimeConstantAttribute.cs
- FontUnitConverter.cs
- RootBrowserWindowAutomationPeer.cs
- ToolboxControl.cs
- DbProviderFactories.cs
- BaseValidator.cs
- ModuleBuilderData.cs
- WindowsIdentity.cs
- WebRequestModulesSection.cs
- ObjectItemConventionAssemblyLoader.cs
- HelpKeywordAttribute.cs
- ScrollChrome.cs
- CodeTypeConstructor.cs
- EntitySqlException.cs
- BrushConverter.cs
- TypeConverterHelper.cs
- WebHttpBindingElement.cs
- PointCollection.cs
- WindowsStatusBar.cs
- DataPager.cs
- TrackingCondition.cs
- ISessionStateStore.cs
- ICspAsymmetricAlgorithm.cs
- RecognitionEventArgs.cs
- WpfPayload.cs
- SpecialTypeDataContract.cs
- GradientStop.cs
- TextClipboardData.cs
- DependencyPropertyAttribute.cs
- MemberDomainMap.cs
- SchemaMapping.cs
- IDReferencePropertyAttribute.cs
- InvalidOperationException.cs
- XPathDocument.cs
- ChannelFactory.cs
- ValidationRuleCollection.cs
- Validator.cs
- FileLogRecordHeader.cs
- MD5CryptoServiceProvider.cs
- CodeTryCatchFinallyStatement.cs
- CodeParameterDeclarationExpression.cs
- IntegerValidator.cs
- Random.cs
- AppDomainFactory.cs
- DbCommandTree.cs
- QuotedPairReader.cs
- FindCriteriaApril2005.cs
- BookmarkManager.cs
- SystemInfo.cs
- Rect3D.cs
- RowUpdatedEventArgs.cs
- TypeDescriptorContext.cs
- ExpandedProjectionNode.cs
- GenericWebPart.cs
- XamlTypeMapper.cs
- SR.cs
- Activator.cs
- ActivationArguments.cs
- MimeWriter.cs
- XMLSyntaxException.cs
- AssemblyBuilder.cs
- TimeoutException.cs
- CharAnimationUsingKeyFrames.cs