コード例 #1
0
        public static string GetMenuStr(long userID)
        {
            StringBuilder str = new StringBuilder();

            XCLShouCang.BLL.WebType   bll       = new XCLShouCang.BLL.WebType();
            XCLShouCang.Model.WebType rootModel = bll.GetRootModel(userID);
            if (null == rootModel)
            {
                throw new Exception(string.Format("用户{0}的根类型不存在!", userID));
            }
            str.Append(@"<ul class=""nav navbar-nav"">");
            List <XCLShouCang.Model.WebType> lst = bll.GetListByUserIDAndParentID(userID, rootModel.WebTypeID);

            if (null != lst && lst.Count > 0)
            {
                foreach (var m in lst)
                {
                    if (bll.IsExistParentID(m.WebTypeID))
                    {
                        str.AppendFormat(@"<li class=""dropdown""><a href=""#"" class=""dropdown-toggle"" data-toggle=""dropdown"">{0} <span class=""caret""></span></a>", m.TypeName);
                    }
                    else
                    {
                        str.AppendFormat(@"<li><a href=""#"">{0}</a>", m.TypeName);
                    }
                    GetChildMenuStr(userID, m.WebTypeID, str);
                    str.Append("</li>");
                }
            }
            str.Append("</ul>");
            return(str.ToString().Replace(@"<ul class=""dropdown-menu"" role=""menu""></ul>", ""));
        }
コード例 #2
0
        public static string GetWebTypeOptionStr(long userID, long seletedValue)
        {
            StringBuilder str = new StringBuilder();

            XCLShouCang.BLL.WebType   bll       = new XCLShouCang.BLL.WebType();
            XCLShouCang.Model.WebType rootModel = bll.GetRootModel(userID);
            if (null == rootModel)
            {
                throw new Exception(string.Format("用户{0}的根类型不存在!", userID));
            }

            str.AppendFormat(@"<option value=""{0}"" {2}>{1}</option>", rootModel.WebTypeID, rootModel.TypeName, seletedValue == rootModel.WebTypeID ? " selected='selected' " : "");
            string        strLine = "";
            Action <long> GetChildWebTypeOptionStr = null;

            GetChildWebTypeOptionStr = (parentID) =>
            {
                strLine += "----";
                List <XCLShouCang.Model.WebType> lst = bll.GetFolderListByUserIDAndParentID(userID, parentID);
                if (null != lst && lst.Count > 0)
                {
                    foreach (var m in lst)
                    {
                        str.AppendFormat(@"<option value=""{0}""  {3}>{1}{2}</option>", m.WebTypeID, strLine, m.TypeName, seletedValue == m.WebTypeID ? " selected='selected' " : "");
                        GetChildWebTypeOptionStr(m.WebTypeID);
                    }
                }
                strLine = strLine.Substring(4);
            };

            GetChildWebTypeOptionStr(rootModel.WebTypeID);
            return(str.ToString());
        }
コード例 #3
0
        public ActionResult Show()
        {
            long webTypeID = XCLNetTools.StringHander.FormHelper.GetLong("WebTypeID");

            XCLShouCang.BLL.WebType   bll   = new XCLShouCang.BLL.WebType();
            XCLShouCang.Model.WebType model = bll.GetModel(base.CurrentUserModel.UserID, webTypeID);
            return(View("~/Views/UserAdmin/WebTypeShow.cshtml", model));
        }
