using Microsoft.SharePoint; using System; using System.Collections; namespace SPSolutions.SharePoint.Alerts { public class SPAlertAssociationContainerCollection : CollectionBase { public SPAlertAssociationContainer this[int index] { get { return base.List[index] as SPAlertAssociationContainer; } } public SPAlertAssociationContainer this[string id] { get { foreach (SPAlertAssociationContainer sPAlertAssociationContainer in base.List) { if (sPAlertAssociationContainer.Id == id) { return sPAlertAssociationContainer; } } throw new ArgumentOutOfRangeException(); } } public void Add(SPAlertAssociationContainer alertAssociationContainer) { base.List.Add(alertAssociationContainer); } public void EnsureAlertAssociation(SPAlertAssociationContainer alertAssociationContainer, SPAlert spAlert) { if (!this.Contains(alertAssociationContainer.Id)) { this.Add(alertAssociationContainer); } else { alertAssociationContainer = this[alertAssociationContainer.Id]; } alertAssociationContainer.Alerts.Add(spAlert); } public bool Contains(SPAlertAssociationContainer alertAssociationContainer) { return base.List.Contains(alertAssociationContainer); } public bool Contains(string id) { foreach (SPAlertAssociationContainer sPAlertAssociationContainer in base.List) { if (sPAlertAssociationContainer.Id == id) { return true; } } return false; } public void CopyTo(SPAlertAssociationContainer[] destination, int index) { base.List.CopyTo(destination, index); } public void CopyTo(SPAlertAssociationContainer[] destination, int beginIndex, int length) { if (destination == null || destination.Rank != 1) { throw new ArgumentException("Array can't be null or have multi-dimensions", "destination"); } for (int i = 0; i < length; i++) { destination[i] = this[i + beginIndex]; } } } }