public ActionResult ShowAddFolderOrBookmarkView(long folderID) { long uid = UILoginHelper.GetUIDFromHttpContext(HttpContext); if (folderID == 0) { var lst = BizUserWebFolder.LoadAllByUID(uid); if (lst != null && lst.Count > 0) { var firstFolder = lst.Where(folder => folder.ParentWebfolderID == 0); if (firstFolder == null || firstFolder.Count() == 0) { return(View()); } if (firstFolder.Count() == 1) { folderID = firstFolder.FirstOrDefault().UserWebFolderID; } else { BizUserWebFolder newFolderInfo = new BizUserWebFolder(); newFolderInfo.UserInfoID = uid; newFolderInfo.UserWebFolderID = 0; newFolderInfo.ParentWebfolderID = 0; newFolderInfo.ChildrenFolderList = firstFolder.ToList(); newFolderInfo.BizBookmarkInfoList = new List <BizBookmarkInfo>(); return(View("ShowAddFolderOrBookmarkView", new UIWebFolderInfo(newFolderInfo))); } } } var folderInfo = BizUserWebFolder.LoadContainsChirdrenAndBookmark(folderID); var model = new UIWebFolderInfo(folderInfo); return(View("ShowAddFolderOrBookmarkView", model)); }
private static long GetUserDefaultFolderID(long loginUID) { long folderID = 0; var folderConfiguration = BizUserConfiguration.LoadByKey(loginUID, "UserDefaultFolder"); if (folderConfiguration == null) { var userFolderList = BizUserWebFolder.LoadAllByUID(loginUID); if (userFolderList != null && userFolderList.Count > 0) { var firstFolder = userFolderList.Where(folder => folder.ParentWebfolderID == 0); if (firstFolder != null && firstFolder.Count() > 0) { NewFolderAndConfigurationHasParentFolderID(loginUID, ref folderID, ref folderConfiguration, firstFolder); } else { NewFolderAndConfigurationNoParentFolderID(loginUID, ref folderID, ref folderConfiguration); } } else { NewFolderAndConfigurationNoParentFolderID(loginUID, ref folderID, ref folderConfiguration); } } else { folderID = Convert.ToInt64(folderConfiguration.UserConfigurationValue); } return(folderID); }
public ActionResult ShowUserFolder(long showUserInfoID, long folderID = 0) { UIWebFolderInfo model = null; if (showUserInfoID != default(long)) { if (folderID == 0) { var lst = BizUserWebFolder.LoadAllByUID(showUserInfoID); if (lst != null) { var firstFolder = lst.Where(folder => folder.ParentWebfolderID == 0); if (firstFolder == null || firstFolder.Count() == 0) { return(View("ShowUserFolder", model)); } folderID = firstFolder.FirstOrDefault().UserWebFolderID; } } var folderInfo = BizUserWebFolder.LoadContainsChirdrenAndBookmark(folderID); model = new UIWebFolderInfo(folderInfo); } return(View("ShowUserFolder", model)); }
public ActionResult Add(string url, long uid, long folderID) { BizResultInfo result = new BizResultInfo(); var userInfo = BizUserInfo.LoadByUserInfoID(uid); if (string.IsNullOrEmpty(url) || userInfo == null) { LogHelper.WriteInfo("AddBookmark失败", "AddBookmark失败", new { UserInfoID = uid, URL = url, FolderID = folderID }); return(Json(result)); } //不存在书签夹,创建一个默认的书签夹 var folderInfo = BizUserWebFolder.LoadByID(folderID); if (folderInfo.UserWebFolderID == 0) { folderInfo.UserInfoID = uid; folderInfo.WebFolderName = userInfo.UserName + "的默认书签夹"; folderInfo.IntroContent = ""; folderInfo.IElementJSON = ""; folderInfo.Grade = 0; folderInfo.CreateTime = DateTime.Now; folderInfo.IElementHashcode = folderInfo.GetHashCode(); folderInfo.Save(); folderID = folderInfo.UserWebFolderID; } BizBookmarkInfo bookmark = new BizBookmarkInfo(); bookmark.Href = url; var res = HTTPHelper.GetHTML(url); if (!string.IsNullOrEmpty(res.Item1)) { bookmark.HTML = res.Item1; HtmlDocument htmlDoc = new HtmlDocument(); htmlDoc.LoadHtml(res.Item1); var title = htmlDoc.DocumentNode.SelectSingleNode("//title").InnerText; bookmark.BookmarkName = !string.IsNullOrEmpty(title) ? title:url; } else { bookmark.BookmarkName = url; } if (string.IsNullOrEmpty(res.Item2) || res.Item2.ToUpper() == "ALLOW-FROM") { bookmark.IsShowWithiframe = 1; } bookmark.UserWebFolderID = folderID; bookmark.CreateTime = DateTime.Now; bookmark.Host = url.GetHost(); bookmark.UserInfoID = uid; bookmark.HashCode = bookmark.GetHashCode(); bookmark.Save(); return(Json(result)); }
public ActionResult ShowUserAllFolder(long folderID) { long uid = UILoginHelper.GetUIDFromHttpContext(HttpContext); if (folderID == 0) { var lst = BizUserWebFolder.LoadAllByUID(uid); if (lst != null && lst.Count > 0) { var firstFolder = lst.Where(folder => folder.ParentWebfolderID == 0); if (firstFolder == null || firstFolder.Count() == 0) { return(View()); } folderID = firstFolder.FirstOrDefault().UserWebFolderID; } } var folderInfo = BizUserWebFolder.LoadContainsChirdrenAndBookmark(folderID); var model = new UIWebFolderInfo(folderInfo); return(View("ShowUserAllFolder", model)); }
public static BizResultInfo BatchAddUserWebfolder(List <BizUserWebFolder> lstBizWebfolder) { BizResultInfo result = new BizResultInfo(); if (lstBizWebfolder == null || lstBizWebfolder.Count == 0) { result.IsSuccess = false; result.ErrorMessage = "插入数据不能为空。"; } var lstModel = lstBizWebfolder.Select(biz => biz.ToModel()).ToList(); var isSuccess = webFolderDAL.BatchAdd(lstModel); if (isSuccess) { result.IsSuccess = isSuccess; result.SuccessMessage = "插入成功。"; Dictionary <int, int> dicHash = new Dictionary <int, int>(); foreach (var w in lstBizWebfolder) { if (!dicHash.ContainsKey(w.IElementHashcode)) { dicHash.Add(w.IElementHashcode, w.IElementHashcode); } } var uid = lstBizWebfolder.FirstOrDefault().UserInfoID; var lstDataInfo = BizUserWebFolder.LoadAllByUID(uid); var dicDataInfo = lstDataInfo.Where(datainfo => dicHash.ContainsKey(datainfo.IElementHashcode)).ToDictionary(model => model.IElementHashcode, model => model); result.Target = dicDataInfo; } else { result.IsSuccess = false; result.ErrorMessage = "插入数据失败,可能是外星人劫持了数据库了,也可能是海底电缆被可爱的鲨鱼咬断了....反正重试一下就是。"; } return(result); }
private static void NewFolderAndConfigurationNoParentFolderID(long loginUID, ref long folderID, ref BizUserConfiguration folderConfiguration) { BizUserWebFolder newFolder = new BizUserWebFolder(); newFolder.UserInfoID = loginUID; newFolder.WebFolderName = "默认书签夹"; newFolder.ParentWebfolderID = 0; newFolder.CreateTime = DateTime.Now; newFolder.IElementJSON = ""; newFolder.IntroContent = "默认书签夹"; newFolder.Grade = 0; newFolder.Save(); folderID = newFolder.UserWebFolderID; folderConfiguration = new BizUserConfiguration(); folderConfiguration.UserConfigurationKey = "UserDefaultFolder"; folderConfiguration.UserConfigurationNo = 1; folderConfiguration.UserConfigurationValue = newFolder.UserWebFolderID.ToString(); folderConfiguration.UserInfoID = loginUID; folderConfiguration.Description = "用户默认书签夹配置信息"; folderConfiguration.Save(); }
/// <summary> /// 加载书签夹数据 /// </summary> /// <param name="uid"></param> /// <returns></returns> public static BizResultInfo LoadWebfolderByUID(long uid) { var result = new BizResultInfo(); try { var lstWebFolder = BizUserWebFolder.LoadAllByUID(uid); var lstBookmark = BookmarkInfoBo.LoadByUID(uid); Dictionary <long, List <BizBookmarkInfo> > dicWebfolderIDToBookmarkList = new Dictionary <long, List <BizBookmarkInfo> >(); Dictionary <long, List <BizUserWebFolder> > dicParentWebfolderIDToWebfolder = new Dictionary <long, List <BizUserWebFolder> >(); FillDictionary(lstWebFolder, lstBookmark, dicWebfolderIDToBookmarkList, dicParentWebfolderIDToWebfolder); foreach (var webfolder in lstWebFolder) { if (dicWebfolderIDToBookmarkList.ContainsKey(webfolder.UserWebFolderID)) { webfolder.BizBookmarkInfoList = dicWebfolderIDToBookmarkList[webfolder.UserWebFolderID]; } if (dicParentWebfolderIDToWebfolder.ContainsKey(webfolder.UserWebFolderID)) { webfolder.ChildrenFolderList = dicParentWebfolderIDToWebfolder[webfolder.UserWebFolderID]; } } result.IsSuccess = true; result.Target = lstWebFolder; }catch (Exception ex) { result.IsSuccess = false; result.ErrorMessage = "加载数据失败了,可能是网络挂了,可能这就是命吧。"; result.Target = null; LogHelper.WriteException("LoadWebfolderByUID Exception", ex, new { UID = uid }); } return(result); }
public UIWebFolderInfo(BizUserWebFolder folderInfo) { if (folderInfo == null) { return; } UserWebFolderID = folderInfo.UserWebFolderID; UserInfoID = folderInfo.UserInfoID; ParentWebfolderID = folderInfo.ParentWebfolderID; CreateTime = folderInfo.CreateTime; Grade = folderInfo.Grade; WebFolderName = folderInfo.WebFolderName; UIBookmarkInfoList = folderInfo.BizBookmarkInfoList != null? folderInfo.BizBookmarkInfoList.Select(info => new UIBookmarkInfo() { UserInfoID = info.UserInfoID, UserWebFolderID = info.UserWebFolderID, BookmarkInfoID = info.BookmarkInfoID, BookmarkName = info.BookmarkName, CreateTime = info.CreateTime, Href = info.Href, Host = info.Host, }).ToList() : null; ChildrenFolderList = folderInfo.ChildrenFolderList != null? folderInfo.ChildrenFolderList.Select(info => new UIWebFolderInfo() { WebFolderName = info.WebFolderName, ParentWebfolderID = info.ParentWebfolderID, UserWebFolderID = info.UserWebFolderID, CreateTime = info.CreateTime, UserInfoID = info.UserInfoID, Grade = info.Grade, }).ToList() : null; }
public ActionResult AddBookmark(string name, string href, long folderID, string type, long infoID) { BizResultInfo result = new BizResultInfo(); if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(type)) { result.ErrorMessage = "名称和类型必须填写呀。"; result.IsSuccess = false; return(Json(result)); } var loginUid = UILoginHelper.GetUIDFromHttpContext(HttpContext); try { if (type == "bookmark") { BizBookmarkInfo bookmark = new BizBookmarkInfo(); if (infoID != 0) { bookmark = BizBookmarkInfo.LoadByID(infoID); } bookmark.Href = href; bookmark.BookmarkName = name; bookmark.UserWebFolderID = folderID; bookmark.CreateTime = DateTime.Now; bookmark.Host = href.GetHost(); bookmark.UserInfoID = loginUid; bookmark.HashCode = bookmark.GetHashCode(); bookmark.Save(); } else { BizUserWebFolder folder = new BizUserWebFolder(); if (infoID != 0) { folder = BizUserWebFolder.LoadByID(infoID); } folder.UserInfoID = loginUid; folder.WebFolderName = name; folder.ParentWebfolderID = folderID; folder.IntroContent = ""; folder.IElementJSON = ""; folder.CreateTime = DateTime.Now; folder.IElementHashcode = folder.GetHashCode(); folder.Save(); } result.IsSuccess = true; result.SuccessMessage = "保存成功了耶,刷新一下页面就能看到了哦。"; }catch (Exception ex) { result.IsSuccess = false; result.SuccessMessage = "保存失败,可能是数据库不开心了吧,重新保存试试。"; LogHelper.WriteException("AddBookmark Exception", ex, new { Name = name, Href = href, FolderID = folderID }); } return(Json(result)); }