コード例 #4
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public long Add(XCLShouCang.Model.WebType model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into WebType(");
            strSql.Append("ParentID,WebTypeGid,ParentGid,TypeName,TypeURL,TypeDescription,IcoURL,FK_UserID,Sort,IsShare,IsFolder,IsReadOnly,CreatorName,CreateTime,UpdateName,UpdateTime,IsDel)");
            strSql.Append(" values (");
            strSql.Append("@ParentID,@WebTypeGid,@ParentGid,@TypeName,@TypeURL,@TypeDescription,@IcoURL,@FK_UserID,@Sort,@IsShare,@IsFolder,@IsReadOnly,@CreatorName,@CreateTime,@UpdateName,@UpdateTime,@IsDel)");
            strSql.Append(";select SCOPE_IDENTITY()");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ParentID",        SqlDbType.BigInt,       8),
                new SqlParameter("@WebTypeGid",      SqlDbType.VarChar,     50),
                new SqlParameter("@ParentGid",       SqlDbType.VarChar,     50),
                new SqlParameter("@TypeName",        SqlDbType.VarChar,    500),
                new SqlParameter("@TypeURL",         SqlDbType.VarChar,    500),
                new SqlParameter("@TypeDescription", SqlDbType.VarChar,     -1),
                new SqlParameter("@IcoURL",          SqlDbType.VarChar,   1000),
                new SqlParameter("@FK_UserID",       SqlDbType.BigInt,       8),
                new SqlParameter("@Sort",            SqlDbType.BigInt,       8),
                new SqlParameter("@IsShare",         SqlDbType.TinyInt,      1),
                new SqlParameter("@IsFolder",        SqlDbType.TinyInt,      1),
                new SqlParameter("@IsReadOnly",      SqlDbType.TinyInt,      1),
                new SqlParameter("@CreatorName",     SqlDbType.VarChar,     50),
                new SqlParameter("@CreateTime",      SqlDbType.DateTime),
                new SqlParameter("@UpdateName",      SqlDbType.VarChar,     50),
                new SqlParameter("@UpdateTime",      SqlDbType.DateTime),
                new SqlParameter("@IsDel",           SqlDbType.TinyInt, 1)
            };
            parameters[0].Value  = model.ParentID;
            parameters[1].Value  = model.WebTypeGid;
            parameters[2].Value  = model.ParentGid;
            parameters[3].Value  = model.TypeName;
            parameters[4].Value  = model.TypeURL;
            parameters[5].Value  = model.TypeDescription;
            parameters[6].Value  = model.IcoURL;
            parameters[7].Value  = model.FK_UserID;
            parameters[8].Value  = model.Sort;
            parameters[9].Value  = model.IsShare;
            parameters[10].Value = model.IsFolder;
            parameters[11].Value = model.IsReadOnly;
            parameters[12].Value = model.CreatorName;
            parameters[13].Value = model.CreateTime;
            parameters[14].Value = model.UpdateName;
            parameters[15].Value = model.UpdateTime;
            parameters[16].Value = model.IsDel;

            object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(0);
            }
            else
            {
                return(Convert.ToInt64(obj));
            }
        }
コード例 #5
0
        public ActionResult Index()
        {
            XCLShouCang.BLL.WebType            webTypeBLL   = new XCLShouCang.BLL.WebType();
            XCLShouCang.Model.WebType          webTypeModel = null;
            Web.Models.WebType.WebTypeAddModel viewModel    = new Models.WebType.WebTypeAddModel();
            viewModel.WebTypeID = XCLNetTools.StringHander.FormHelper.GetLong("WebTypeID");
            viewModel.ParentID  = XCLNetTools.StringHander.FormHelper.GetLong("ParentID");
            viewModel.IsFolder  = XCLNetTools.StringHander.FormHelper.GetInt("IsFolder");

            var parentModel = webTypeBLL.GetModel(base.CurrentUserModel.UserID, viewModel.ParentID);

            viewModel.ParentModel = parentModel;

            switch (base.CurrentHandleType)
            {
            case Common.CommonHelper.HandleType.ADD:
                break;

            case Common.CommonHelper.HandleType.UPDATE:
                //修改
                webTypeModel = webTypeBLL.GetModel(base.CurrentUserModel.UserID, viewModel.WebTypeID);
                if (null != webTypeModel)
                {
                    viewModel.IcoURL          = webTypeModel.IcoURL;
                    viewModel.IsFolder        = webTypeModel.IsFolder;
                    viewModel.ParentID        = webTypeModel.ParentID;
                    viewModel.TypeDescription = webTypeModel.TypeDescription;
                    viewModel.TypeName        = webTypeModel.TypeName;
                    viewModel.TypeURL         = webTypeModel.TypeURL;
                    viewModel.WebTypeID       = webTypeModel.WebTypeID;
                }
                break;
            }

            return(View("~/Views/UserAdmin/WebTypeAdd.cshtml", viewModel));
        }
