public async void GetForumPosts(ForumThreadEntity forumThreadEntity) { IsLoading = true; ThreadTitle = forumThreadEntity.Name; PostManager postManager = new PostManager(); await postManager.GetThreadPosts(forumThreadEntity); Html = await HtmlFormater.FormatThreadHtml(forumThreadEntity); ForumThreadEntity = forumThreadEntity; PageNumbers = Enumerable.Range(1, forumThreadEntity.TotalPages).ToArray(); IsLoading = false; }
public async override void Execute(object parameter) { try { var collection = (WebViewCollection)parameter; var postId = ParsePostId(collection.PostId); var postManager = new PostManager(); var post = await postManager.GetPost(postId); collection.WebView.InvokeScriptAsync("AddPostToThread", new[] { postId.ToString(), post.PostHtml }); } catch (Exception ex) { throw new Exception("Failed to get post", ex); } }
public void SetUp() { sut = new PostManager(); }
public ActionResult ManageCurrentPosts() { var model = new PostManager().GetAllPosts(); return(View(model)); }
public async Task <IHttpActionResult> GetReceipt(int postId, int state, string key, int pageSize, int page, string order, bool isAsc) { PostUser postUser = await db.PostUsers.FindAsync(postId); if (postUser == null) { return(NotFound()); } PostManager pm = new PostManager(); var postids = pm.GetPostUserIdsByPostCampus(postUser.PostId).Select(p => p.Id); PageResult <ReceiptVM> result = new PageResult <ReceiptVM>(); List <ReceiptVM> data = new List <ReceiptVM>(); var receipt = db.Receipts.Include(o => o.Compensations).Include(o => o.Orders).Where(o => postids.Contains(o.PostUser.PostId)) .Where(o => state < 0 ? true : (int)o.State == state) .Where(o => o.Compensations.Where(or => or.State == true).Count() > 0 || o.Orders.Where(or => or.State != OrderState.已删除).Count() > 0) .Where(o => (key == "" || key == null) ? true : o.PostUser.User.Name.IndexOf(key) > -1 ); var rec = isAsc ? LinqOrder.DataSort(receipt, order, "asc") : LinqOrder.DataSort(receipt, order, "desc"); var count = rec.Select(o => o.Id).Count(); if (count == 0) { result.Count = 0; result.Data = null; result.CurrentPage = 1; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); } result.Count = count; var list = await rec.Skip((page - 1) *pageSize).Take(pageSize).Select(o => new ReceiptVM() { Id = o.Id, PostUserId = o.PostUserId, ConfirmerID = o.ConfirmerID, CreateTime = o.CreateTime, ConfirmTime = o.ConfirmTime, State = o.State, Value = 0, PosterName = o.PostUser.User.Name, CheckUserId = postId }).ToListAsync(); foreach (var r in list) { var ords = db.Orders.Where(o => o.ReceiptID == r.Id).Where(o => o.State != OrderState.已删除); //if (ords == null)//如果订单为空 说明是空单据 删除 //{ // list.Remove(r); // continue; //} if (ords.Count() > 0) { r.Value = r.Value + ords.Sum(o => o.OrderDetails.Sum(d => d.ActualPay)); } var coms = db.Compensations.Where(o => o.ReceiptID == r.Id); if (coms.Count() > 0) { r.Value = r.Value + coms.Sum(o => o.Value); } } result.Data = list; result.CurrentPage = page; result.Order = order; result.IsAsc = isAsc; result.PageSize = pageSize; return(Ok(result)); }
public int FindUserVoteForPost(int postID, string userName) { PostManager Manager = new PostManager(); return(Manager.GetUserVoteForPost(postID, userName)); }
public int GetThreadCount(int mainPostReferenceID) { PostManager Manager = new PostManager(); return(Manager.GetThreadCount(mainPostReferenceID)); }
// Gets all the images associated with one post from the database public List <ImagePic> FindImagesByPostID(int postID) { PostManager Manager = new PostManager(); return(Manager.GetImagesByPostID(postID)); }
/// <summary> /// 调用文章列表 /// </summary> /// <remarks> /// 参数说明: /// categoryid=7&userid=2&pagesize=10&page=2 /// categoryid=8&userid=2&count=10&order=desc&keyword= /// </remarks> /// <param name="condition"></param> /// <returns></returns> public List <PostInfo> GetPosts(string condition) { return(PostManager.GetPostList()); }
public void DoWork() { //取期号 System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0)); long tt = (DateTime.Now.Ticks - startTime.Ticks) / 10000; //var url = string.Format("http://i.sporttery.cn/rank_calculator/get_list?tid[]=52562&&pcode[]=chp&pcode[]=fnl&i_callback=getDataCallBack&_={0}", tt); var url = string.Format("http://i.sporttery.cn/rank_calculator/get_list?tid[]=104895&pcode[]=chp&i_callback=cphData&_={0}", tt); var encoding = Encoding.GetEncoding("gb2312"); var content = PostManager.Get(url, encoding, 0); var content_gyj = PostManager.Get(string.Format("http://i.sporttery.cn/rank_calculator/get_list?tid[]=104895&&pcode[]=fnl&i_callback=getList&_={0}", tt), encoding); content = content.Replace("cphData({\"data\":", "").Replace(");", "").Replace("}]}", "}]").Trim(); content_gyj = content_gyj.Replace("getList({\"data\":", "").Replace(");", "").Replace("}]}", "}]").Trim(); var Sjb_GJList = KaSon.FrameWork.Common.JSON.JsonHelper.Deserialize <List <CupInfo> >(content); var Sjb_GYJList = KaSon.FrameWork.Common.JSON.JsonHelper.Deserialize <List <CupInfo> >(content_gyj); var sjb_GJMatchList = new List <CupGJMatchInfo>(); var sjb_GYJMatchList = new List <CupGYJMatchInfo>(); if (Sjb_GJList.Count <= 0) { return; } sjb_GJMatchList = Get_SJB_GJMatchList(Sjb_GJList[0]); sjb_GYJMatchList = Get_SJB_GYJMatchList(Sjb_GYJList[0]); var newSjb_GJ_List = GetNewSJBList <CupGJMatchInfo>(sjb_GJMatchList, "SJB_GJ.json"); var newSjb_GYJ_List = GetNewSJBList <CupGYJMatchInfo>(sjb_GYJMatchList, "SJB_GYJ.json"); #region 发送 世界杯冠军数据通知 this.WriteLog("1、开始=>发送世界杯冠军数据通知"); var addWorldCupGJMatchList = new List <CupGJMatchInfo>(); var updateWorldCupGJMatchList = new List <CupGJMatchInfo>(); foreach (var r in newSjb_GJ_List) { try { if (r.Key == DBChangeState.Add) { addWorldCupGJMatchList.Add(r.Value); } else { updateWorldCupGJMatchList.Add(r.Value); } } catch (Exception ex) { this.WriteLog(string.Format("向数据库写入 竞彩世界杯冠军 数据异常 编号:{0},异常:{1}", r.Value.MatchId, ex.ToString())); } } if (addWorldCupGJMatchList.Count > 0) { var category = (int)NoticeCategory.JCSJB_GJ; var state = (int)DBChangeState.Add; var param = string.Join("_", (from l in addWorldCupGJMatchList select l.MatchId).ToArray()); var sign = Encipherment.MD5(string.Format("IIIOO{0}{1}{2}", category, state, param)); var issuse_Request = string.Format("NoticeCategory={0}&ChangeState={1}&Param={2}&Sign={3}", category, state, param, sign); //发送 竞彩足球队伍 添加 通知 var innerKey = string.Format("{0}_{1}", "JCSJB_GJ", "Add"); ServiceHelper.AddAndSendNotification(param, "", innerKey, NoticeType.JCSJB_GJ); //ServiceHelper.SendNotice(issuse_Request, (log) => //{ // this.WriteLog(log); //}); } if (updateWorldCupGJMatchList.Count > 0) { var category = (int)NoticeCategory.JCSJB_GJ; var state = (int)DBChangeState.Update; var param = string.Join("_", (from l in updateWorldCupGJMatchList select l.MatchId).ToArray()); var sign = Encipherment.MD5(string.Format("IIIOO{0}{1}{2}", category, state, param)); var issuse_Request = string.Format("NoticeCategory={0}&ChangeState={1}&Param={2}&Sign={3}", category, state, param, sign); //发送 竞彩足球队伍 修改 通知 var innerKey = string.Format("{0}_{1}", "JCSJB_GJ", "Update"); ServiceHelper.AddAndSendNotification(param, "", innerKey, NoticeType.JCSJB_GJ); //ServiceHelper.SendNotice(issuse_Request, (log) => //{ // this.WriteLog(log); //}); } this.WriteLog("1、发送世界杯冠军数据通知 完成"); #endregion #region 发送 世界杯冠军数据通知 this.WriteLog("1、开始=>发送世界杯冠军数据通知"); var addWorldCupGYJMatchList = new List <CupGYJMatchInfo>(); var updateWorldCupGYJMatchList = new List <CupGYJMatchInfo>(); foreach (var r in newSjb_GYJ_List) { try { if (r.Key == DBChangeState.Add) { addWorldCupGYJMatchList.Add(r.Value); } else { updateWorldCupGYJMatchList.Add(r.Value); } } catch (Exception ex) { this.WriteLog(string.Format("向数据库写入 竞彩世界杯冠军 数据异常 编号:{0},异常:{1}", r.Value.MatchId, ex.ToString())); } } if (addWorldCupGYJMatchList.Count > 0) { var category = (int)NoticeCategory.JCSJB_GYJ; var state = (int)DBChangeState.Add; var param = string.Join("_", (from l in addWorldCupGYJMatchList select l.MatchId).ToArray()); var sign = Encipherment.MD5(string.Format("IIIOO{0}{1}{2}", category, state, param)); var issuse_Request = string.Format("NoticeCategory={0}&ChangeState={1}&Param={2}&Sign={3}", category, state, param, sign); //发送 竞彩足球队伍 添加 通知 var innerKey = string.Format("{0}_{1}", "JCSJB_GYJ", "Add"); ServiceHelper.AddAndSendNotification(param, "", innerKey, NoticeType.JCSJB_GYJ); //ServiceHelper.SendNotice(issuse_Request, (log) => //{ // this.WriteLog(log); //}); } if (updateWorldCupGYJMatchList.Count > 0) { var category = (int)NoticeCategory.JCSJB_GYJ; var state = (int)DBChangeState.Update; var param = string.Join("_", (from l in updateWorldCupGYJMatchList select l.MatchId).ToArray()); var sign = Encipherment.MD5(string.Format("IIIOO{0}{1}{2}", category, state, param)); var issuse_Request = string.Format("NoticeCategory={0}&ChangeState={1}&Param={2}&Sign={3}", category, state, param, sign); //发送 竞彩足球队伍 修改 通知 var innerKey = string.Format("{0}_{1}", "JCSJB_GYJ", "Update"); ServiceHelper.AddAndSendNotification(param, "", innerKey, NoticeType.JCSJB_GYJ); //ServiceHelper.SendNotice(issuse_Request, (log) => //{ // this.WriteLog(log); //}); } this.WriteLog("1、发送世界杯冠军数据通知 完成"); #endregion }
public BlogController(PostManager postManager) { this.postManager = postManager; }
/// <summary> /// 充值查询 /// 查询某笔(单次最多20笔)充值交易的明细情况 /// transType=110 /// </summary> /// <param name="accountNo">代理商账号</param> /// <param name="transType">交易类型编号,如:110</param> /// <param name="filles">要查询的充值集合</param> /// <returns></returns> public string FillQuery(AccountNumber accountNo, TransactionType transType, List <Fill> filles) { if (transType.TypeCode.Trim() != "110") { throw new Exception("交易类型和充值查询的交易类型不匹配。"); } if (filles.Count >= 1 && filles.Count <= 20) { try { DateTime now = DateTime.Now; string body = "<body><fillQuery>"; foreach (Fill fill in filles) { body = body + "<fill id=\"" + fill.Id + "\" />"; } body = body + "</fillQuery></body>"; string messageId = accountNo.UserName + now.ToString("yyyyMMdd") + PostManager.EightSerialNumber; string timestamp = now.ToString("yyyyMMdd") + now.ToString("HHmmss"); string requestMessage = "transType=" + transType.TypeCode + "&transMessage=" + (((((((("<?xml version=\"1.0\" encoding=\"GBK\"?>" + "<message version=\"1.0\" id=\"" + messageId + "\">") + "<header>") + "<messengerID>" + accountNo.UserName + "</messengerID>") + "<timestamp>" + timestamp + "</timestamp>") + "<transactionType>" + transType.TypeCode + "</transactionType>") + "<digest>" + PostManager.MD5(messageId + timestamp + accountNo.UserPassword + body, "gb2312") + "</digest>") + "</header>") + body + "</message>"); Console.WriteLine("充值查询传递的消息:\n" + requestMessage); string responseMessage = PostManager.Post(GatewayUrl, requestMessage, 120); return(responseMessage); } catch (Exception ex) { throw ex; } } else { throw new Exception("充值查询的个数超过了单次能查询的数目(必须为1~20)。"); } }
/// <summary> /// 电话投注卡充值 /// transType="117" /// </summary> /// <param name="accountNo">代理商账号</param> /// <param name="transType">交易类型</param> /// <param name="userProfile">要充值的用户账户</param> /// <param name="cardFill">充值数据对象</param> /// <returns></returns> public string AnteCardFill(AccountNumber accountNo, TransactionType transType, UserProfile userProfile, Fill cardFill) { if (transType.TypeCode.Trim() != "117") { throw new Exception("交易类型和电话投注卡充值的交易类型不匹配。"); } if (userProfile != null && cardFill != null && userProfile.UserName == cardFill.UserName) { try { DateTime now = DateTime.Now; string body = "<body><anteCardFill>"; body = body + "<fill agentID=\"" + accountNo.UserName + "\" "; string id = accountNo.UserName + now.ToString("yyyyMMdd") + PostManager.EightSerialNumber; body = "id=\"" + id + "\" "; body = "userName=\"" + userProfile.UserName + "\" "; body = "realName=\"" + userProfile.RealName + "\" "; body = "idCard=\"" + userProfile.CardNumber + "\" "; body = "cardType=\"" + (int)userProfile.CardTypeInfo + "\" "; body = "money=\"" + cardFill.CardFillMoney + "\" "; body = "cardNo=\"" + cardFill.CardNo + "\" "; body = "password=\"" + PostManager.MD5(cardFill.Password, "gb2312") + "\" />"; body = body + "</anteCardFill></body>"; string messageId = accountNo.UserName + now.ToString("yyyyMMdd") + PostManager.EightSerialNumber; string timestamp = now.ToString("yyyyMMdd") + now.ToString("HHmmss"); string requestMessage = "transType=" + transType.TypeCode + "&transMessage=" + (((((((("<?xml version=\"1.0\" encoding=\"GBK\"?>" + "<message version=\"1.0\" id=\"" + messageId + "\">") + "<header>") + "<messengerID>" + accountNo.UserName + "</messengerID>") + "<timestamp>" + timestamp + "</timestamp>") + "<transactionType>" + transType.TypeCode + "</transactionType>") + "<digest>" + PostManager.MD5(messageId + timestamp + accountNo.UserPassword + body, "gb2312") + "</digest>") + "</header>") + body + "</message>"); string responseMessage = PostManager.Post(GatewayUrl, requestMessage, 120); return(responseMessage); } catch (Exception ex) { throw ex; } } else { throw new Exception("电话投注卡充值对象或者用户账号信息不能为空。"); } }
public void addPostCheckThenDelete() { var repo = BlogFactory.CreatBlogPostRepository(); var manager = new PostManager(); BlogPost testPost = new BlogPost(); var filename = "test.png"; var imgs = new List <Img>(); var tags = new List <Tag>(); testPost.Headline = "Testing"; testPost.Subtitle = "Test Sub"; testPost.Body = "Testing again"; testPost.AuthorName = "Test"; testPost.Approved = Approved.Yes; testPost.Category = Category.Anime; testPost.DateCreated = DateTime.Today; testPost.TagPlaceHolder = "Test1,Test2"; var img = new Img() { Description = "Test description", Title = "Test title", Source = filename }; imgs.Add(img); testPost.Imgs = imgs; Tag tag1 = new Tag() { Name = "Test1" }; tags.Add(tag1); Tag tag2 = new Tag() { Name = "Test2" }; tags.Add(tag2); testPost.Tags = tags; repo.AddBlogPost(testPost); List <BlogPost> posts = repo.GetAllPosts(); BlogPost check = posts.Last(); Assert.AreEqual("Test Sub", check.Subtitle); Assert.AreEqual("Testing", check.Headline); Assert.AreEqual("Testing again", check.Body); Assert.AreEqual("Testing", check.Headline); //Assert.AreEqual("Test1", check.Tags[0].Name); //Assert.AreEqual("Test2", check.Tags[1].Name); //Assert.AreEqual("Test Title", check.Imgs[0].Title); //Assert.AreEqual("Test description", check.Imgs[0].Description); repo.RemoveBlogPost(testPost); Assert.IsNull(repo.GetPostByID(testPost.Id)); }
public ActionResult Edit(Guid?ID) { isEdit = true; EditOutgoingLettersViewModel editOutgoingLettersViewModel = new EditOutgoingLettersViewModel(); SendLetterManager sendLetterManager = new SendLetterManager(); PostManager postManager = new PostManager(); PersonManager personManager = new PersonManager(); CaseManager caseManager = new CaseManager(); EmployeeManager employeeManager = new EmployeeManager(); TemplateManager templateManager = new TemplateManager(); User currentUser = userManager.Read(new Guid(User.Identity.Name)); cUser = currentUser; if (ID != null && ID != Guid.Empty) { editOutgoingLettersViewModel.sendLetter = sendLetterManager.Read((Guid)ID); if (editOutgoingLettersViewModel.sendLetter == null) { return(RedirectToAction("Index")); } } else { return(RedirectToAction("Index")); } //Selected Person and Organization and Post Logic if (editOutgoingLettersViewModel.sendLetter.Recievers != null && editOutgoingLettersViewModel.sendLetter.Recievers.Count > 0 && editOutgoingLettersViewModel.sendLetter.Recievers.First() != null) { if (editOutgoingLettersViewModel.sendLetter.Recievers.First().Organization != null) { editOutgoingLettersViewModel.People = personManager.GetOrganizationPersons(editOutgoingLettersViewModel.sendLetter.Recievers.First().Organization, editOutgoingLettersViewModel.sendLetter.Recievers.First().Post?.Id ?? new Guid()); } else { editOutgoingLettersViewModel.People = userManager.GetUserShowablePeopleList(currentUser); } //Fix problem of not showable but selected Person if (editOutgoingLettersViewModel.sendLetter.Recievers.First().Person != null) { if (editOutgoingLettersViewModel.People.All(x => x.Id != editOutgoingLettersViewModel.sendLetter.Recievers.First().Person.Id)) { editOutgoingLettersViewModel.People.Add(editOutgoingLettersViewModel.sendLetter.Recievers.First().Person); } } } else { editOutgoingLettersViewModel.People = userManager.GetUserShowablePeopleList(currentUser); } editOutgoingLettersViewModel.OrganizationJson = getWhileLoopDataOrganization(); //Selected Employee and Department and Post Logic if (editOutgoingLettersViewModel.sendLetter.SenderEmployee != null) { if (editOutgoingLettersViewModel.sendLetter.SenderEmployee.Department != null) { editOutgoingLettersViewModel.Employees = employeeManager.GetDepartmentEmployees(editOutgoingLettersViewModel.sendLetter.SenderEmployee.Department, editOutgoingLettersViewModel.sendLetter.SenderEmployee.Post?.Id ?? new Guid()); } else { editOutgoingLettersViewModel.Employees = employeeManager.NoneDepartment(); } } else { editOutgoingLettersViewModel.Employees = employeeManager.NoneDepartment(); } editOutgoingLettersViewModel.DepartmentJson = getWhileLoopDataDepartment(); editOutgoingLettersViewModel.Cases = caseManager.Read(null); editOutgoingLettersViewModel.Posts = postManager.Read(null); editOutgoingLettersViewModel.Templates = templateManager.Read(null); editOutgoingLettersViewModel.LetterFiles = new List <FileViewModel>(); foreach (var itemFile in editOutgoingLettersViewModel.sendLetter.sendLetterFiles) { FileViewModel fileViewModel = new FileViewModel { Content = itemFile.File.Content.GetContentBase64(itemFile.File.ContentType), Id = itemFile.Id }; editOutgoingLettersViewModel.LetterFiles.Add(fileViewModel); } editOutgoingLettersViewModel.LetterAppendages = new List <FileViewModel>(); foreach (var itemFile in editOutgoingLettersViewModel.sendLetter.Appendages) { FileViewModel fileViewModel = new FileViewModel { Content = itemFile.File.Content.GetContentBase64(itemFile.File.ContentType), Id = itemFile.Id }; editOutgoingLettersViewModel.LetterAppendages.Add(fileViewModel); } //Process Letter Parent //Set Parent Letter try { switch (editOutgoingLettersViewModel.sendLetter.ParentType) { case ParentType.Send: var parent = sendLetterManager.GetParent(editOutgoingLettersViewModel.sendLetter.Id); editOutgoingLettersViewModel.sendLetter.ParentSendLetter = parent; break; case ParentType.Receive: var parent2 = sendLetterManager.GetParentOut(editOutgoingLettersViewModel.sendLetter.Id); editOutgoingLettersViewModel.sendLetter.ParentReceivedLetterOut = parent2; break; default: break; } } catch { } return(View(editOutgoingLettersViewModel)); }
public async Task GetForumPosts(ForumThreadEntity forumThreadEntity) { IsLoading = true; bool isSuccess; string errorMessage = string.Empty; ThreadTitle = forumThreadEntity.Name; PostManager postManager = new PostManager(); try { await postManager.GetThreadPosts(forumThreadEntity); isSuccess = true; } catch (Exception ex) { IsLoading = false; isSuccess = false; errorMessage = ex.Message; } if (!isSuccess) { await AwfulDebugger.SendMessageDialogAsync("Failed to get thread posts.", new Exception(errorMessage)); return; } #if WINDOWS_PHONE_APP forumThreadEntity.PlatformIdentifier = PlatformIdentifier.WindowsPhone; #else forumThreadEntity.PlatformIdentifier = PlatformIdentifier.Windows8; #endif try { GetDarkModeSetting(forumThreadEntity); Html = await HtmlFormater.FormatThreadHtml(forumThreadEntity); ForumThreadEntity = forumThreadEntity; PageNumbers = Enumerable.Range(1, forumThreadEntity.TotalPages).ToArray(); } catch (Exception ex) { AwfulDebugger.SendMessageDialogAsync("An error occured creating the thread HTML", ex); } }
private IPostManager CreateInstance() { IPostManager target = new PostManager(); return target; }
public NewsController() { _postM = new PostManager(); _catRepo = new CategoryManager(); }
// Pulls all main forums posts for a given page number from the database public List <Post> FindMainForumPostByPage(int pageNumber) { PostManager Manager = new PostManager(); return(Manager.GetMainPostByPage(pageNumber)); }
public PostsController(PostManager manager) { this._manager = manager; }
// Gets all thread posts for one main post ID from the database public List <Post> FindThreadPostByMainPostReference(int mainPostReferenceID) { PostManager Manager = new PostManager(); return(Manager.GetThreadByMainPostReference(mainPostReferenceID)); }
public ActionResult EmployeeEditPost(int id) { var model = new PostManager().GetPostByID(id); return(View(model)); }
// A user has made an initial or changed their vote for a post public bool ModifyVotingSystem(int postID, string userName, int countValue) { PostManager Manager = new PostManager(); return(Manager.UpdatePostVote(postID, userName, countValue)); }
/// <summary> /// 加载文章列表 /// </summary> protected void LoadPostList() { int categoryId = -1; int tagId = -1; int userId = -1; string keyword = string.Empty; string data = string.Empty; string begindate = string.Empty; string enddate = string.Empty; int pageindex = RequestHelper.QueryInt("page", 1); string messageinfo = string.Empty; string url = MakeUrl(string.Empty, string.Empty, string.Empty); if (pageType == "category") { string slug = RequestHelper.QueryString("slug"); CategoryInfo cate = CategoryManager.GetCategory(slug); if (cate != null) { categoryId = cate.CategoryId; th.Put(TagFields.META_KEYWORDS, cate.Name); th.Put(TagFields.META_DESCRIPTION, cate.Description); th.Put(TagFields.PAGE_TITLE, cate.Name); messageinfo = string.Format("<h2 class=\"post-message\">分类:{0}</h2>", cate.Name); url = MakeUrl("category", "slug", Server.UrlEncode(slug)); } } else if (pageType == "tag") { string slug = RequestHelper.QueryString("slug"); TagInfo tag = TagManager.GetTagBySlug(slug); if (tag != null) { tagId = tag.TagId; th.Put(TagFields.META_KEYWORDS, tag.Name); th.Put(TagFields.META_DESCRIPTION, tag.Description); th.Put(TagFields.PAGE_TITLE, tag.Name); messageinfo = string.Format("<h2 class=\"post-message\">标签:{0}</h2>", tag.Name); url = MakeUrl("tag", "slug", Server.UrlEncode(slug)); } } else if (pageType == "author") { string userName = RequestHelper.QueryString("username"); UserInfo user = UserManager.GetUser(userName); if (user != null) { userId = user.UserId; th.Put(TagFields.META_KEYWORDS, user.Name); th.Put(TagFields.META_DESCRIPTION, user.Description); th.Put(TagFields.PAGE_TITLE, user.Name); messageinfo = string.Format("<h2 class=\"post-message\">作者:{0}</h2>", user.Name); url = MakeUrl("author", "username", Server.UrlEncode(userName)); } } else if (pageType == "search") { keyword = StringHelper.CutString(StringHelper.SqlEncode(RequestHelper.QueryString("keyword")), 15); th.Put(TagFields.META_KEYWORDS, keyword); th.Put(TagFields.META_DESCRIPTION, keyword); th.Put(TagFields.PAGE_TITLE, keyword); th.Put(TagFields.SEARCH_KEYWORD, keyword); messageinfo = string.Format("<h2 class=\"post-message\">搜索:{0}</h2>", keyword); url = MakeUrl("search", "keyword", Server.UrlEncode(keyword)); } else if (pageType == "archive") //先按月归档 { string datestr = RequestHelper.QueryString("date"); string year = datestr.Substring(0, 4); string month = datestr.Substring(4, 2); DateTime date = Convert.ToDateTime(year + "-" + month); begindate = date.ToString(); enddate = date.AddMonths(1).ToString(); th.Put(TagFields.META_KEYWORDS, "归档"); th.Put(TagFields.META_DESCRIPTION, SettingManager.GetSetting().SiteName + date.ToString("yyyy-MM") + "的归档"); th.Put(TagFields.PAGE_TITLE, "归档:" + date.ToString("yyyy-MM")); messageinfo = string.Format("<h2 class=\"post-message\">归档:{0}</h2>", date.ToString("yyyy-MM")); url = MakeUrl("archive", "date", datestr); } else //首页 { if (pageindex == 1) { th.Put(TagFields.IS_DEFAULT, "1"); } } th.Put(TagFields.POST_MESSAGE, messageinfo); // th.Put(TagFields.PAGER_INDEX, pageindex); int recordCount = 0; th.Put(TagFields.POSTS, PostManager.GetPostList(SettingManager.GetSetting().PageSizePostCount, pageindex, out recordCount, categoryId, tagId, userId, -1, 1, -1, 0, begindate, enddate, keyword)); th.Put(TagFields.PAGER, Pager.CreateHtml(SettingManager.GetSetting().PageSizePostCount, recordCount, url)); Display("default.html"); }
public override Dictionary <string, string> GetWinNumber(string gameCode, int lastIssuseCount, string issuseNumber) { var dic = new Dictionary <string, string>(); #region Url var url = string.Empty; switch (gameCode) { case "JX11X5": url = url_jx11x5; break; case "GD11X5": url = url_gd11x5; break; case "SD11X5": url = url_sd11x5; break; case "CQSSC": url = url_cqssc; break; case "JXSSC": url = url_jxssc; break; case "SSQ": url = url_ssq; break; case "DLT": url = url_dlt; break; case "PL3": url = url_pl3; break; case "PL5": url = url_pl5; break; case "FC3D": url = url_fc3d; break; case "JSKS": url = url_jsk3; break; case "CQ11X5": url = url_cq11x5; break; case "DF6J1": url = url_df6j1; break; case "HD15X5": url = url_hd15x5; break; case "JLK3": url = url_jlk3; break; case "LN11X5": url = url_ln11x5; break; case "QLC": url = url_qlc; break; case "QXC": url = url_qxc; break; } #endregion if (string.IsNullOrEmpty(url)) { return(dic); } var json = PostManager.Get(url, Encoding.UTF8, 0).Trim(); var startIndex = -1; var endIndex = -1; switch (gameCode) { case "CQSSC": case "SD11X5": case "JSKS": case "LN11X5": case "JLK3": case "JX11X5": case "GD11X5": case "CQ11X5": case "JXSSC": startIndex = json.IndexOf("<tbody id=\"jq_body_kc_result\">"); endIndex = json.IndexOf("<div class=\"lotboxright\">"); json = json.Substring(startIndex, endIndex - startIndex); dic = GeGPWinNumber(gameCode, json, lastIssuseCount); break; case "PL3": case "PL5": case "SSQ": case "DF6J1": case "QLC": case "QXC": case "FC3D": case "HD15X5": startIndex = json.LastIndexOf("<p class=\"lot_kjqs\">"); endIndex = json.IndexOf("<span class=\"lot_text alink\">"); json = json.Substring(startIndex, endIndex - startIndex); dic = GeDPWinNumber(gameCode, json); break; case "DLT": startIndex = json.IndexOf("<tr onmouseout="); endIndex = json.IndexOf("</tbody>"); json = json.Substring(startIndex, endIndex - startIndex) .Replace("<tbody id=\"jq_body_kc_result\">", "").Replace("</tbody>", "").Replace("</table>", "") .Replace("</div>", ""); dic = GeGPWinNumber(gameCode, json, lastIssuseCount); break; default: break; } return(dic); }
/// <summary> /// 添加评论 /// </summary> protected void AddComment() { int contentMaxLength = 1000; //内容最长长度 int postid = RequestHelper.FormInt("postid", 0); string author = StringHelper.CutString(RequestHelper.FormString("commentauthor"), 20); string email = StringHelper.CutString(RequestHelper.FormString("commentemail"), 50); string siteurl = StringHelper.CutString(RequestHelper.FormString("commentsiteurl"), 100); string content = RequestHelper.FormString("commentcontent"); int remeber = RequestHelper.FormInt("commentremember", 0); int emailnotify = RequestHelper.FormInt("commentemailnotify", 0); string verifycode = RequestHelper.FormString("commentverifycode"); int expires = 525600; //一年 if (remeber == 0) { expires = -1; } if (!PageUtils.IsLogin) { PageUtils.SetCookie(TagFields.COMMENT_AUTHOR, Server.UrlEncode(author), expires); PageUtils.SetCookie(TagFields.COMMENT_EMAIL, Server.UrlEncode(email), expires); PageUtils.SetCookie(TagFields.COMMENT_SITEURL, Server.UrlEncode(siteurl), expires); } // PageUtils.SetCookie("commentcontent", Server.UrlEncode(StringHelper.CutString(content, contentMaxLength, "...")), expires); //保留 //第一次发表评论,并失败时用到 th.Put(TagFields.COMMENT_AUTHOR, author); th.Put(TagFields.COMMENT_EMAIL, email); th.Put(TagFields.COMMENT_SITEURL, siteurl); th.Put(TagFields.COMMENT_CONTENT, content); if (SettingManager.GetSetting().EnableVerifyCode == 1 && (verifycode != PageUtils.VerifyCode || string.IsNullOrEmpty(verifycode))) { th.Put(TagFields.COMMENT_MESSAGE, "<div>验证码输入错误!</div>"); return; } if (!StringHelper.IsEmail(email)) { th.Put(TagFields.COMMENT_MESSAGE, "<div>邮箱格式错误!</div>"); return; } if (content.Length > contentMaxLength || content.Length == 0) { th.Put(TagFields.COMMENT_MESSAGE, "<div>评论不能为空且限制在" + contentMaxLength + "字以内!</div>"); return; } // PageUtils.SetCookie("commentcontent", string.Empty, -1); //清空 th.Put(TagFields.COMMENT_CONTENT, string.Empty); //清空 PostInfo post = PostManager.GetPost(postid); if (post == null) { Response.Redirect(ConfigHelper.SitePath); } CommentInfo c = new CommentInfo(); c.Content = StringHelper.TextToHtml(StringHelper.CutString(content, contentMaxLength, "...")); c.CreateDate = DateTime.Now; c.Email = StringHelper.HtmlEncode(email); c.EmailNotify = emailnotify; c.IpAddress = RequestHelper.IPAddress; c.ParentId = 0; c.PostId = postid; c.UserId = PageUtils.CurrentUserId; c.Name = author; if (!string.IsNullOrEmpty(siteurl) && siteurl.IndexOf("http://") == -1) { siteurl = "http://" + siteurl; } c.SiteUrl = StringHelper.HtmlEncode(siteurl); switch (SettingManager.GetSetting().CommentApproved) { case 1: c.Approved = (int)ApprovedStatus.Success; break; case 2: string[] blackwords = SettingManager.GetSetting().CommentSpamwords.Split(','); bool hasBlackword = false; foreach (string word in blackwords) { if (c.Content.IndexOf(word) != -1) { hasBlackword = true; break; } } c.Approved = hasBlackword ? (int)ApprovedStatus.Wait : (int)ApprovedStatus.Success; break; case 3: default: c.Approved = (int)ApprovedStatus.Wait; break; } int newID = CommentManager.InsertComment(c); #region 发邮件 if (SettingManager.GetSetting().SendMailNotifyByComment == 1) //给订阅者发邮件 { //先不考虑审核的问题 List <CommentInfo> list = CommentManager.GetCommentList(int.MaxValue, 1, -1, postid, 0, -1, 1, string.Empty); List <string> emailList = new List <string>(); foreach (CommentInfo cmt in list) { if (!StringHelper.IsEmail(cmt.Email)) { continue; } //自己不用发 if (email == cmt.Email) { continue; } //不重复发送 if (emailList.Contains(cmt.Email)) { continue; } emailList.Add(cmt.Email); string subject = string.Empty; string body = string.Empty; subject = string.Format("[评论订阅通知]{0}", post.Title); body += string.Format("您订阅的{0}有新评论了:<br/>", post.Title); body += "<hr/>"; body += content; body += "<hr/>"; body += "<br />评论作者: " + author; if (!string.IsNullOrEmpty(siteurl)) { body += string.Format(" (<a href=\"{0}\">{0}</a>)", siteurl); } body += "<br />评论时间: " + DateTime.Now; body += string.Format("<br />原文连接: <a href=\"{0}\" title=\"{1}\" >{1}</a>", post.Url, post.Title); body += "<br />注:系统自动通知邮件,不要回复。"; EmailHelper.SendAsync(cmt.Email, subject, body); } } if (SettingManager.GetSetting().SendMailAuthorByComment == 1) //给文章作者发邮件 { string subject = string.Empty; string body = string.Empty; subject = string.Format("[新评论通知]{0}", post.Title); body += string.Format("您发表的{0}有新评论了:<br/>", post.Title); body += "<hr/>"; body += content; body += "<hr/>"; body += "<br />评论作者: " + author; if (!string.IsNullOrEmpty(siteurl)) { body += string.Format(" (<a href=\"{0}\">{0}</a>)", siteurl); } body += "<br />评论时间: " + DateTime.Now; body += string.Format("<br />原文连接: <a href=\"{0}\" title=\"{1}\" >{1}</a>", post.Url, post.Title); body += "<br />注:系统自动通知邮件,不要回复。"; UserInfo user = UserManager.GetUser(post.UserId); if (user != null && StringHelper.IsEmail(user.Email)) { EmailHelper.SendAsync(user.Email, subject, body); } } #endregion if (newID > 0) { if (post != null) { if (SettingManager.GetSetting().CommentOrder == 1) { Response.Redirect(post.Url + "#comment-" + newID); } else { int commentCount = CommentManager.GetCommentCount(postid, false); int pageCount = commentCount / SettingManager.GetSetting().PageSizeCommentCount; if (commentCount % SettingManager.GetSetting().PageSizeCommentCount > 0) { pageCount += 1; } string url = string.Format(post.PageUrl + "#comment-" + newID, pageCount); Response.Redirect(url); } } } }
private List <int> getSonIds(int id) { PostManager pm = new PostManager(); return(pm.GetSons(id).Select(p => p.Id).ToList()); }
/// <summary> /// 加载通用标签 /// </summary> protected void LoadDefault() { #region 全局 th.Put(TagFields.SITE_NAME, SettingManager.GetSetting().SiteName); th.Put(TagFields.SITE_DESCRIPTION, SettingManager.GetSetting().SiteDescription); th.Put(TagFields.META_KEYWORDS, SettingManager.GetSetting().MetaKeywords); th.Put(TagFields.META_DESCRIPTION, SettingManager.GetSetting().MetaDescription); th.Put(TagFields.FOOTER_HTML, SettingManager.GetSetting().FooterHtml); th.Put(TagFields.VERSION, SettingManager.GetSetting().Version); th.Put(TagFields.PAGE_TITLE, "首页"); th.Put(TagFields.SITE_PATH, ConfigHelper.SitePath); th.Put(TagFields.SITE_URL, ConfigHelper.SiteUrl); th.Put(TagFields.THEME_PATH, ConfigHelper.SitePath + "themes/" + themeName + "/"); th.Put(TagFields.THEME_URL, ConfigHelper.SiteUrl + "themes/" + themeName + "/"); th.Put(TagFields.IS_DEFAULT, "0"); th.Put(TagFields.IS_POST, "0"); //th.Put(TagFields.FEED_URL, ConfigHelper.SiteUrl + "feed/post" + SettingManager.GetSetting().RewriteExtension); //th.Put(TagFields.FEED_COMMENT_URL, ConfigHelper.SiteUrl + "feed/comment" + SettingManager.GetSetting().RewriteExtension); th.Put(TagFields.FEED_URL, ConfigHelper.SiteUrl + "feed/post.aspx"); th.Put(TagFields.FEED_COMMENT_URL, ConfigHelper.SiteUrl + "feed/comment.aspx"); th.Put(TagFields.PAGER, string.Empty); th.Put(TagFields.PAGER_INDEX, RequestHelper.QueryInt("page", 1)); th.Put(TagFields.URL, RequestHelper.CurrentUrl); th.Put(TagFields.DATE, DateTime.Now); th.Put(TagFields.ARCHIVES, ArchiveManager.GetArchive()); th.Put(TagFields.SEARCH_KEYWORD, string.Empty); th.Put(TagFields.QUERY_COUNT, 0); th.Put(TagFields.PROCESS_TIME, 0); th.Put(TagFields.ENABLE_VERIFYCODE, SettingManager.GetSetting().EnableVerifyCode); string headhtml = string.Empty; headhtml += string.Format("<meta name=\"generator\" content=\"Loachs {0}\" />\n", SettingManager.GetSetting().Version); headhtml += "<meta name=\"author\" content=\"Loachs Team\" />\n"; headhtml += string.Format("<meta name=\"copyright\" content=\"2008-{0} Loachs Team.\" />\n", DateTime.Now.Year); headhtml += string.Format("<link rel=\"alternate\" type=\"application/rss+xml\" title=\"{0}\" href=\"{1}\" />\n", SettingManager.GetSetting().SiteName, ConfigHelper.SiteUrl + "feed/post" + SettingManager.GetSetting().RewriteExtension); headhtml += string.Format("<link rel=\"EditURI\" type=\"application/rsd+xml\" title=\"RSD\" href=\"{0}xmlrpc/rsd.aspx\" />\n", ConfigHelper.SiteUrl); headhtml += string.Format("<link rel=\"wlwmanifest\" type=\"application/wlwmanifest+xml\" href=\"{0}xmlrpc/wlwmanifest.aspx\" />", ConfigHelper.SiteUrl); th.Put(TagFields.HEAD, headhtml); //if (Utils.IsSupportUrlRewriter == false) //{ // th.Put(TagFields.SEARCH_URL, ConfigHelper.SiteUrl + "default.aspx?type=search&keyword="); //} //else //{ // th.Put(TagFields.SEARCH_URL, ConfigHelper.SiteUrl + "search"); // } #endregion #region 文章 //th.Put(TagFields.POST, null); //th.Put(TagFields.POST_MESSAGE, null); //th.Put(TagFields.POSTS, null); th.Put(TagFields.RECENT_POSTS, PostManager.GetPostList(SettingManager.GetSetting().SidebarPostCount, -1, -1, -1, 1, -1, 0)); th.Put(TagFields.RECOMMEND_POSTS, PostManager.GetPostList(SettingManager.GetSetting().SidebarPostCount, -1, -1, 1, 1, -1, 0)); th.Put(TagFields.TOP_POSTS, PostManager.GetPostList(Int32.MaxValue, -1, -1, -1, 1, 1, 0)); //th.Put(TagFields.FEED_POSTS, null); #endregion #region 评论 //th.Put(TagFields.COMMENTS, null); th.Put(TagFields.RECENT_COMMENTS, CommentManager.GetCommentListByRecent(SettingManager.GetSetting().SidebarCommentCount)); if (PageUtils.IsLogin) { UserInfo user = UserManager.GetUser(PageUtils.CurrentUserId); if (user != null) { th.Put(TagFields.COMMENT_AUTHOR, user.Name); th.Put(TagFields.COMMENT_EMAIL, user.Email); th.Put(TagFields.COMMENT_SITEURL, user.SiteUrl); } } else { th.Put(TagFields.COMMENT_AUTHOR, Server.UrlDecode(PageUtils.GetCookie(TagFields.COMMENT_AUTHOR))); th.Put(TagFields.COMMENT_EMAIL, Server.UrlDecode(PageUtils.GetCookie(TagFields.COMMENT_EMAIL))); th.Put(TagFields.COMMENT_SITEURL, Server.UrlDecode(PageUtils.GetCookie(TagFields.COMMENT_SITEURL))); } th.Put(TagFields.COMMENT_CONTENT, string.Empty); th.Put(TagFields.COMMENT_MESSAGE, string.Empty); #endregion #region 作者,分类,标签 th.Put(TagFields.AUTHORS, UserManager.GetUserList().FindAll(delegate(UserInfo user) { return(user.Status == 1); })); th.Put(TagFields.CATEGORIES, CategoryManager.GetCategoryList()); th.Put(TagFields.RECENT_TAGS, TagManager.GetTagList(SettingManager.GetSetting().SidebarTagCount)); #endregion #region 连接 List <LinkInfo> a = LinkManager.GetLinkList(-1, 1); th.Put(TagFields.LINKS, LinkManager.GetLinkList(-1, 1)); th.Put(TagFields.NAV_LINKS, LinkManager.GetLinkList((int)LinkPosition.Navigation, 1)); th.Put(TagFields.GENERAL_LINKS, LinkManager.GetLinkList((int)LinkPosition.General, 1)); #endregion #region 统计 th.Put(TagFields.POST_COUNT, StatisticsManager.GetStatistics().PostCount); th.Put(TagFields.COMMENT_COUNT, StatisticsManager.GetStatistics().CommentCount); th.Put(TagFields.VIEW_COUNT, StatisticsManager.GetStatistics().VisitCount); th.Put(TagFields.AUTHOR_COUNT, UserManager.GetUserList().FindAll(delegate(UserInfo user) { return(user.Status == 1); }).Count); #endregion }
public ActionResult AdminDeletetPost(int id) { var model = new PostManager().GetPostByID(id); return(View(model)); }
/// <summary> /// 加载文章 /// </summary> protected void LoadPost() { th.Put(TagFields.IS_POST, "1"); if (RequestHelper.IsPost && !RequestHelper.IsCrossSitePost) { AddComment(); } PostInfo post = null; int postId = -1; string name = RequestHelper.QueryString("name"); if (StringHelper.IsInt(name)) { post = PostManager.GetPost(StringHelper.StrToInt(name, 0)); } else { post = PostManager.GetPost(StringHelper.SqlEncode(name)); } if (post == null) { ResponseError("文章未找到", "囧!没有找到此文章!", 404); } if (post.Status == (int)PostStatus.Draft) { ResponseError("文章未发布", "囧!此文章未发布!"); } string cookie = "isviewpost" + post.PostId; int isview = StringHelper.StrToInt(PageUtils.GetCookie(cookie), 0); //未访问或按刷新统计 if (isview == 0 || SettingManager.GetSetting().SiteTotalType == 1) { PostManager.UpdatePostViewCount(post.PostId, 1); } //未访问 if (isview == 0 && SettingManager.GetSetting().SiteTotalType == 2) { PageUtils.SetCookie(cookie, "1", 1440); } th.Put(TagFields.POST, post); th.Put(TagFields.PAGE_TITLE, post.Title); string metaKeywords = string.Empty; foreach (TagInfo tag in post.Tags) { metaKeywords += tag.Name + ","; } if (metaKeywords.Length > 0) { metaKeywords = metaKeywords.TrimEnd(','); } th.Put(TagFields.META_KEYWORDS, metaKeywords); string metaDescription = post.Summary; if (string.IsNullOrEmpty(post.Summary)) { metaDescription = post.Content; } th.Put(TagFields.META_DESCRIPTION, StringHelper.CutString(StringHelper.RemoveHtml(metaDescription), 50).Replace("\n", "")); int recordCount = 0; List <CommentInfo> commentList = CommentManager.GetCommentList(SettingManager.GetSetting().PageSizeCommentCount, Pager.PageIndex, out recordCount, SettingManager.GetSetting().CommentOrder, -1, post.PostId, 0, -1, -1, null); th.Put(TagFields.COMMENTS, commentList); th.Put(TagFields.PAGER, Pager.CreateHtml(SettingManager.GetSetting().PageSizeCommentCount, recordCount, post.PageUrl + "#comments")); //同时判断评论数是否一致 if (recordCount != post.CommentCount) { post.CommentCount = recordCount; PostManager.UpdatePost(post); } th.Put(TagFields.LOACHS, new LoachsDataManager()); if (System.IO.File.Exists(Server.MapPath(string.Format("{0}/themes/{1}/template/{2}", ConfigHelper.SitePath, themeName, post.Template)))) { Display(post.Template); } else { Display("post.html"); } }
public async Task GetForumPostsAsync() { if (ForumThreadEntity == null) { AwfulDebugger.SendMessageDialogAsync("Something went wrong...", new Exception("ForumThreadEntity is null.")); return; } ThreadNotSelected = false; IsLoading = true; bool isSuccess; string errorMessage = string.Empty; var postManager = new PostManager(); var postList = new List<ForumPostEntity>(); try { postList = await postManager.GetThreadPostsAsync(ForumThreadEntity); isSuccess = true; } catch (Exception ex) { IsLoading = false; isSuccess = false; errorMessage = ex.Message; } if (!isSuccess) { await AwfulDebugger.SendMessageDialogAsync("Failed to get thread posts.", new Exception(errorMessage)); return; } var count = postList.Count(node => !node.HasSeen); if (ForumThreadEntity.RepliesSinceLastOpened > 0) { if (ForumThreadEntity.RepliesSinceLastOpened - count < 0) { ForumThreadEntity.RepliesSinceLastOpened = 0; } else { ForumThreadEntity.RepliesSinceLastOpened -= count; } } #if WINDOWS_PHONE_APP ForumThreadEntity.PlatformIdentifier = PlatformIdentifier.WindowsPhone; #else ForumThreadEntity.PlatformIdentifier = PlatformIdentifier.Windows8; #endif try { GetDarkModeSetting(ForumThreadEntity); // Force Garbage Collection when navigating to webview. The web view has nasty memory leaks :/. Locator.ViewModels.MainPageVm.MainWebView.NavigateToString(string.Empty); GC.Collect(); Locator.ViewModels.MainPageVm.MainWebView.NavigateToString(await HtmlFormater.FormatThreadHtml(ForumThreadEntity, postList)); ForumThreadEntity = ForumThreadEntity; PageNumbers = Enumerable.Range(1, ForumThreadEntity.TotalPages).ToArray(); } catch (Exception ex) { AwfulDebugger.SendMessageDialogAsync("An error occured creating the thread HTML", ex); } IsLoading = false; }
public CommentsController(CommentManager categoryManager, UserManager userManager, PostManager postManager) { this._commentManager = categoryManager; this._userManager = userManager; this._postManager = postManager; }
private async void WebView_ScriptNotify(object sender, NotifyEventArgs e) { if (_vm.ForumThreadEntity == null) { return; } if (e == null) { return; } string stringJson = e.Value; ThreadCommand command = null; try { command = JsonConvert.DeserializeObject<ThreadCommand>(stringJson); } catch (Exception ex) { AwfulDebugger.SendMessageDialogAsync("A thread javascript command failed", ex); } if (command == null) { return; } switch (command.Command) { case "quote": Frame.Navigate(typeof(ReplyPage), command.Id); break; case "edit": Frame.Navigate(typeof(EditPage), command.Id); break; case "setFont": SetFontSize(); break; case "scrollToPost": if (!string.IsNullOrEmpty(_vm.ForumThreadEntity.ScrollToPostString)) try { await ThreadWebView.InvokeScriptAsync("ScrollToDiv", new[] { _vm.ForumThreadEntity.ScrollToPostString }); } catch (Exception ex) { AwfulDebugger.SendMessageDialogAsync("A thread javascript command failed", ex); } break; case "markAsLastRead": await _threadManager.MarkPostAsLastRead(_forumThread, Convert.ToInt32(command.Id)); int nextPost = Convert.ToInt32(command.Id) + 1; try { await ThreadWebView.InvokeScriptAsync("ScrollToDiv", new[] { string.Concat("#postId", nextPost.ToString()) }); } catch (Exception ex) { AwfulDebugger.SendMessageDialogAsync("A thread javascript command failed", ex); return; } var message = new MessageDialog("Post marked as last read! Now go on and live your life!") { DefaultCommandIndex = 1 }; await message.ShowAsync(); break; case "openThread": var query = Extensions.ParseQueryString(command.Id); if (query.ContainsKey("action") && query["action"].Equals("showPost")) { var postManager = new PostManager(); try { var html = await postManager.GetPost(Convert.ToInt32(query["postid"])); } catch (Exception ex) { AwfulDebugger.SendMessageDialogAsync("A thread javascript command failed", ex); return; } return; } var threadManager = new ThreadManager(); var threadEntity = new ForumThreadEntity(); var thread = await threadManager.GetThread(threadEntity, command.Id); if (thread == null) { var error = new MessageDialog("Specified post was not found in the live forums.") { DefaultCommandIndex = 1 }; await error.ShowAsync(); break; } string jsonObjectString = JsonConvert.SerializeObject(threadEntity); Frame.Navigate(typeof(ThreadPage), jsonObjectString); break; default: var msgDlg = new MessageDialog("Not working yet!") { DefaultCommandIndex = 1 }; await msgDlg.ShowAsync(); break; } }
public PostController() { buildingManager = new PropertyManager(); postManager = new PostManager(); }
// Pulls all the main forum posts from the database public List <Post> FindMainForumPost() { PostManager Manager = new PostManager(); return(Manager.GetMainPost()); }
public PostController(PostManager repo) { _repo = repo; }