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>", "")); }
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()); }
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)); }
/// <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)); } }
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)); }
/// <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); } }
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; } }
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("抱歉,导入失败了,请重试!"); } }
/// <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); }
/// <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); } }