/*
'' ============================================================================================
'' 项目名称：风越项目范例ASPX普通三层结构
'' 项目版本：V1.0
'' 项目描述：风越项目范例，用于建立ASPX普通三层结构
'' 文件名称：BLL_USER.cs
'' 文件描述：业务逻辑层 USER （用户信息）
'' 公司名称：中极网盛
'' 开发人员：刘怒
'' 创建日期：2008-12-25 20:23:50
'' 修订日期：2009-03-10 06:08:33
'' 版权信息：Copyright (C) 2008

'' 项目升级时需读取以下生成工具的版权信息
'' 生成工具：风越代码生成器 [FireCode Creator]
'' 当前版本：通用版 V1.8
'' 官方网站：http://www.sino8848.com
'' ============================================================================================
*/

using System;
using System.Data;
using System.Collections.Generic;
using Fyp_3TierCommon.Model;
using Fyp_3TierCommon.DAL;
using FypSystem.Common;

namespace Fyp_3TierCommon.BLL
{
    /// <summary>
    ///  USER （用户信息） 业务逻辑层
    /// </summary>
    public class BLL_USER
    {
        private readonly Fyp_3TierCommon.DAL.DAL_USER dal_USER = new Fyp_3TierCommon.DAL.DAL_USER();
        public BLL_USER()
        {
        }

        #region 记录是否存在
        /// <summary>
        /// 记录是否存在
        /// </summary>
        /// <param name="USER_ID">编号</param>, 
        /// <param name="USER_NAME">姓名</param>
        /// <returns></returns>
        public bool Exists(int? USER_ID, string USER_NAME)
        {
            return dal_USER.Exists(USER_ID, USER_NAME);
        }
        #endregion

        #region 添加数据
        /// <summary>
        /// 添加数据
        /// </summary>
        /// <param name="model">USER实体对象</param>
        public void Add(Fyp_3TierCommon.Model.Model_USER model)
        {
            dal_USER.Add(model);
        }
        #endregion

        #region 更新数据
        /// <summary>
        /// 更新数据
        /// </summary>
        /// <param name="model">USER实体对象</param>
        public void Update(Fyp_3TierCommon.Model.Model_USER model)
        {
            dal_USER.Update(model);
        }
        #endregion

        #region 删除
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="USER_ID">编号</param>, 
        /// <param name="USER_NAME">姓名</param>
        public void Delete(int? USER_ID, string USER_NAME)
        {
            dal_USER.Delete(USER_ID, USER_NAME);
        }
        #endregion

        #region 获取对象实体
        /// <summary>
        /// 获取对象实体
        /// </summary>
        /// <param name="USER_ID">编号</param>, 
        /// <param name="USER_NAME">姓名</param>
        /// <returns></returns>
        public Model_USER GetModel(int? USER_ID, string USER_NAME)
        {
            return dal_USER.GetModel(USER_ID, USER_NAME);
        }
        #endregion

        #region 获取数据列表 DataSet
        /// <summary>
        /// 获取数据列表 DataSet
        /// </summary>
        /// <param name="strWhere">指定查询条件的SQL语句，不包含where</param>
        /// <returns></returns>
        public DataSet GetDataSet(string strWhere)
        {
            return dal_USER.GetDataSet(strWhere);
        }

		/// <summary>
		/// 获取全部数据列表 DataSet
		/// </summary>
		public DataSet GetDataSet()
		{
			return GetDataSet("");
		}
        #endregion

        #region 获取数据列表 DataTable
        /// <summary>
        /// 获取数据列表 DataTable
        /// </summary>
        /// <param name="strWhere">指定查询条件的SQL语句，不包含where</param>
        /// <returns></returns>
        public DataTable GetDataTable(string strWhere)
        {
            return dal_USER.GetDataTable(strWhere);
        }

        /// <summary>
        /// 获取数据列表 DataTable
        /// </summary>
        /// <param name="strWhere">指定查询条件的SQL语句，不包含where</param>
        /// <param name="strOrder">排序字段，如id desc，不包含order by</param>
        /// <returns></returns>
        public DataTable GetDataTable(string strWhere, string strOrder)
        {
            return dal_USER.GetDataTable(strWhere, strOrder);
        }

		/// <summary>
		/// 获取全部数据列表 DataTable
		/// </summary>
		public DataTable GetDataTable()
		{
			return GetDataTable("");
		}
        #endregion

        #region 获取数据列表 Model List
        /// <summary>
        /// 获取数据列表 Model List
        /// </summary>
        /// <param name="strWhere">查询条件的SQL语句，不包含where</param>
        /// <returns></returns>
        public List<Fyp_3TierCommon.Model.Model_USER> GetModelList(string strWhere)
        {
            DataSet ds = dal_USER.GetDataSet(strWhere);
            List<Fyp_3TierCommon.Model.Model_USER> modelList = new List<Fyp_3TierCommon.Model.Model_USER>();
            int iRowsCount = ds.Tables[0].Rows.Count;
            if (iRowsCount > 0)
            {
                Fyp_3TierCommon.Model.Model_USER model;
                for (int i = 0; i < iRowsCount; i++)
                {
                    model = new Fyp_3TierCommon.Model.Model_USER();
                    DataRow dr = ds.Tables[0].Rows[i];

                    
                    

                     
                    if (dr["USER_ID"].ToString().Length > 0)
                    {
                        model.USER_ID = int.Parse(dr["USER_ID"].ToString());
                    }
                    

                    
                    
                     
                    model.USER_NAME = dr["USER_NAME"].ToString();
                    

                    

                    
                    
                     
                    model.USER_PWD = dr["USER_PWD"].ToString();
                    

                    

                    
                    
                     
                    model.USER_EMAIL = dr["USER_EMAIL"].ToString();
                    

                    

                    
                    
                    

                     
                    if (dr["USER_BIRTHDAY"].ToString().Length > 0)
                    {
                        model.USER_BIRTHDAY = DateTime.Parse(dr["USER_BIRTHDAY"].ToString());
                    }
                    

                    
                    
                     
                    model.USER_PHOTO = dr["USER_PHOTO"].ToString();
                    

                    

                    
                    
                    

                    

                     
                    if (dr["USER_PHOTOS2"].ToString().Length > 0)
                    {
                        model.USER_PHOTOS2 = (byte[])dr["USER_PHOTOS2"];
                    }
                    
                    
                    

                     
                    if (dr["USER_NATION"].ToString().Length > 0)
                    {
                        model.USER_NATION = int.Parse(dr["USER_NATION"].ToString());
                    }
                    

                    
                    
                    

                     
                    if (dr["USER_COUNTRY"].ToString().Length > 0)
                    {
                        model.USER_COUNTRY = int.Parse(dr["USER_COUNTRY"].ToString());
                    }
                    

                    
                    
                    

                     
                    if (dr["USER_PROVINCE"].ToString().Length > 0)
                    {
                        model.USER_PROVINCE = int.Parse(dr["USER_PROVINCE"].ToString());
                    }
                    

                    
                    
                    modelList.Add(model);
                }
            }
            return modelList;
        }
        #endregion
    }
}