/// <summary>
        ///  ����һ������
        /// </summary>
        public void Add(CategoryModel model)
        {
            DbCommand dbCommand = dbw.GetStoredProcCommand("UP_pdCategory_ADD");
            dbw.AddInParameter(dbCommand, "CateId", DbType.Int32, model.CateId);
            dbw.AddInParameter(dbCommand, "CateName", DbType.AnsiString, model.CateName);
            dbw.AddInParameter(dbCommand, "Status", DbType.Int32, model.Status);
            dbw.AddInParameter(dbCommand, "IsHide", DbType.Boolean, model.IsHide);
            dbw.AddInParameter(dbCommand, "CateLevel", DbType.Int32, model.CateLevel);
            dbw.AddInParameter(dbCommand, "Parentid", DbType.Int32, model.ParentID);
            dbw.AddInParameter(dbCommand, "PriceRange", DbType.AnsiString, model.PriceRange);
            dbw.AddInParameter(dbCommand, "Remark", DbType.AnsiString, model.Remark);
            dbw.AddInParameter(dbCommand, "showorder", DbType.Int32, model.ShowOrder);
            dbw.AddInParameter(dbCommand, "pinyinname", DbType.String, model.PinYinName);
            dbw.AddInParameter(dbCommand, "SearchPriceRange", DbType.String, model.SearchPriceRange);

            dbw.ExecuteNonQuery(dbCommand);
        }
 /// <summary>
 /// ����һ������
 /// </summary>
 public void Add(CategoryModel model)
 {
     dal.Add(model);
 }
 /// <summary>
 /// ����һ������
 /// </summary>
 public void Update(CategoryModel model)
 {
     dal.Update(model);
 }
 /// <summary>
 /// ��������б�
 /// </summary>
 public List<CategoryModel> GetModelList(string strWhere)
 {
     DataSet ds = dal.GetList(strWhere);
     List<CategoryModel> modelList = new List<CategoryModel>();
     int rowsCount = ds.Tables[0].Rows.Count;
     if (rowsCount > 0)
     {
         CategoryModel model;
         for (int n = 0; n < rowsCount; n++)
         {
             model = new CategoryModel();
             if(ds.Tables[0].Rows[n]["CateId"].ToString()!="")
             {
                 model.CateId=int.Parse(ds.Tables[0].Rows[n]["CateId"].ToString());
             }
             model.CateName=ds.Tables[0].Rows[n]["CateName"].ToString();
             model.CatePath=ds.Tables[0].Rows[n]["CatePath"].ToString();
             if(ds.Tables[0].Rows[n]["Status"].ToString()!="")
             {
                 model.Status=int.Parse(ds.Tables[0].Rows[n]["Status"].ToString());
             }
             model.PriceRange=ds.Tables[0].Rows[n]["PriceRange"].ToString();
             if(ds.Tables[0].Rows[n]["IsHide"].ToString()!="")
             {
                 if((ds.Tables[0].Rows[n]["IsHide"].ToString()=="1")||(ds.Tables[0].Rows[n]["IsHide"].ToString().ToLower()=="true"))
                 {
                 model.IsHide=true;
                 }
                 else
                 {
                     model.IsHide=false;
                 }
             }
             if(ds.Tables[0].Rows[n]["CateLevel"].ToString()!="")
             {
                 model.CateLevel=int.Parse(ds.Tables[0].Rows[n]["CateLevel"].ToString());
             }
             modelList.Add(model);
         }
     }
     return modelList;
 }
        /// <summary>
        /// ����ʵ�������
        /// </summary>
        public CategoryModel ReaderBind(IDataReader dataReader)
        {
            CategoryModel model = new CategoryModel() ;
            object ojb;
            ojb = dataReader["CateId"];
            if(ojb != null && ojb != DBNull.Value)
            {
                model.CateId=(int)ojb;
            }
            ojb = dataReader["CateLevel"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.CateLevel = int.Parse(ojb.ToString());
            }
            model.CateName=dataReader["CateName"].ToString();
            model.CatePath=dataReader["CatePath"].ToString();
            ojb = dataReader["IsHide"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.IsHide = (bool)ojb;
            }
            ojb = dataReader["parentid"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.ParentID = int.Parse(ojb.ToString());
            }
            model.PriceRange = dataReader["PriceRange"].ToString();
            model.Remark = dataReader["remark"].ToString();
            ojb = dataReader["showorder"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.ShowOrder = int.Parse(ojb.ToString());
            }
            ojb = dataReader["Status"];
            if(ojb != null && ojb != DBNull.Value)
            {
                model.Status=int.Parse(ojb.ToString());
            }
            ojb = dataReader["SearchPriceRange"];
            if (ojb != null && ojb != DBNull.Value)
            {
                model.SearchPriceRange = ojb.ToString();
            }

            return model;
        }
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            string strErr = "";
            if (this.txtCateName.Text.Trim() == "")
            {
                strErr += "�������Ʋ���Ϊ�գ�\\n";
            }
            if (this.txtSearchPriceRange.Text.Trim() == "")
            {
                strErr += "���������۸����䲻��Ϊ�գ�\\n";
            }
            if (this.txtSearchPriceRange.Text.Trim() != "")
            {
                string validateString = txtSearchPriceRange.Text.Trim().Replace("��", ",").Replace("��", "~");

                if (validateString.Contains(","))
                {
                    foreach (string s in validateString.Split(','))
                    {
                        int r1 = 0, r2 = 0;
                        if (!s.Contains("~") || !int.TryParse(s.Split('~')[0], out r1) || !int.TryParse(s.Split('~')[1], out r2))
                        {
                            strErr += "�۸�������д����\\n";
                            break;
                        }
                    }
                }
                else
                {
                    int r1 = 0, r2 = 0;
                    if (!validateString.Contains("~") || !int.TryParse(validateString.Split('~')[0], out r1) || !int.TryParse(validateString.Split('~')[1], out r2))
                    {
                        strErr += "�۸�������д����\\n";
                    }
                }
            }

            if (strErr != "")
            {
                MessageBox.Show(this, strErr);
                return;
            }

            string CateName = this.txtCateName.Text;
            int Status = Convert.ToInt32(drpStatus.SelectedValue);
            //string PriceRange = this.txtPriceRange.Text;
            bool IsHide = this.chkIsHide.Checked;

            CategoryModel model = new CategoryModel();
            model.CateId = CommDataHelper.GetNewSerialNum("pd");
            model.CateName = CateName;
            model.Status = Status;
            model.IsHide = IsHide;
            model.ShowOrder = model.CateId;
            model.SearchPriceRange = txtSearchPriceRange.Text.Trim().EndsWith(",") ? txtSearchPriceRange.Text.Trim().Substring(0, txtSearchPriceRange.Text.Trim().Length - 1) : txtSearchPriceRange.Text.Trim();

            if (ParentID != 0)
            {
                CategoryModel ParentCategory = bll.GetModel(ParentID);

                model.ParentID = ParentID;
                model.CateLevel = ParentCategory.CateLevel + 1;
            }
            else
            {
                model.ParentID = 0;
                model.CateLevel = 1;
            }
            bll.Add(model);

            //�жϸ����Ƿ�������ԣ�������̳и�������
            //if (pBll.ExistsCategoryParameter(model.ParentID))
            //{
            //    List<CategoryParaModel> ParentParaList = pBll.GetModelList(" cateid="+model.ParentID+" ");
            //    foreach (CategoryParaModel pModel in ParentParaList)
            //    {
            //        pModel.ParaId = CommDataHelper.GetNewSerialNum("pd");
            //        pModel.CateId = model.CateId;
            //        pBll.Add(pModel);
            //    }

            //}

            Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type=\"text/javascript\">window.parent.location=window.parent.location+'?_=" + DateTime.Now.Ticks + "'</script>");
        }