// ========================================================================
// 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
{
    /// 
    ///	MembershipInfo Generated by MyGeneration using the CSLA Object Mapping template
    /// 
    [Serializable()]
    public partial class MembershipInfo : ReadOnlyBase
    {
        #region Business Methods
        private int _ugid;
        [System.ComponentModel.DataObjectField(true, true)]
        public int Ugid
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _ugid;
            }
        }
        private int _uid;
        [System.ComponentModel.DataObjectField(true, true)]
        public int Uid
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _uid;
            }
        }
        private int _gid;
        [System.ComponentModel.DataObjectField(true, true)]
        public int Gid
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _gid;
            }
        }
        private string _startdate = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string StartDate
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _startdate;
            }
        }
        private string _enddate = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string EndDate
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _enddate;
            }
        }
        private DateTime _dts = new DateTime();
        [System.ComponentModel.DataObjectField(true, true)]
        public DateTime Dts
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _dts;
            }
        }
        private string _usrid = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string Usrid
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _usrid;
            }
        }
        // TODO: Replace base MembershipInfo.ToString function as necessary
        /// 
        /// Overrides Base ToString
        /// 
        /// A string representation of current MembershipInfo
        //public override string ToString()
        //{
        //  return base.ToString();
        //}
        // TODO: Check MembershipInfo.GetIdValue to assure that the ID returned is unique
        /// 
        /// Overrides Base GetIdValue - Used internally by CSLA to determine equality
        /// 
        /// A Unique ID for the current MembershipInfo
        protected override object GetIdValue()
        {
            return _ugid;
        }
        #endregion
        #region Factory Methods
        private MembershipInfo()
        { /* require use of factory methods */ }
        #endregion
        #region Data Access Portal
        internal MembershipInfo(SafeDataReader dr)
        {
            try
            {
                _ugid = dr.GetInt32("UGID");
                _uid = dr.GetInt32("UID");
                _gid = dr.GetInt32("GID");
                _startdate = dr.GetSmartDate("StartDate").Text;
                _enddate = dr.GetSmartDate("EndDate").Text;
                _dts = dr.GetDateTime("DTS");
                _usrid = dr.GetString("UsrID");
            }
            catch (Exception ex)
            {
                Database.LogException("MembershipInfo", ex);
            }
        }
        #endregion
    } // Class
} // Namespace