您目前尚未登陆,请选择【登陆】或【注册
首页->电子商务->MyShop网络商城源码(mvc开发)>>BLL/Class.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:MyShop网络商城源码(mvc开发)
当前文件:文件类型 MyShop/BLL/Class.cs打开代码结构图
高亮显示
		            using System;
using System.Collections.Generic;
using System.Data;

using MyShop.DALFactory;
using MyShop.IDAL;
using MyShop.Model;

namespace MyShop.BLL
{
    public class Class
    {
        private IClass dal = DataAccess.CreateClass();

        private int _id;

        public Class() { }
        public Class(int id)
        {
            this._id = id;
        }

        #region  IClass

        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        protected int Add(ClassInfo model)
        {
            if (model == null)
            {
                return 0;
            }
            return dal.Add(model);
        }

        protected int Delete(string filter)
        {
            if (string.IsNullOrEmpty(filter))
                return 0;
            return dal.Delete(filter);
        }

        public bool Exist(string filter)
        {
            filter = filter.Trim();
            if (string.IsNullOrEmpty(filter))
                return false;
            return dal.Exist(filter);
        }
        public DataSet GetDataSet()
        {
            return dal.GetDataSet();
        }

        public DataSet GetDataSet(string filter)
        {
            filter = filter.Trim();
            if (string.IsNullOrEmpty(filter))
                return null;
            return dal.GetDataSet(filter);
        }

        public ClassInfo GetModel(DataRow dr)
        {
            if (dr == null)
                return null;
            return dal.GetModel(dr);
        }

        private DataSet Query(string sql)
        {
            sql = sql.Trim();
            if (string.IsNullOrEmpty(sql))
                return null;
            return dal.Query(sql);
        }

        public int Update(ClassInfo model, string filter)
        {
            if (model == null)
                return 0;
            filter = filter.Trim();
            if (string.IsNullOrEmpty(filter))
                return 0;
            return dal.Update(model, filter);
        }

        #endregion

        #region common

        /// <summary>
        /// 加入栏目
        /// </summary>
        /// <param name="model"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public int Add(ClassInfo model, out string msg)
        {
            msg = "";
            if (model == null)
            {
                msg = msg + "<li>数据不能为空</li>";
                return 0;
            }
            bool isErr = false;

            if (isErr)
                return 0;

            int count = 0;
            count = Add(model);
            if (count == 0)
                msg = "<li>系统发生错误,请重新添加!</li>";
            if (count == 1)
                msg = "<li>添加成功!</li>";
            return count;
        }

        /// <summary>
        /// 删除Class栏目,只能用于删除无孩子的结点,否则目录树结构将被破坏
        /// </summary>
        /// <param name="classId"></param>
        /// <returns></returns>
        protected int Delete(int classId)
        {
            ClassInfo model = new ClassInfo();
            model = GetModel(classId);
            if (model == null)
                return 0;

            string filer;
            filer = " ClassId =" + classId;
            return Delete(filer);
        }


        public int Update(ClassInfo model)
        {

            if (model == null)
            {
                return 0;
            }
            string filter;
            filter = " ClassId=" + model.ClassID;
            return Update(model, filter);
        }

        public ClassInfo GetModel(int classId)
        {
            DataSet dataset = new DataSet();
            dataset = GetDataSet(" ClassId=" + classId);
            if (dataset != null && dataset.Tables[0].Rows.Count > 0)
                return GetModel(dataset.Tables[0].Rows[0]);
            return null;
        }
        public ClassInfo GetModel(string className)
        {
            className = Utils.ReplaceBadSQL(className.Trim());
            if (string.IsNullOrEmpty(className.ToString()))
                return null;
            DataSet dataset = new DataSet();
            dataset = GetDataSet(" className='" + className + "'");
            if (dataset != null && dataset.Tables[0].Rows.Count > 0)
                return GetModel(dataset.Tables[0].Rows[0]);
            return null;
        }

        #endregion


        #region 前台

