// ======================================================================== // Copyright 2006 - Volian Enterprises, Inc. All rights reserved. // Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE // ------------------------------------------------------------------------ // $Workfile: $ $Revision: $ // $Author: $ $Date: $ // // $History: $ // ======================================================================== using System; using System.Data; using System.Data.SqlClient; using Csla; using Csla.Data; namespace Volian.Object.Library { /// /// UserMemberships Generated by MyGeneration using the CSLA Object Mapping template /// [Serializable()] public partial class UserMemberships : BusinessListBase { #region Business Methods public new UserMembership this[int gid] { get { foreach (UserMembership membership in this) if (membership.Gid == gid) return membership; return null; } } public UserMembership GetItem(int gid) { foreach (UserMembership membership in this) if (membership.Gid == gid) return membership; return null; } public void Add(int gid) { if (!Contains(gid)) { UserMembership membership = UserMembership.New(gid); this.Add(membership); } else throw new InvalidOperationException("membership already exists"); } public void Remove(int gid) { foreach (UserMembership membership in this) { if (membership.Gid == gid) { Remove(membership); break; } } } public bool Contains(int gid) { foreach (UserMembership membership in this) if (membership.Gid == gid) return true; return false; } public bool ContainsDeleted(int gid) { foreach (UserMembership membership in DeletedList) if (membership.Gid == gid) return true; return false; } #endregion #region Factory Methods internal static UserMemberships New() { return new UserMemberships(); } internal static UserMemberships Get(SafeDataReader dr) { return new UserMemberships(dr); } private UserMemberships() { MarkAsChild(); } private UserMemberships(SafeDataReader dr) { MarkAsChild(); Fetch(dr); } #endregion #region Data Access Portal // called to load data from the database private void Fetch(SafeDataReader dr) { this.RaiseListChangedEvents = false; while (dr.Read()) this.Add(UserMembership.Get(dr)); this.RaiseListChangedEvents = true; } internal void Update(User user,SqlConnection cn) { this.RaiseListChangedEvents = false; // update (thus deleting) any deleted child objects foreach (UserMembership obj in DeletedList) obj.DeleteSelf(user,cn); // now that they are deleted, remove them from memory too DeletedList.Clear(); // add/update any current child objects foreach (UserMembership obj in this) { if (obj.IsNew) obj.Insert(user,cn); else obj.Update(user,cn); } this.RaiseListChangedEvents = true; } #endregion } // Class } // Namespace