using System; using System.Collections; using CSLA.Data; using CSLA; namespace GZTW.AyaNova.BLL { #pragma warning disable 1591 /// /// Summary description for NotifySubscriptionList. /// [Serializable] public class NotifySubscriptionList : CollectionBase { #region Subscription list info data structure /// /// Contains a subscription record /// [Serializable] public struct SubscriptionListInfo { internal Guid mID; internal SmartDate mCreated; internal string mEventDescription; internal Guid mGuidValue; //ID Not localized as it's an invisible field public Guid ID { get { return mID; } } public object LT_NotifySubscription_Label_Created { get { return mCreated.DBValue; } } public string LT_NotifySubscription_Label_EventDescription { get { return mEventDescription; } } public Guid GuidValue { get { return mGuidValue; } } /// /// /// /// public bool Equals(SubscriptionListInfo obj) { return this.ID.Equals(obj.ID); } }//end MemoListInfo #endregion public NotifySubscriptionList() { // // TODO: Add constructor logic here // } public SubscriptionListInfo this[int index] { get { return (SubscriptionListInfo) this.List[index]; } set { this.List[index] = value; } } //add a subscriptionListInfo to the collection public void Add(SubscriptionListInfo subscriptionListInfo) { this.List.Add(subscriptionListInfo); } #region Reporting /// /// Returns the report key which is a property of /// reports used to link all reports that can be used /// with a particular data source. /// public static string ReportKey { get { return "NotifySubscriptionList"; } } #endregion #region Static methods /// /// Get bindable list of notification subscriptions for display (only) in grid /// /// /// public static NotifySubscriptionList GetList(NotifySubscriber ns) { NotifySubscriptionList nsl=new NotifySubscriptionList(); foreach(NotifySubscription n in ns.Subscriptions) { SubscriptionListInfo info=new SubscriptionListInfo(); info.mID=n.ID; info.mCreated=n.CreatedSD; info.mEventDescription=NotifyEventUIHelper.GetEventLocalizedTextKey(n.RootObjectType,n.EventType); info.mGuidValue=n.GuidValue; nsl.Add(info); } return nsl; } /// /// Return an empty list /// used for initializing grid /// /// public static NotifySubscriptionList GetEmptyList() { return new NotifySubscriptionList(); } #endregion } #pragma warning restore 1591 }