public ActionResult GetPageData(int bookid, int userid, string opnum) { if (string.IsNullOrEmpty(opnum)) { return(Content("{\"success\":false,\"msg\":\"获取内容失败,没有要查找的页码\"}")); } string[] pnums = opnum.Split('_'); IList <Inpinke_Book_Page> pages = DBBookBLL.GetBookPageByPNums(pnums, bookid); if (pages == null) { return(Content("{\"success\":false,\"msg\":\"获取内容失败,没找到对应的页面\"}")); } string jsonString = "["; foreach (Inpinke_Book_Page p in pages) { jsonString += JsonConvert.SerializeXNode(p.PageData, Newtonsoft.Json.Formatting.None) + ","; if (p.IsSkip) { break; } } jsonString = jsonString.TrimEnd(',') + "]"; return(Content(FormatJsonObjectString(jsonString))); }
/// <summary> /// 调整书本顺序 /// </summary> /// <param name="bookid"></param> /// <param name="userid"></param> /// <param name="numorder"></param> /// <returns></returns> public ActionResult SetPageNumOrder(int bookid, int userid, string numorder, string delpnum) { try { string[] delpnums = delpnum.Split(','); string[] nums = numorder.Split(','); // list = DBBookBLL.GetBookPageByPNums(delpnums, bookid); Inpinke_Book book = DBBookBLL.GetBookByID(bookid); if (delpnums != null && delpnums.Count() > 0) { book.PageCount = book.PageCount - delpnums.Length; DBBookBLL.UpdateBook(book); DBBookBLL.DeleteBookPage(delpnum, bookid); DBBookBLL.UpdateDonePage(bookid); } IList <Inpinke_Book_Page> list = DBBookBLL.GetBookPageByPNums(nums, bookid); if (list != null) { Hashtable ht = new Hashtable(); foreach (Inpinke_Book_Page p in list) { ht[p.PageNum] = p.ID; } int[] intNums = nums.Where(e => int.Parse(e) >= 0).Select(e => int.Parse(e)).ToArray(); for (int i = 0; i < intNums.Length; i++) { if (ht[intNums[i]] == null) { continue; } Inpinke_Book_Page model = list.Where(e => e.ID == (int)ht[intNums[i]]).FirstOrDefault(); if (model != null) { model.PageNum = i; model.PageData.SetAttributeValue("pnum", i); string opnum = "-1_0"; if (i == 0) { opnum = "-1_0"; } else if (i == 1) { opnum = "-2_1"; } else if (i == intNums.Length - 1) { opnum = i.ToString() + "_-3"; } else if (i % 2 == 0) { opnum = i + "_" + (i + 1); } else { opnum = (i - 1) + "_" + i; } model.PageData.SetAttributeValue("opnum", opnum); model.PageData = XElement.Parse(model.PageData.ToString()); model.SaveWhenSubmit(InpinkeDataContext.Instance); } } } InpinkeDataContext.Instance.Submit(); return(Content("{\"success\":true,\"msg\":\"更新书本信息成功\"}")); } catch (Exception ex) { Logger.Error(string.Format("SetPageNumOrder BookID:{0} Error:{1}", bookid, ex.ToString())); return(Content("{\"success\":false,\"msg\":\"更新书本信息失败,刷新页面再试试吧!\"}")); } }