        /// <summary>
        /// 得到以classId为父栏目的子栏目列表
        /// </summary>
        /// <param name="classId"></param>
        /// <returns></returns>
        public DataSet GetClassList(int classId)
        {
            return GetDataSet(" [parentId] = " + classId + " and [disabled] = 0  Order by orderId  ");
        }

        /// <summary>
        /// 得到以channelId频道的一级栏目列表
        /// </summary>
        /// <param name="channelId"></param>
        /// <returns></returns>
        public DataSet GetTopClassList(int channelId)
        {
            return GetDataSet(" [parentId] = 0 and [channelId] = " + channelId + " and [disabled] = 0  Order by orderId  ");
        }

        #endregion

        #region 以下过程要用Class cls = new Class(id)实例化后才能进行调用




        #region property

        /// <summary>
        /// 获取当前项目ID
        /// </summary>
        public int ID
        {
            get
            {
                return this._id;
            }
        }

        /// <summary>
        ///  获取调查项目的实体
        /// </summary>
        public ClassInfo Model
        {
            get
            {
                return GetModel(this._id);
            }
            set
            {
                Update(value);
            }
        }

        /// <summary>
        /// 获取当前对象是否存在
        /// </summary>
        public bool isExist
        {
            get
            {
                return Model == null ? false : true;
            }
        }

        #endregion

        #endregion


        /// <summary>
        /// 得到顶部导航栏目数据
        /// </summary>
        /// <param name="channelId"></param>
        /// <returns></returns>
        public DataSet GetDataSetTopNav(int channelId)
        {
            return GetDataSet(" [channelId] = " + channelId + " and [depth] = 1  Order by  parentpath,depth,orderId  ");
        }
        #region 后台管理

        public DataSet GetDataSetOrderByOrderId()
        {
            return GetDataSet(" [classId] > 0  order by channelId, parentpath,orderId  ");
        }

        public DataSet GetDataSetOrderByOrderId(int channelId)
        {
            return GetDataSet(" [channelId] = " + channelId + "  Order by  parentpath,depth,orderId  ");
        }
        /// <summary>
        /// 启用或禁用
        /// </summary>
        /// <param name="classId"></param>
        /// <returns></returns>
        public int Enable(int classId, bool action)
        {
            ClassInfo model = new ClassInfo();
            model = GetModel(classId);
            if (model == null)
                return 0;

            model.Disabled = action ? 0 : 1;
            return Update(model);
        }


        /// <summary>
        /// 频道是否存在
        /// </summary>
        /// <param name="className"></param>
        /// <returns></returns>
        public bool IsExist(string className)
        {
            className = className.Trim();
            if (Utils.ChkBadChar(className))
                return false;
            if (Exist(" [className] = '" + Utils.ReplaceBadSQL(className.Trim()) + "' "))
            {
                return true;
            }
            else
                return false;
        }

        /// <summary>
        /// 排序
        /// </summary>
        /// <param name="classId"></param>
        /// <param name="orderId"></param>
        /// <returns></returns>
        public int Order(int classId, int orderId)
        {
            ClassInfo model = new ClassInfo();
            model = GetModel(classId);
            if (model != null)
            {
                model.OrderID = orderId;
                return Update(model);
            }
            return 0;
        }

        /// <summary>
        /// 将该栏目的child加上num数目
        /// </summary>
        /// <param name="classId"></param>
        /// <param name="num">可正可负</param>
        /// <returns></returns>
        public int AddChildNumber(int classId, int num)
        {
            ClassInfo model = new ClassInfo();
            model = GetModel(classId); 
            if (model == null)
                return 0;
            model.Child = model.Child + num;
            return  Update(model);
        }

        /// <summary>
        /// 将classId该栏目的父栏目的child加上num数目
        /// </summary>
        /// <param name="classId"></param>
        /// <param name="num">可正可负</param>
        /// <returns></returns>
        public int AddChildren(int classId, int num)
        {
            ClassInfo model = new ClassInfo();
            model = GetModel(classId);
            if (model == null)
                return 0;
            ClassInfo parModel = new ClassInfo();
            parModel = GetModel(model.ParentID);
            if (parModel == null)
                return 0;
            parModel.Child = parModel.Child + num;
            return Update(parModel);
        }

