using System;
using System.Collections.Generic; 
using System.Data;
using DSWeb.SoftMng.Model;
// ReSharper disable once CheckNamespace
namespace DSWeb.SoftMng.BLL {
	 	//t_code_cust_mailproject
		public partial class t_code_cust_mailprojectBLL
	{ 
		private readonly DAL.t_code_cust_mailprojectDAL dal=new DAL.t_code_cust_mailprojectDAL();
		#region  Method
		/// <summary>
		/// 是否存在该记录
		/// </summary>
		public bool Exists(int 方案代码)
		{
			return dal.Exists(方案代码);
		}
		/// <summary>
		/// 增加一条数据
		/// </summary>
		public int  Add(t_code_cust_mailproject model)
		{
			return dal.Add(model);			
		}
		/// <summary>
		/// 更新一条数据
		/// </summary>
		public int Update(t_code_cust_mailproject model)
		{
			return dal.Update(model);
		}
		/// <summary>
		/// 删除一条数据
		/// </summary>
		public int Delete(int 方案代码)
		{
			return dal.Delete(方案代码);
		}
				/// <summary>
		/// 批量删除一批数据
		/// </summary>
		public int DeleteList(string 方案代码list )
		{
			return dal.DeleteList(方案代码list );
		}
				/// <summary>
		/// 按条件批量删除(有风险)
		/// </summary>
		public int DeleteListWhere(string strWhere)
		{
		  	return dal.DeleteListWhere(strWhere);
		}
		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		public t_code_cust_mailproject GetModel(int 方案代码)
		{
			DataSet ds = dal.GetModel(方案代码);
			if(ds.Tables.Count> 0){
			    var dt = ds.Tables[0];
				if(dt.Rows.Count>0){
				    var dr = dt.Rows[0];
					return DataRowToModel(dr);
				}
				return null;
			}
			return null;
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public DataSet GetList(string strWhere)
		{
			return dal.GetList(strWhere);
		}
		/// <summary>
		/// 获得前几行数据
		/// </summary>
		public DataSet GetList(int Top,string strWhere,string filedOrder)
		{
			return dal.GetList(Top,strWhere,filedOrder);
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<t_code_cust_mailproject> GetModelList(string strWhere)
		{
			DataSet ds = dal.GetList(strWhere);
			return DataTableToList(ds.Tables[0]);
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<t_code_cust_mailproject> DataTableToList(DataTable dt)
		{
			List<t_code_cust_mailproject> modelList = new List<t_code_cust_mailproject>();
			int rowsCount = dt.Rows.Count;
			if (rowsCount > 0)
			{
				for (int n = 0; n < rowsCount; n++)
				{
					var model = DataRowToModel(dt.Rows[n]);
					modelList.Add(model);
				}
			}
			return modelList;
		}
		/// <summary>
		/// 获得数据
		/// </summary>
		public t_code_cust_mailproject DataRowToModel(DataRow dr)
		{
		    var model = new t_code_cust_mailproject();					
									if(dr["方案代码"].ToString()!="")
				model.方案代码=int.Parse(dr["方案代码"].ToString());
																												model.客户名称= dr["客户名称"].ToString();																						model.方案名称= dr["方案名称"].ToString();																														if(dr["默认方案"].ToString()!="")
			{
				if((dr["默认方案"].ToString()=="1")||(dr["默认方案"].ToString().ToLower()=="true"))
					model.默认方案= true; 
				else
					model.默认方案= false; 
			}
		    													model.录入人= dr["录入人"].ToString();																		if(dr["录入日期"].ToString()!="")
				model.录入日期=DateTime.Parse(dr["录入日期"].ToString());
																												model.方案备注= dr["方案备注"].ToString();														
			return model;
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public DataSet GetAllList()
		{
			return GetList("");
		}
		/// <summary>
        /// 分页获取数据列表
        /// </summary>
        /// <param name="startIndex"></param>
        /// <param name="limit"></param>
        /// <param name="strWhere"></param>
        /// <param name="orderby"></param>
        /// <returns></returns>
        public List<t_code_cust_mailproject> GetModelList(int startIndex, int limit, string strWhere, string orderby)
        {
            int endIndex = startIndex + limit;
        	DataSet ds = dal.GetListByPage(strWhere,orderby,startIndex,endIndex);
        	return DataTableToList(ds.Tables[0]);
        }
		/// <summary>
		/// 获取记录总数
		/// </summary>
		public int GetRecordCount(string strWhere)
		{
			return dal.GetRecordCount(strWhere);
		}
#endregion
	}
}