146 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 
 | |
| // ========================================================================
 | |
| // 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
 | |
| {
 | |
| 	/// <summary>
 | |
| 	///	RoleAssignments Generated by MyGeneration using the CSLA Object Mapping template
 | |
| 	/// </summary>
 | |
| 	[Serializable()]
 | |
| 	public partial class RoleAssignments : BusinessListBase<RoleAssignments,RoleAssignment>
 | |
| 	{
 | |
|     #region Business Methods
 | |
| 
 | |
|     public RoleAssignment this[int folderid, int gid]
 | |
|     {
 | |
|       get
 | |
|       {
 | |
|         foreach (RoleAssignment assignment in this)
 | |
|           if (assignment.Folderid == folderid && assignment.Gid == gid)
 | |
|             return assignment;
 | |
|         return null;
 | |
|       }
 | |
|     }
 | |
|     public RoleAssignment GetItem(int folderid, int gid)
 | |
|     {
 | |
|       foreach (RoleAssignment assignment in this)
 | |
|         if (assignment.Folderid == folderid && assignment.Gid == gid)
 | |
|           return assignment;
 | |
|       return null;
 | |
|     }
 | |
| 
 | |
|     public void Add(int gid, int folderid)
 | |
|     {
 | |
|       if (!Contains(folderid, gid))
 | |
|       {
 | |
|         RoleAssignment assignment =
 | |
|           RoleAssignment.New(gid, folderid);
 | |
|         this.Add(assignment);
 | |
|       }
 | |
|       else
 | |
|         throw new InvalidOperationException("assignment already exists");
 | |
|     }
 | |
| 
 | |
|     public void Remove(int folderid, int gid)
 | |
|     {
 | |
|       foreach (RoleAssignment assignment in this)
 | |
|       {
 | |
|         if (assignment.Folderid == folderid && assignment.Gid == gid)
 | |
|         {
 | |
|           Remove(assignment);
 | |
|           break;
 | |
|         }
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     public bool Contains(int folderid, int gid)
 | |
|     {
 | |
|       foreach (RoleAssignment assignment in this)
 | |
|         if (assignment.Folderid == folderid && assignment.Gid == gid)
 | |
|           return true;
 | |
|       return false;
 | |
|     }
 | |
| 
 | |
|     public bool ContainsDeleted(int folderid, int gid)
 | |
|     {
 | |
|       foreach (RoleAssignment assignment in DeletedList)
 | |
|         if (assignment.Folderid == folderid && assignment.Gid == gid)
 | |
|           return true;
 | |
|       return false;
 | |
|     }
 | |
| 
 | |
|     #endregion
 | |
| 	#region Factory Methods
 | |
| 
 | |
|     internal static RoleAssignments New()
 | |
|     {
 | |
|       return new RoleAssignments();
 | |
|     }
 | |
| 
 | |
|     internal static RoleAssignments Get(SafeDataReader dr)
 | |
|     {
 | |
|       return new RoleAssignments(dr);
 | |
|     }
 | |
| 
 | |
|     private RoleAssignments()
 | |
|     {
 | |
|       MarkAsChild();
 | |
|     }
 | |
| 
 | |
|     private RoleAssignments(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(RoleAssignment.Get(dr));
 | |
|       this.RaiseListChangedEvents = true;
 | |
|     }
 | |
| 
 | |
|     internal void Update(Role role,SqlConnection cn)
 | |
|     {
 | |
|       this.RaiseListChangedEvents = false;
 | |
|       // update (thus deleting) any deleted child objects
 | |
|       foreach (RoleAssignment obj in DeletedList)
 | |
|         obj.DeleteSelf(role,cn);
 | |
|       // now that they are deleted, remove them from memory too
 | |
|       DeletedList.Clear();
 | |
| 
 | |
|       // add/update any current child objects
 | |
|       foreach (RoleAssignment obj in this)
 | |
|       {
 | |
|         if (obj.IsNew)
 | |
|           obj.Insert(role,cn);
 | |
|         else
 | |
|           obj.Update(role,cn);
 | |
|       }
 | |
|       this.RaiseListChangedEvents = true;
 | |
|     }
 | |
| 
 | |
|     #endregion
 | |
| 
 | |
| 	} // Class
 | |
| } // Namespace
 |