        /// <summary>
        /// 将栏目向上或向下移动一位
        /// </summary>
        /// <param name="classId"></param>
        /// <param name="moveUp">true:向上移动;false向下移动</param>
        public void MoveClass(int classId, bool moveUp)
        {

        }



        /// <summary>
        /// 删除属于channelid频道的ClassId栏目,同时删除所有子栏目,及其信息内容,如文章等;
        /// </summary>
        /// <param name="channelId"></param>
        /// <param name="classId"></param>
        /// <returns></returns>
        public int Delete(int channelId, int classId)
        {
            ClassInfo model = new ClassInfo();
            model = GetModel(classId);
            if (model == null)
                return 0;

            string filer;
            filer = " ClassId =" + classId;

            int temParentId = 0;
            int temClassId = 0;
            temParentId = temClassId =  classId;

            while (HasChild(classId))
            {
                temClassId = classId;
                //if当前结点不是叶子
                while (HasChild(temClassId))
                {
                   // temParentId = temClassId;
                    temClassId = GetLeftChild(temClassId);
                }

                DeleteClassAndItsContent(channelId, temClassId);
            }


            AddChildren(classId, -1);
            return DeleteClassAndItsContent(channelId, classId);
        }

        /// <summary>
        ///只用于删除不带孩子的叶子结点及其信息内容,如文章等,该叶子结点属于channelid频道的ClassId栏目;        
        /// </summary>
        /// <param name="channelId"></param>
        /// <param name="classId"></param>
        /// <returns></returns>
       protected int DeleteClassAndItsContent(int channelId, int classId)
        {
            Channel channel = new Channel();
            ChannelInfo chModel = new ChannelInfo();
            chModel = channel.GetModel(channelId);
            int result = 0;
            switch (chModel.ModuleType)
            {
                case 1:
                    //文章频道
                    Article article = new Article();
                    article.Delete(channelId, classId);
                    break;
                case 2:
                    //商城频道
                    break;
                case 3:
                    //留言频道
                    break;
                case 4:
                    //下载频道
                    break;
                case 5:
                    //图片频道
                    break;
                default:
                    break;
            }
            result = Delete(classId);
            return result;
        }

       /// <summary>
       /// 判断是否有孩子
       /// </summary>
       /// <param name="classId"></param>
       /// <returns></returns>
        public bool HasChild(int classId)
        {
            string filter = " [parentId] = " + classId;
            if (GetDataSet(filter).Tables[0].Rows.Count > 0)
                return true;
            return false;
        }

        /// <summary>
        /// 判断是否有文章
        /// </summary>
        /// <param name="classId"></param>
        /// <returns></returns>
        public bool HasArticle(int classId)
        {
            Article art = new Article();
            if (art.GetDataSetByClassId(classId).Tables[0].Rows.Count > 0)
                return true;
            return false;
        }


        /// <summary>
        /// 得到左孩子
        /// </summary>
        /// <param name="classId"></param>
        /// <returns></returns>
        public int GetLeftChild(int classId)
        {
            if (HasChild(classId))
            {
                string filter = " [parentId] = " + classId + " order by [orderId] ";
                return Convert.ToInt32(GetDataSet(filter).Tables[0].Rows[0]["classId"]);
            }
            return 0;                 
        }

        /// <summary>
        /// 返回孩子的个数
        /// </summary>
        /// <param name="parentId"></param>
        /// <returns></returns>
        public int GetChildrenCount(int parentId)
        {
            string filter = "[parentId] = " + parentId; 
            return GetDataSet(filter).Tables[0].Rows.Count;
        }
     

        #endregion

    }
}


        
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:MyShop网络商城源码(mvc开发)
51Aspx.com 版权所有 CopyRight © 2000-2008. 京ICP备06046876号