using System;
using System.Collections.Generic; 
using System.Data;
using DSWeb.SoftMng.Model;
// ReSharper disable once CheckNamespace
namespace DSWeb.SoftMng.BLL {
	 	//DecGoodsLimitVin
		public partial class DecGoodsLimitVinBLL
	{ 
		private readonly DAL.DecGoodsLimitVinDAL dal=new DAL.DecGoodsLimitVinDAL();
		#region  Method
		/// <summary>
		/// 是否存在该记录
		/// </summary>
		public bool Exists(string GID)
		{
			return dal.Exists(GID);
		}
		/// <summary>
		/// 增加一条数据
		/// </summary>
		public int  Add(DecGoodsLimitVin model)
		{
			return dal.Add(model);			
		}
		/// <summary>
		/// 更新一条数据
		/// </summary>
		public int Update(DecGoodsLimitVin model)
		{
			return dal.Update(model);
		}
		/// <summary>
		/// 删除一条数据
		/// </summary>
		public int Delete(string GID)
		{
			return dal.Delete(GID);
		}
				/// <summary>
		/// 按条件批量删除(有风险)
		/// </summary>
		public int DeleteListWhere(string strWhere)
		{
		  	return dal.DeleteListWhere(strWhere);
		}
		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		public DecGoodsLimitVin GetModel(string GID)
		{
			DataSet ds = dal.GetModel(GID);
			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<DecGoodsLimitVin> GetModelList(string strWhere)
		{
			DataSet ds = dal.GetList(strWhere);
			return DataTableToList(ds.Tables[0]);
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<DecGoodsLimitVin> DataTableToList(DataTable dt)
		{
			List<DecGoodsLimitVin> modelList = new List<DecGoodsLimitVin>();
			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 DecGoodsLimitVin DataRowToModel(DataRow dr)
        {
            var model = new DecGoodsLimitVin();
            model.GID = dr["GID"].ToString();
            model.GoodsNoVin = dr["GoodsNoVin"].ToString();
            model.VinNo = dr["VinNo"].ToString();
            if (dr["BillLadDate"].ToString() != "")
                model.BillLadDate = DateTime.Parse(dr["BillLadDate"].ToString());
            model.QualityQgp = dr["QualityQgp"].ToString();
            model.VinCode = dr["VinCode"].ToString();
            model.MotorNo = dr["MotorNo"].ToString();
            model.InvoiceNo = dr["InvoiceNo"].ToString();
            if (dr["InvoiceNum"].ToString() != "")
                model.InvoiceNum = int.Parse(dr["InvoiceNum"].ToString());
            model.ProdCnnm = dr["ProdCnnm"].ToString();
            model.ProdEnnm = dr["ProdEnnm"].ToString();
            model.ModelEn = dr["ModelEn"].ToString();
            model.ChassisNo = dr["ChassisNo"].ToString();
            if (dr["PricePerUnit"].ToString() != "")
                model.PricePerUnit = decimal.Parse(dr["PricePerUnit"].ToString());
            model.PID = dr["PID"].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<DecGoodsLimitVin> 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
	}
}