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