/// 
///INTERFACE CLASS FOR TABLE t_wmsInRequest
///By wm with codesmith. 
///on 05/12/2017
/// 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace DeiNiu.wms.Data.Model
{
    [Serializable]
    public class WmsInRequest : WmsInRequest_base
    {
        public WmsInRequest()
        {
        }
        public WmsInRequest(int id): base(id)
        {
        }
         public WmsInRequest(DataRow dr): base(dr)
        {
        }
         public WmsInRequest(string orderNo) 
         {
             cmdParameters[0] = orderNo;
             getModel(110);
         }
         protected override void getImp()
         {
             model_imp = new WmsInRequest_Imp();
         }
        //begin cust db operation, query, excute sql etc.
        public DataSet QueryByName(string orderNo)
        {
            cmdParameters[0] = orderNo;
            return  CustQuery(100);
        }
        /// 
        /// sync new request orders
        /// 
        /// 
        public int syncInRequest()
        {
          
            return CustOper(200);
        }
         
        public DataSet getRequestDetail(string orderNo)
        {
            cmdParameters[0] =  orderNo;
            return CustQuery(400);
        }
        public DataSet getRequestInStockDetail(string orderNo)
        {
            cmdParameters[0] =  orderNo;
            return CustQuery(500);
        }
         
        private List _inDetails;
        public List inDetails
        {  
            get {
                if (_inDetails == null && !string.IsNullOrEmpty(_orderNo))
                {
                    _inDetails = new List();
                    DataTable dt = getRequestDetail(_orderNo).Tables[0];
                    foreach (DataRow dr in dt.Rows)
                    {
                        _inDetails.Add(new WmsInRequestDetail(dr));
                    }
                }
                return _inDetails;
              
            }
           
        }
        /// 
        /// 批次、有效期、生产日期维护错的订单
        /// 
        /// 
        public DataSet getInvalidInRequest()
        {
        
            return CustQuery(600);
        }
        /// 
        ///  批次、有效期、生产日期维护错的订单明细
        /// 
        /// 
        /// 
        public DataSet getInvalidInRequestDetail(string orderNo)
        {
            cmdParameters[0] =  orderNo;
            return CustQuery(610);
        }
        public bool deleteRequest(string orderNo)
        { 
            cmdParameters[0] = orderNo;
            return CustOper(700) > 0;
        }
        /// 
        /// 取入库货位分配详情
        /// 
        /// stockrecord id
        /// datatable
        public DataTable getStockInDetail(int Id)
        {
            cmdParameters[0] = Id;
            return CustQuery(800).Tables[0];
        }
        public bool finishUpShelf(string orderNo,int detailId)
        {
            cmdParameters[0] = orderNo;
            cmdParameters[1] = detailId;
            return CustOper(900) ==1 ;
        }
    }
}