/// <summary>
        /// Fills PermissionGroupMap object
        /// </summary>
        /// <param name="permissionGroupMapObject">The object to be filled</param>
        /// <param name="reader">The reader to use to fill a single object</param>
        /// <param name="start">The ordinal position from which to start reading the reader</param>
        protected void FillObject(PermissionGroupMapBase permissionGroupMapObject, SqlDataReader reader, int start)
        {
            permissionGroupMapObject.Id = reader.GetInt32(start + 0);
            permissionGroupMapObject.PermissionGroupId = reader.GetInt32(start + 1);
            permissionGroupMapObject.PermissionId      = reader.GetInt32(start + 2);
            permissionGroupMapObject.IsActive          = reader.GetBoolean(start + 3);
            FillBaseObject(permissionGroupMapObject, reader, (start + 4));


            permissionGroupMapObject.RowState = BaseBusinessEntity.RowStateEnum.NormalRow;
        }
        /// <summary>
        /// Updates PermissionGroupMap
        /// </summary>
        /// <param name="permissionGroupMapObject">Object to be updated</param>
        /// <returns>Number of rows affected</returns>
        public long Update(PermissionGroupMapBase permissionGroupMapObject)
        {
            try
            {
                SqlCommand cmd = GetSPCommand(UPDATEPERMISSIONGROUPMAP);

                AddParameter(cmd, pInt32(PermissionGroupMapBase.Property_Id, permissionGroupMapObject.Id));
                AddCommonParams(cmd, permissionGroupMapObject);

                long result = UpdateRecord(cmd);
                if (result > 0)
                {
                    permissionGroupMapObject.RowState = BaseBusinessEntity.RowStateEnum.NormalRow;
                }
                return(result);
            }
            catch (SqlException x)
            {
                throw new ObjectUpdateException(permissionGroupMapObject, x);
            }
        }
        /// <summary>
        /// Inserts PermissionGroupMap
        /// </summary>
        /// <param name="permissionGroupMapObject">Object to be inserted</param>
        /// <returns>Number of rows affected</returns>
        public long Insert(PermissionGroupMapBase permissionGroupMapObject)
        {
            try
            {
                SqlCommand cmd = GetSPCommand(INSERTPERMISSIONGROUPMAP);

                AddParameter(cmd, pInt32Out(PermissionGroupMapBase.Property_Id));
                AddCommonParams(cmd, permissionGroupMapObject);

                long result = InsertRecord(cmd);
                if (result > 0)
                {
                    permissionGroupMapObject.RowState = BaseBusinessEntity.RowStateEnum.NormalRow;
                    permissionGroupMapObject.Id       = (Int32)GetOutParameter(cmd, PermissionGroupMapBase.Property_Id);
                }
                return(result);
            }
            catch (SqlException x)
            {
                throw new ObjectInsertException(permissionGroupMapObject, x);
            }
        }
 /// <summary>
 /// Add common parameters before calling a procedure
 /// </summary>
 /// <param name="cmd">command object, where parameters will be added</param>
 /// <param name="permissionGroupMapObject"></param>
 private void AddCommonParams(SqlCommand cmd, PermissionGroupMapBase permissionGroupMapObject)
 {
     AddParameter(cmd, pInt32(PermissionGroupMapBase.Property_PermissionGroupId, permissionGroupMapObject.PermissionGroupId));
     AddParameter(cmd, pInt32(PermissionGroupMapBase.Property_PermissionId, permissionGroupMapObject.PermissionId));
     AddParameter(cmd, pBool(PermissionGroupMapBase.Property_IsActive, permissionGroupMapObject.IsActive));
 }
 /// <summary>
 /// Fills PermissionGroupMap object
 /// </summary>
 /// <param name="permissionGroupMapObject">The object to be filled</param>
 /// <param name="reader">The reader to use to fill a single object</param>
 protected void FillObject(PermissionGroupMapBase permissionGroupMapObject, SqlDataReader reader)
 {
     FillObject(permissionGroupMapObject, reader, 0);
 }