コード例 #6
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public XCLShouCang.Model.WebType GetModel(long WebTypeID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select  top 1 WebTypeID,ParentID,WebTypeGid,ParentGid,TypeName,TypeURL,TypeDescription,IcoURL,FK_UserID,Sort,IsShare,IsFolder,IsReadOnly,CreatorName,CreateTime,UpdateName,UpdateTime,IsDel from WebType ");
            strSql.Append(" where WebTypeID=@WebTypeID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@WebTypeID", SqlDbType.BigInt)
            };
            parameters[0].Value = WebTypeID;

            XCLShouCang.Model.WebType model = new XCLShouCang.Model.WebType();
            DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
コード例 #7
0
        public void Add(FormCollection form)
        {
            Web.Models.WebType.WebTypeAddModel viewModel = new Models.WebType.WebTypeAddModel()
            {
                IcoURL          = (form["txtIcoURL"] ?? "").Trim(),
                IsFolder        = XCLNetTools.StringHander.Common.GetInt(form["IsFolder"]),
                ParentID        = XCLNetTools.StringHander.Common.GetLong(form["ParentID"]),
                TypeDescription = (form["txtTypeDescription"] ?? "").Trim(),
                TypeName        = (form["txtTypeName"] ?? "").Trim(),
                TypeURL         = (form["txtTypeURL"] ?? "").Trim(),
                WebTypeID       = XCLNetTools.StringHander.Common.GetLong(form["WebTypeID"])
            };
            if (viewModel.IsFolder == 1)
            {
                viewModel.IcoURL = string.Empty;
            }
            else
            {
                if (string.IsNullOrEmpty(viewModel.IcoURL))
                {
                    viewModel.IcoURL = Web.Common.CommonHelper.DefaultIcoURL;
                }
                else
                {
                    viewModel.IcoURL = viewModel.IcoURL.Length > 1000 ? Web.Common.CommonHelper.DefaultIcoURL : viewModel.IcoURL;
                }
            }
            ValidateModel(viewModel);

            XCLShouCang.BLL.WebType   bll   = new XCLShouCang.BLL.WebType();
            XCLShouCang.Model.WebType model = null;
            switch (base.CurrentHandleType)
            {
            case Common.CommonHelper.HandleType.ADD:
                model                 = new XCLShouCang.Model.WebType();
                model.ParentID        = viewModel.ParentID;
                model.TypeName        = viewModel.TypeName;
                model.IcoURL          = viewModel.IcoURL;
                model.TypeDescription = viewModel.TypeDescription;
                model.TypeURL         = viewModel.TypeURL;
                model.CreatorName     = base.CurrentUserModel.UserName;
                model.CreateTime      = DateTime.Now;
                model.FK_UserID       = base.CurrentUserModel.UserID;
                model.IsDel           = 0;
                model.IsReadOnly      = 0;
                model.Sort            = 0;
                model.IsFolder        = viewModel.IsFolder;

                var parentModel = bll.GetModel(base.CurrentUserModel.UserID, model.ParentID);
                if (null == parentModel || parentModel.IsFolder != 1)
                {
                    XCLNetTools.Message.Log.WriteMessage("父对象必须为有效的收藏夹,本次添加失败,请重试!");
                    break;
                }

                model.IsShare = parentModel.IsShare;

                if (bll.Add(model) > 0)
                {
                    XCLNetTools.Message.Log.WriteMessage("添加成功!");
                }
                else
                {
                    XCLNetTools.Message.Log.WriteMessage("添加失败,请重试!");
                }
                break;

            case Common.CommonHelper.HandleType.UPDATE:
                model = bll.GetModel(base.CurrentUserModel.UserID, viewModel.WebTypeID);
                if (model.ParentID == 0)
                {
                    XCLNetTools.Message.Log.WriteMessage("不允许更改根目录!");
                    break;
                }
                model.ParentID        = viewModel.ParentID;
                model.TypeName        = viewModel.TypeName;
                model.IcoURL          = viewModel.IcoURL;
                model.TypeDescription = viewModel.TypeDescription;
                model.TypeURL         = viewModel.TypeURL;
                model.UpdateName      = base.CurrentUserModel.UserName;
                model.UpdateTime      = DateTime.Now;
                if (bll.Update(model))
                {
                    XCLNetTools.Message.Log.WriteMessage("修改成功!");
                }
                else
                {
                    XCLNetTools.Message.Log.WriteMessage("修改失败,请重试!");
                }
                break;
            }
        }
