// ========================================================================
// 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
{
    /// 
    ///	UserInfo Generated by MyGeneration using the CSLA Object Mapping template
    /// 
    [Serializable()]
    public partial class UserInfo : ReadOnlyBase
    {
        #region Business Methods
        private int _uid;
        [System.ComponentModel.DataObjectField(true, true)]
        public int Uid
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _uid;
            }
        }
        private string _userid = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string Userid
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _userid;
            }
        }
        private string _firstname = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string FirstName
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _firstname;
            }
        }
        private string _middlename = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string MiddleName
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _middlename;
            }
        }
        private string _lastname = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string LastName
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _lastname;
            }
        }
        private string _suffix = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string Suffix
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _suffix;
            }
        }
        private string _courtesytitle = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string CourtesyTitle
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _courtesytitle;
            }
        }
        private string _phonenumber = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string PhoneNumber
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _phonenumber;
            }
        }
        private string _cfgname = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string CfgName
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _cfgname;
            }
        }
        private string _userlogin = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string UserLogin
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _userlogin;
            }
        }
        private string _username = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string UserName
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _username;
            }
        }
        private string _config = string.Empty;
        [System.ComponentModel.DataObjectField(true, true)]
        public string Config
        {
            [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)]
            get
            {
                return _config;
            }
        }
        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 UserInfo.ToString function as necessary
        /// 
        /// Overrides Base ToString
        /// 
        /// A string representation of current UserInfo
        //public override string ToString()
        //{
        //  return base.ToString();
        //}
        // TODO: Check UserInfo.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 UserInfo
        protected override object GetIdValue()
        {
            return _uid;
        }
        #endregion
        #region Factory Methods
        private UserInfo()
        { /* require use of factory methods */ }
        #endregion
        #region Data Access Portal
        internal UserInfo(SafeDataReader dr)
        {
            try
            {
                _uid = dr.GetInt32("UID");
                _userid = dr.GetString("UserID");
                _firstname = dr.GetString("FirstName");
                _middlename = dr.GetString("MiddleName");
                _lastname = dr.GetString("LastName");
                _suffix = dr.GetString("Suffix");
                _courtesytitle = dr.GetString("CourtesyTitle");
                _phonenumber = dr.GetString("PhoneNumber");
                _cfgname = dr.GetString("CFGName");
                _userlogin = dr.GetString("UserLogin");
                _username = dr.GetString("UserName");
                _config = dr.GetString("Config");
                _dts = dr.GetDateTime("DTS");
                _usrid = dr.GetString("UsrID");
            }
            catch (Exception ex)
            {
                Database.LogException("UserInfo", ex);
            }
        }
        #endregion
    } // Class
} // Namespace