Taylohtio/AlertManager/SPSolutions.SharePoint.Aler.../SPSolutions.SharePoint/SPSolutions.SharePoint.Alerts/SPAlertAssociationContainer...

77 lines
1.9 KiB
C#

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];
}
}
}
}