コード例 #8
0
        public void Input(FormCollection form)
        {
            Web.Models.WebType.WebTypeInputModel viewModel = new Models.WebType.WebTypeInputModel()
            {
                ParentID       = XCLNetTools.StringHander.Common.GetLong(form["selParentID"]),
                UploadFileName = form["hdUploadSuccessPath"]
            };
            ValidateModel(viewModel);
            XCLShouCang.BLL.WebType          bll   = new XCLShouCang.BLL.WebType();
            XCLShouCang.Model.WebType        model = null;
            List <XCLShouCang.Model.WebType> lst   = new List <XCLShouCang.Model.WebType>();
            DateTime dtNow = DateTime.Now;

            var parentModel = bll.GetModel(base.CurrentUserModel.UserID, viewModel.ParentID);

            if (null == parentModel || parentModel.IsFolder != 1)
            {
                XCLNetTools.Message.Log.WriteMessage("父对象必须为有效的收藏夹,本次导入失败,请重试!");
                return;
            }

            Regex  reg     = new Regex(@"(<dt>)|(<p>)|(\n)|(\r)", RegexOptions.IgnoreCase);
            string strFile = System.IO.File.ReadAllText(Server.MapPath(viewModel.UploadFileName), System.Text.Encoding.UTF8);

            strFile = reg.Replace(strFile, "");
            strFile = new Regex(@">\s+<").Replace(strFile, "><");

            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.LoadHtml(strFile);

            Action <HtmlAgilityPack.HtmlNode, string> GetNodeItems = null;

            GetNodeItems = (HtmlAgilityPack.HtmlNode rootNode, string parentGuid) => {
                //收藏夹
                HtmlAgilityPack.HtmlNodeCollection folderNodeList = rootNode.SelectNodes("h3");
                if (null != folderNodeList && folderNodeList.Count > 0)
                {
                    foreach (var m in folderNodeList)
                    {
                        model                 = new XCLShouCang.Model.WebType();
                        model.CreateTime      = dtNow;
                        model.CreatorName     = base.CurrentUserModel.UserName;
                        model.FK_UserID       = base.CurrentUserModel.UserID;
                        model.IsDel           = 0;
                        model.IsFolder        = 1;
                        model.IsReadOnly      = 0;
                        model.WebTypeGid      = Guid.NewGuid().ToString("N");
                        model.ParentGid       = parentGuid;
                        model.IsShare         = parentModel.IsShare;
                        model.Sort            = 0;
                        model.TypeDescription = "";
                        model.TypeName        = m.InnerText;
                        lst.Add(model);
                        //m的子项
                        var nextNode = m.NextSibling;
                        if (null != nextNode && string.Equals(nextNode.Name, "dl", StringComparison.CurrentCultureIgnoreCase))
                        {
                            GetNodeItems(nextNode, model.WebTypeGid);
                        }
                    }
                }


                //收藏项
                HtmlAgilityPack.HtmlNodeCollection nodeList = rootNode.SelectNodes("a");
                if (null != nodeList && nodeList.Count > 0)
                {
                    foreach (var m in nodeList)
                    {
                        model             = new XCLShouCang.Model.WebType();
                        model.CreateTime  = dtNow;
                        model.CreatorName = base.CurrentUserModel.UserName;
                        model.FK_UserID   = base.CurrentUserModel.UserID;
                        model.IcoURL      = null == m.Attributes["ICON"] ? "" : m.Attributes["ICON"].Value;
                        if (string.IsNullOrEmpty(model.IcoURL))
                        {
                            model.IcoURL = Web.Common.CommonHelper.DefaultIcoURL;
                        }
                        else
                        {
                            model.IcoURL = model.IcoURL.Length > 1000 ? Web.Common.CommonHelper.DefaultIcoURL : model.IcoURL;
                        }
                        model.IsDel           = 0;
                        model.IsFolder        = 0;
                        model.IsReadOnly      = 0;
                        model.ParentGid       = parentGuid;
                        model.IsShare         = parentModel.IsShare;
                        model.Sort            = 0;
                        model.TypeDescription = "";
                        model.TypeName        = m.InnerText;
                        model.TypeURL         = null == m.Attributes["HREF"] ? "" : m.Attributes["HREF"].Value;
                        lst.Add(model);
                    }
                }
            };

            string rootGuid = Guid.NewGuid().ToString("N");

            GetNodeItems(doc.DocumentNode.ChildNodes["dl"], rootGuid);

            if (bll.BulkInputAdd(lst, rootGuid, viewModel.ParentID))
            {
                XCLNetTools.Message.Log.WriteMessage(string.Format("您已成功导入【{0}】条收藏!", lst.Count));
            }
            else
            {
                XCLNetTools.Message.Log.WriteMessage("抱歉,导入失败了,请重试!");
            }
        }
