// ========================================================================
// 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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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
			{
				CanReadProperty(true);
				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