// ======================================================================== // 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; using System.Configuration; using System.IO; namespace Volian.CSLA.Library { /// /// FolderDocVersions Generated by MyGeneration using the CSLA Object Mapping template /// [Serializable()] public partial class FolderDocVersions : BusinessListBase { #region Business Methods private string _errorMessage = string.Empty; public string ErrorMessage { get { return _errorMessage; } } // One To Many public new FolderDocVersion this[int versionID] { get { foreach (FolderDocVersion docVersion in this) if (docVersion.VersionID == versionID) return docVersion; return null; } } public FolderDocVersion GetItem(int versionID) { foreach (FolderDocVersion docVersion in this) if (docVersion.VersionID == versionID) return docVersion; return null; } public FolderDocVersion Add(string name) { FolderDocVersion docVersion = FolderDocVersion.New(name); this.Add(docVersion); return docVersion; } public void Remove(int versionID) { foreach (FolderDocVersion docVersion in this) { if (docVersion.VersionID == versionID) { Remove(docVersion); break; } } } public bool Contains(int versionID) { foreach (FolderDocVersion docVersion in this) if (docVersion.VersionID == versionID) return true; return false; } public bool ContainsDeleted(int versionID) { foreach (FolderDocVersion docVersion in DeletedList) if (docVersion.VersionID == versionID) return true; return false; } #endregion #region Factory Methods internal static FolderDocVersions New() { return new FolderDocVersions(); } internal static FolderDocVersions Get(SafeDataReader dr) { return new FolderDocVersions(dr); } private FolderDocVersions() { MarkAsChild(); } private FolderDocVersions(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(FolderDocVersion.Get(dr)); this.RaiseListChangedEvents = true; } internal void Update(Folder folder, SqlConnection cn) { this.RaiseListChangedEvents = false; try { // update (thus deleting) any deleted child objects foreach (FolderDocVersion 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 (FolderDocVersion obj in this) { if (obj.IsNew) obj.Insert(folder, cn); else obj.Update(folder, cn); } } finally { this.RaiseListChangedEvents = true; } } #endregion } // Class } // Namespace