コード例 #9
0
 /// <summary>
 /// 得到一个对象实体
 /// </summary>
 public XCLShouCang.Model.WebType DataRowToModel(DataRow row)
 {
     XCLShouCang.Model.WebType model = new XCLShouCang.Model.WebType();
     if (row != null)
     {
         if (row["WebTypeID"] != null && row["WebTypeID"].ToString() != "")
         {
             model.WebTypeID = long.Parse(row["WebTypeID"].ToString());
         }
         if (row["ParentID"] != null && row["ParentID"].ToString() != "")
         {
             model.ParentID = long.Parse(row["ParentID"].ToString());
         }
         if (row["WebTypeGid"] != null)
         {
             model.WebTypeGid = row["WebTypeGid"].ToString();
         }
         if (row["ParentGid"] != null)
         {
             model.ParentGid = row["ParentGid"].ToString();
         }
         if (row["TypeName"] != null)
         {
             model.TypeName = row["TypeName"].ToString();
         }
         if (row["TypeURL"] != null)
         {
             model.TypeURL = row["TypeURL"].ToString();
         }
         if (row["TypeDescription"] != null)
         {
             model.TypeDescription = row["TypeDescription"].ToString();
         }
         if (row["IcoURL"] != null)
         {
             model.IcoURL = row["IcoURL"].ToString();
         }
         if (row["FK_UserID"] != null && row["FK_UserID"].ToString() != "")
         {
             model.FK_UserID = long.Parse(row["FK_UserID"].ToString());
         }
         if (row["Sort"] != null && row["Sort"].ToString() != "")
         {
             model.Sort = long.Parse(row["Sort"].ToString());
         }
         if (row["IsShare"] != null && row["IsShare"].ToString() != "")
         {
             model.IsShare = int.Parse(row["IsShare"].ToString());
         }
         if (row["IsFolder"] != null && row["IsFolder"].ToString() != "")
         {
             model.IsFolder = int.Parse(row["IsFolder"].ToString());
         }
         if (row["IsReadOnly"] != null && row["IsReadOnly"].ToString() != "")
         {
             model.IsReadOnly = int.Parse(row["IsReadOnly"].ToString());
         }
         if (row["CreatorName"] != null)
         {
             model.CreatorName = row["CreatorName"].ToString();
         }
         if (row["CreateTime"] != null && row["CreateTime"].ToString() != "")
         {
             model.CreateTime = DateTime.Parse(row["CreateTime"].ToString());
         }
         if (row["UpdateName"] != null)
         {
             model.UpdateName = row["UpdateName"].ToString();
         }
         if (row["UpdateTime"] != null && row["UpdateTime"].ToString() != "")
         {
             model.UpdateTime = DateTime.Parse(row["UpdateTime"].ToString());
         }
         if (row["IsDel"] != null && row["IsDel"].ToString() != "")
         {
             model.IsDel = int.Parse(row["IsDel"].ToString());
         }
     }
     return(model);
 }
