/// <summary>
        /// Creates a cPermissionRoleAccess object. It will be saved in permanent storage only
        /// on calling Save()
        /// </summary>
        /// <returns>cPermissionRoleAccess object</returns>
        public static cPermissionRoleAccess Create()
        {
            cPermissionRoleAccess oObj = new cPermissionRoleAccess();

            SecurityCheck((int)enPermissionRoleAccess_Action.Create);

            // Create an object in memory, will be saved to storage on calling Save()
            oObj.m_bCreating = true;
            oObj.m_bInvalid  = false;
            return(oObj);
        }
        /// <summary>
        /// Ensures that an object with the specified name exists, while creating other properties are set to their default values
        /// </summary>
        /// <param name="i_sName">Name</param>
        /// <returns>cPermissionRoleAccess object</returns>
        public static cPermissionRoleAccess CreateIfRequiredAndGet(string i_sName)
        {
            cPermissionRoleAccess oObj = cPermissionRoleAccess.Get_Name(i_sName);

            if (oObj == null)
            {
                oObj       = cPermissionRoleAccess.Create();
                oObj.sName = i_sName;
                oObj.Save();
            }
            return(oObj);
        }
        /// <summary>
        /// Finds and return cPermissionRoleAccess objects matching the specified criteria
        /// </summary>
        /// <param name="i_oFilter">Filter criteria (WHERE clause)</param>
        /// <returns>cPermissionRoleAccess objects</returns>
        public static List <cPermissionRoleAccess> Find(cFilter i_oFilter)
        {
            DataTable dt = Find_DataTable(i_oFilter, null);
            List <cPermissionRoleAccess> l = new List <cPermissionRoleAccess>();
            cPermissionRoleAccess        oObj;

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                oObj                   = new cPermissionRoleAccess();
                oObj.m_iID             = Convert.ToInt32(dt.Rows[i]["iID"]);
                oObj.m_sName           = dt.Rows[i]["sName"].ToString();
                oObj.m_dtCreatedOn     = Convert.ToDateTime(dt.Rows[i]["dtCreatedOn"]);
                oObj.m_dtLastUpdatedOn = Convert.ToDateTime(dt.Rows[i]["dtLastUpdatedOn"]);

                oObj.m_objRoleAccess.iObjectID = Convert.ToInt32(dt.Rows[i]["objRoleAccess"].ToString());
                oObj.m_objPermission.iObjectID = Convert.ToInt32(dt.Rows[i]["objPermission"].ToString());
                oObj.m_bIsActive = Convert.ToBoolean(dt.Rows[i]["bIsActive"]);
                oObj.m_bInvalid  = false;
                l.Add(oObj);
            }
            return(l);
        }
using System;