// ======================================================================== // 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 { /// /// PermissionInfoList Generated by MyGeneration using the CSLA Object Mapping template /// [Serializable()] public partial class PermissionInfoList : ReadOnlyListBase { #region Factory Methods /// /// Return a list of all projects. /// public static PermissionInfoList Get() { return DataPortal.Fetch(new Criteria()); } // TODO: Add alternative gets - //public static PermissionInfoList Get() //{ // return DataPortal.Fetch(new FilteredCriteria()); //} public static PermissionInfoList GetByRole(int rid) { return DataPortal.Fetch(new RoleCriteria(rid)); } private PermissionInfoList() { /* require use of factory methods */ } #endregion #region Data Access Portal [Serializable()] private class Criteria { /* no criteria - retrieve all rows */ } private void DataPortal_Fetch(Criteria criteria) { this.RaiseListChangedEvents = false; try { using (SqlConnection cn = Database.VEPROMS_SqlConnection) { using (SqlCommand cm = cn.CreateCommand()) { cm.CommandType = CommandType.StoredProcedure; cm.CommandText = "getPermissions"; using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { IsReadOnly = false; while (dr.Read()) this.Add(new PermissionInfo(dr)); IsReadOnly = true; } } } } catch (Exception ex) { Database.LogException("PermissionInfoList.DataPortal_Fetch", ex); throw new DbCslaException("PermissionInfoList.DataPortal_Fetch", ex); } this.RaiseListChangedEvents = true; } [Serializable()] private class RoleCriteria { public RoleCriteria(int rid) { _RID = rid; } private int _RID; public int RID { get { return _RID; } set { _RID = value; } } } private void DataPortal_Fetch(RoleCriteria criteria) { this.RaiseListChangedEvents = false; try { using (SqlConnection cn = Database.VEPROMS_SqlConnection) { using (SqlCommand cm = cn.CreateCommand()) { cm.CommandType = CommandType.StoredProcedure; cm.CommandText = "getPermissionsByRole"; cm.Parameters.AddWithValue("@RID", criteria.RID); using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) { IsReadOnly = false; while (dr.Read()) this.Add(new PermissionInfo(dr)); IsReadOnly = true; } } } } catch (Exception ex) { Database.LogException("PermissionInfoList.DataPortal_Fetch", ex); throw new DbCslaException("PermissionInfoList.DataPortal_Fetch", ex); } this.RaiseListChangedEvents = true; } #endregion } // Class } // Namespace