コード例 #10
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(XCLShouCang.Model.WebType model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update WebType set ");
            strSql.Append("ParentID=@ParentID,");
            strSql.Append("WebTypeGid=@WebTypeGid,");
            strSql.Append("ParentGid=@ParentGid,");
            strSql.Append("TypeDescription=@TypeDescription,");
            strSql.Append("IcoURL=@IcoURL,");
            strSql.Append("FK_UserID=@FK_UserID,");
            strSql.Append("Sort=@Sort,");
            strSql.Append("IsShare=@IsShare,");
            strSql.Append("IsFolder=@IsFolder,");
            strSql.Append("IsReadOnly=@IsReadOnly,");
            strSql.Append("CreatorName=@CreatorName,");
            strSql.Append("CreateTime=@CreateTime,");
            strSql.Append("UpdateName=@UpdateName,");
            strSql.Append("UpdateTime=@UpdateTime,");
            strSql.Append("IsDel=@IsDel");
            strSql.Append(" where WebTypeID=@WebTypeID");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ParentID",        SqlDbType.BigInt,       8),
                new SqlParameter("@WebTypeGid",      SqlDbType.VarChar,     50),
                new SqlParameter("@ParentGid",       SqlDbType.VarChar,     50),
                new SqlParameter("@TypeDescription", SqlDbType.VarChar,     -1),
                new SqlParameter("@IcoURL",          SqlDbType.VarChar,   1000),
                new SqlParameter("@FK_UserID",       SqlDbType.BigInt,       8),
                new SqlParameter("@Sort",            SqlDbType.BigInt,       8),
                new SqlParameter("@IsShare",         SqlDbType.TinyInt,      1),
                new SqlParameter("@IsFolder",        SqlDbType.TinyInt,      1),
                new SqlParameter("@IsReadOnly",      SqlDbType.TinyInt,      1),
                new SqlParameter("@CreatorName",     SqlDbType.VarChar,     50),
                new SqlParameter("@CreateTime",      SqlDbType.DateTime),
                new SqlParameter("@UpdateName",      SqlDbType.VarChar,     50),
                new SqlParameter("@UpdateTime",      SqlDbType.DateTime),
                new SqlParameter("@IsDel",           SqlDbType.TinyInt,      1),
                new SqlParameter("@WebTypeID",       SqlDbType.BigInt,       8),
                new SqlParameter("@TypeName",        SqlDbType.VarChar,    500),
                new SqlParameter("@TypeURL",         SqlDbType.VarChar, 500)
            };
            parameters[0].Value  = model.ParentID;
            parameters[1].Value  = model.WebTypeGid;
            parameters[2].Value  = model.ParentGid;
            parameters[3].Value  = model.TypeDescription;
            parameters[4].Value  = model.IcoURL;
            parameters[5].Value  = model.FK_UserID;
            parameters[6].Value  = model.Sort;
            parameters[7].Value  = model.IsShare;
            parameters[8].Value  = model.IsFolder;
            parameters[9].Value  = model.IsReadOnly;
            parameters[10].Value = model.CreatorName;
            parameters[11].Value = model.CreateTime;
            parameters[12].Value = model.UpdateName;
            parameters[13].Value = model.UpdateTime;
            parameters[14].Value = model.IsDel;
            parameters[15].Value = model.WebTypeID;
            parameters[16].Value = model.TypeName;
            parameters[17].Value = model.TypeURL;

            int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }