示例#1
0
        public ActionResult GetBookList(int num, int page)
        {
            List <pagedata>      list     = new List <pagedata>();
            Random               rand     = new Random();
            IList <Inpinke_Book> bookList = DBBookBLL.GetUserBooks(UserSession.CurrentUser.ID);

            if (bookList != null)
            {
                foreach (Inpinke_Book b in bookList)
                {
                    pagedata p = new pagedata()
                    {
                        img   = b.BookCover,
                        title = b.BookName
                    };
                    list.Add(p);
                }
            }

            System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(list.GetType());
            using (MemoryStream ms = new MemoryStream())
            {
                serializer.WriteObject(ms, list);
                return(Content(Encoding.UTF8.GetString(ms.ToArray())));
            }
        }
示例#2
0
        public ActionResult CopyBook(int bookid)
        {
            Inpinke_Book model = DBBookBLL.GetBookByID(bookid);

            if (model.UserID != UserSession.CurrentUser.ID)
            {
                ViewBag.Msg = "对不起,您不能拷贝该印品。";
                return(View("error"));
            }
            if (model.DonePages * 100 / model.PageCount < 90)
            {
                ViewBag.Msg = "对不起,当前印品完成度太低,不建议拷贝。您可以直接编辑该印品。";
                return(View("error"));
            }
            BaseResponse br = DBBookBLL.CopyBook(bookid, UserSession.CurrentUser.ID);

            if (!br.IsSuccess)
            {
                ViewBag.Msg = br.Message;
                return(View("error"));
            }
            else
            {
                return(RedirectToAction("book", "my"));
            }
        }
示例#3
0
        //
        // GET: /Show/

        public ActionResult Index(int?id)
        {
            if (id.HasValue)
            {
                Inpinke_Book model = DBBookBLL.GetBookByID(id.Value);
                if (model.ShowStatus == (int)ShowStatus.Pravice)
                {
                    if (UserSession.CurrentUser != null && UserSession.CurrentUser.ID == model.UserID)
                    {
                        ViewBag.ShowBook     = model;
                        ViewBag.ShowBookPage = DBBookBLL.GetBookPage(id.Value);
                        return(View());
                    }
                    else
                    {
                        ViewBag.Msg = "对不起,当前印品不对外展出,您无法查看。";
                        return(View("error"));
                    }
                }
                else
                {
                    ViewBag.ShowBook     = model;
                    ViewBag.ShowBookPage = DBBookBLL.GetBookPage(id.Value);
                    return(View());
                }
            }
            else
            {
                ViewBag.Msg = "对不起,访问出错!";
                return(View("error"));
            }
        }
示例#4
0
        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)));
        }
示例#5
0
        public ActionResult Editor(int bookid)
        {
            Inpinke_Book model = DBBookBLL.GetBookByID(bookid);

            if (model != null)
            {
                if (model.BookStauts == (int)BookStatus.Making)
                {
                    ViewBag.Msg = "印品已下单印刷不能再做修改,您可以拷贝副本进行编辑/联系客服寻求帮助";
                    return(View("error"));
                }
                if (model.UserID != UserSession.CurrentUser.ID)
                {
                    ViewBag.Msg = "对不起,您不能编辑该印品,因为那件印品好像不属于您。";
                    return(View("error"));
                }
                ViewBag.EditBook = model;
            }
            else
            {
                ViewBag.Msg = "对不起,没有找到您要编辑的印品。";
                return(View("error"));
            }
            return(View());
        }
示例#6
0
        public ActionResult CreateIntime(int prodid)
        {
            Inpinke_Product intime = DBProductBLL.GetProductByID(prodid);
            Inpinke_Book    model  = new Inpinke_Book()
            {
                UserID     = UserSession.CurrentUser.ID,
                BookName   = "我的时光",
                Author     = UserSession.CurrentUser.NickName,
                BookDesc   = "那些过往的时光,穿行在我的字里行间。无声的行走。无休。",
                PageCount  = intime.BasePages,
                ProductID  = prodid,
                ShowStatus = (int)ShowStatus.Public,
                BookCover  = "/Content/pagestyle/images/intime_cover.png"
            };
            BaseResponse br = DBBookBLL.AddBook(model);

            if (br.IsSuccess)
            {
                return(RedirectToAction("editor", new { bookid = model.ID }));
            }
            else
            {
                ViewBag.Msg = "对不起,定制印品失败,您可以重新登录再尝试下。";
                return(View("error"));
            }
        }
示例#7
0
 /// <summary>
 /// 增加页面
 /// </summary>
 /// <param name="bookid"></param>
 /// <param name="userid"></param>
 /// <param name="pagecount"></param>
 /// <returns></returns>
 public ActionResult AddBookPage(int bookid, int userid, int pagecount)
 {
     try
     {
         Inpinke_Book book = DBBookBLL.GetBookByID(bookid);
         if (book == null)
         {
             return(Content("{\"success\":false,\"msg\":\"添加书本页面失败,刷新页面再试试吧!\"}"));
         }
         if (book.PageCount >= pagecount)
         {
             return(Content("{\"success\":false,\"msg\":\"添加书本页面失败,刷新页面再试试吧!\"}"));
         }
         Inpinke_Book_Page bookpage = DBBookBLL.GetBookPageByPNum(book.PageCount, bookid);
         if (bookpage != null)
         {
             bookpage.PageData.SetAttributeValue("opnum", book.PageCount + "_" + (book.PageCount + 1));
             bookpage.PageData = XElement.Parse(bookpage.PageData.ToString());
             bookpage.SaveWhenSubmit(InpinkeDataContext.Instance);
         }
         book.PageCount = pagecount;
         book.SaveWhenSubmit(InpinkeDataContext.Instance);
         InpinkeDataContext.Instance.Submit();
         return(Content("{\"success\":true,\"msg\":\"添加书本页面成功!\"}"));
     }
     catch (Exception ex)
     {
         Logger.Error(string.Format("AddBookPage Error:{0},BookID:{1},UserID:{2},PageCount:{3}", ex.ToString(), bookid, userid, pagecount));
         return(Content("{\"success\":false,\"msg\":\"添加书本页面失败,刷新页面再试试吧!\"}"));
     }
 }
示例#8
0
        //public ActionResult Error(string msg)
        //{
        //    if (string.IsNullOrEmpty(msg))
        //    {
        //        ViewBag.Msg = msg;
        //    }
        //    return View();
        //}

        public ActionResult Random()
        {
            Inpinke_Book model = DBBookBLL.GetRandomShowBook();

            ViewBag.ShowBook     = model;
            ViewBag.ShowBookPage = DBBookBLL.GetBookPage(model.ID);
            return(View("index"));
        }
示例#9
0
        /// <summary>
        /// 获取页面小图预览
        /// </summary>
        /// <returns></returns>
        public ActionResult GetPageView(int bookid, string opum)
        {
            IList <Inpinke_Book_Page> list = DBBookBLL.GetBookPageByPViews(bookid);

            if (list == null)
            {
                return(Content("{\"success\":true,\"pviews\":[]}"));
            }
            string strReturn = "{\"success\":true,\"pviews\":[";

            foreach (Inpinke_Book_Page p in list)
            {
                strReturn += "{\"pnum\":" + p.PageNum + ",\"src\":\"" + p.PageImg + "\",\"isskip\":" + p.IsSkip.ToString().ToLower() + "},";
            }
            strReturn = strReturn.TrimEnd(',') + "]}";
            return(Content(strReturn));
        }
示例#10
0
        public ActionResult Index(FormCollection col)
        {
            IList <Inpinke_Cart> list = DBCartBLL.GetUserCart(UserSession.CurrentUser.ID);

            try
            {
                string bookids = col["bookids"];
                if (string.IsNullOrEmpty(bookids))
                {
                    ViewBag.Msg = "商品信息异常,请重新确认";
                    return(View(list));
                }
                //bookids = bookids.TrimEnd(',');
                string[] bookidInfo = bookids.Split(',');
                foreach (string bookid in bookidInfo)
                {
                    Inpinke_Book bModel = DBBookBLL.GetBookByID(int.Parse(bookid));
                    if (bModel != null)
                    {
                        Inpinke_Cart model = new Inpinke_Cart()
                        {
                            BookID    = int.Parse(bookid),
                            Num       = int.Parse(col["num_" + bookid]),
                            CouponID  = int.Parse(col["coupon_select_" + bookid]),
                            Envelope  = int.Parse(col["envelope_" + bookid]),
                            ProductID = bModel.ProductID,
                            UserID    = UserSession.CurrentUser.ID
                        };
                        BaseResponse br = DBCartBLL.AddBook2Cart(model);
                        if (!br.IsSuccess)
                        {
                            ViewBag.Msg = "商品信息异常,请重新确认";
                            return(View(list));
                        }
                    }
                }
                return(RedirectToAction("OrderInfo"));
            }
            catch (Exception ex)
            {
                ViewBag.Msg = "商品信息确认失败,请稍后再试";
                Logger.Error(string.Format("购物车-Index Error:{0}", ex.ToString()));
                return(View(list));
            }
        }
示例#11
0
        /// <summary>
        /// 保存书本预设
        /// </summary>
        /// <param name="bookid"></param>
        /// <param name="userid"></param>
        /// <param name="bookname"></param>
        /// <param name="bookauthor"></param>
        /// <param name="bookbrief"></param>
        /// <param name="bookfont"></param>
        /// <returns></returns>
        public ActionResult SaveBookSet(int bookid, int userid, string bookname, string bookauthor, string bookbrief, int bookfont)
        {
            Inpinke_Book book = DBBookBLL.GetBookByID(bookid);

            if (book != null)
            {
                book.BookName = bookname;
                book.BookDesc = bookbrief;
                book.Author   = bookauthor;
                book.BookFont = bookfont;
                BaseResponse br = DBBookBLL.UpdateBook(book);
                return(Content("{\"success\":" + br.IsSuccess.ToString().ToLower() + ",\"msg\":\"" + br.Message + "\"}"));
            }
            else
            {
                return(Content("{\"success\":false,\"msg\":\"更新书本信息失败\"}"));
            }
        }
示例#12
0
        public ActionResult DelBook(int bookid)
        {
            Inpinke_Book model = DBBookBLL.GetBookByID(bookid, UserSession.CurrentUser.ID);

            if (model == null)
            {
                ViewBag.Msg = "对不起,您不能删除当前印品";
                return(View("error"));
            }
            model.Status = (int)RecordStatus.Delete;
            BaseResponse br = DBBookBLL.UpdateBook(model);

            if (br.IsSuccess)
            {
                return(RedirectToAction("book", "my"));
            }
            else
            {
                ViewBag.Msg = br.Message;
                return(View("error"));
            }
        }
示例#13
0
        /// <summary>
        /// 添加书本到购物车
        /// </summary>
        /// <param name="bookid"></param>
        /// <returns></returns>
        public ActionResult AddBook2Cart(int bookid)
        {
            Inpinke_Book book = DBBookBLL.GetBookByID(bookid);

            if (book == null)
            {
                ViewBag.Msg = "Sorry!没有找到您要购买的印品";
                return(RedirectToAction("Index", new { msg = ViewBag.Msg }));
            }

            Inpinke_Cart myCart = new Inpinke_Cart()
            {
                UserID    = book.UserID,
                BookID    = book.ID,
                Num       = 1,
                ProductID = book.ProductID
            };
            IList <Inpinke_Product> plusList = DBProductBLL.GetPlusProduct(book.ProductID, ProductType.Envelope);

            if (plusList != null && plusList.Count() > 0)
            {
                myCart.Envelope = plusList.FirstOrDefault().ID;
            }
            IList <Inpinke_Product> plusList1 = DBProductBLL.GetPlusProduct(book.ProductID, ProductType.PlusStuff);

            if (plusList1 != null && plusList1.Count() > 0)
            {
                myCart.Envelope = plusList1.FirstOrDefault().ID;
            }

            BaseResponse br = DBCartBLL.AddBook2Cart(myCart);

            if (!br.IsSuccess)
            {
                ViewBag.Msg = br.Message;
            }
            return(RedirectToAction("Index", new { msg = ViewBag.Msg }));
        }
示例#14
0
        public ActionResult Checkbookdone(int userid, int bookid)
        {
            Inpinke_Book model = DBBookBLL.GetBookByID(bookid);

            if (model == null)
            {
                //ViewBag.Msg = "对不起没有找到您要下单印刷的印品,您可以在【<a href=\"/my/book\">我的照片书</a>】中直接选择要印刷的印品进行下单印刷。";
                //return View("error");
                return(Content("{\"success\":false,\"msg\":\"对不起没找到您要下单印刷印品,请尝试重新登录。\"}"));
            }
            if (model.UserID != userid)
            {
                return(Content("{\"success\":false,\"msg\":\"对不起您不能下单印刷当前印品,请尝试重新登录。\"}"));
            }
            if (model.PageCount > model.DonePages)
            {
                return(Content("{\"success\":false,\"msg\":\"书本还有" + (model.PageCount - model.DonePages) + "页没有编辑,将印成空白页。确认要下单印刷吗?\"}"));
            }
            else
            {
                return(Content("{\"success\":true,\"msg\":\"书本已完成编辑\"}"));
            }
        }
示例#15
0
        /// <summary>
        /// 设置印品是否分享
        /// </summary>
        /// <param name="bookid"></param>
        /// <returns></returns>
        public ActionResult AjaxSetBookShowStatus(int bookid)
        {
            if (UserSession.CurrentUser == null)
            {
                return(Content("{\"success\":false,\"msg\":\"请重新登录\"}"));
            }
            Inpinke_Book model = DBBookBLL.GetBookByID(bookid, UserSession.CurrentUser.ID);

            if (model == null)
            {
                return(Content("{\"success\":false,\"msg\":\"印品分享设置失败\",\"bookid\":" + bookid + "}"));
            }
            if (model.ShowStatus == (int)ShowStatus.Public)
            {
                model.ShowStatus = (int)ShowStatus.Pravice;
            }
            else
            {
                model.ShowStatus = (int)ShowStatus.Public;
            }
            BaseResponse br = DBBookBLL.UpdateBook(model);

            return(Content("{\"success\":" + br.IsSuccess.ToString().ToLower() + ",\"msg\":\"" + br.Message + "\",\"bookid\":" + bookid + "}"));
        }
示例#16
0
        //
        // GET: /Shelf/

        public ActionResult Index()
        {
            ViewBag.RecomBooks = DBBookBLL.GetRecommendBook(DateTime.Now.ToString("yyyy-MM"));
            return(View());
        }
示例#17
0
        /// <summary>
        /// 保存页面内容
        /// </summary>
        /// <param name="bookid"></param>
        /// <param name="userid"></param>
        /// <param name="pagedata"></param>
        /// <returns></returns>
        public ActionResult SavePageData(int bookid, int userid, string pdata)
        {
            try
            {
                Inpinke_Book model    = DBBookBLL.GetBookByID(bookid);
                PageDataObjs pageObjs = (PageDataObjs)JsonConvert.DeserializeObject(pdata, typeof(PageDataObjs));
                if (pageObjs == null)
                {
                    return(Content("{\"success\":false,\"msg\":\"保存失败,内容为空\"}"));
                }
                if (model.BookStauts == (int)BookStatus.Making)
                {
                    return(Content("{\"success\":false,\"msg\":\"对不起当前印品已下单印制不能再编辑。\"}"));
                }
                string     strReturn    = "{\"success\":true,\"pviews\":[";
                string     noneused     = "";
                string     usedimgs     = "";
                List <int> noneUseImage = new List <int>();
                List <int> usedimg      = new List <int>();
                foreach (PageDataObj pageObj in pageObjs.pdatas)
                {
                    int pnum = pageObj.pagenum;
                    Inpinke_Book_Page bookPage = DBBookBLL.GetBookPageByPNum(pnum, bookid);
                    XElement          root     = new XElement("layout", new XAttribute("pnum", pnum), new XAttribute("styleid", pageObj.styleid),
                                                              new XAttribute("isskip", pageObj.isskip), new XAttribute("opnum", pageObj.opagenum), new XAttribute("bgcolor", pageObj.bgcolor));
                    bool isCreate = false;
                    if (bookPage == null)
                    {
                        bookPage = new Inpinke_Book_Page()
                        {
                            BookID  = bookid,
                            PageNum = pnum
                        };
                        isCreate = true;
                    }
                    else
                    {
                        //原页面不是跨页,现在是跨页的,需要删除掉一个原页面
                        if (!bookPage.IsSkip && pageObj.isskip.ToLower() == "true" && pageObj.opagenum != "-1_0")
                        {
                            int opnum = int.Parse(pageObj.opagenum.Replace(pnum + "_", ""));
                            Inpinke_Book_Page oBookPage = DBBookBLL.GetBookPageByPNum(opnum, bookid);
                            if (oBookPage != null)
                            {
                                oBookPage.PageStatus = (int)PageStatus.Delete;
                                DBBookBLL.UpdateBookPage(oBookPage);
                                //修改页面图片使用次数
                                DBImageBLL.ChangeImageUsedNum(oBookPage.PageData, bookid, true, ref noneUseImage);
                            }
                        }
                        //修改页面图片使用次数
                        DBImageBLL.ChangeImageUsedNum(bookPage.PageData, bookid, true, ref noneUseImage);
                    }
                    bookPage.IsSkip = pageObj.isskip.ToLower() == "false" ? false : true;

                    //添加图片节点
                    foreach (PageImage image in pageObj.image)
                    {
                        XElement       imageItem = new XElement("image");
                        PropertyInfo[] pis       = image.GetType().GetProperties();
                        int            urlIndex  = image.src.ToLower().IndexOf("/userfile");
                        if (urlIndex > 0)
                        {
                            image.src = image.src.Substring(urlIndex);
                        }
                        foreach (PropertyInfo property in pis)
                        {
                            //设置节点属性
                            imageItem.SetAttributeValue(property.Name, property.GetValue(image, null));
                        }
                        root.Add(imageItem);
                    }
                    //添加文字节点
                    foreach (PageText text in pageObj.text)
                    {
                        XElement       textItem = new XElement("text");
                        PropertyInfo[] pis      = text.GetType().GetProperties();
                        foreach (PropertyInfo property in pis)
                        {
                            //设置节点属性
                            textItem.SetAttributeValue(property.Name, property.GetValue(text, null));
                        }
                        if (pageObj.pagenum == 0 && text.issingle == "true")
                        {
                            if (!string.IsNullOrEmpty(text.content) && text.conid == "txt_1")
                            {
                                model.BookName = text.content;
                            }
                            if (!string.IsNullOrEmpty(text.content) && text.conid == "txt_2")
                            {
                                model.SubBookName = text.content;
                            }
                        }

                        root.Add(textItem);
                    }
                    bookPage.PageData = root;
                    //修改页面图片使用次数

                    DBImageBLL.ChangeImageUsedNum(bookPage.PageData, bookid, false, ref usedimg);

                    bool istxtO = false; //文字是否过多
                    if (isCreate)
                    {
                        int pID = DBBookBLL.GetMaxBookPageID() + 1;
                        bookPage.PageImg = SavePageView(pageObj, userid, model, ref istxtO, pID);
                    }
                    else
                    {
                        bookPage.PageImg = SavePageView(pageObj, userid, model, ref istxtO, bookPage.ID);
                    }

                    strReturn          += "{\"pnum\":" + pageObj.pagenum + ",\"src\":\"" + bookPage.PageImg + "\",\"isskip\":" + pageObj.isskip + ",\"istxtover\":" + istxtO.ToString().ToLower() + "},";
                    bookPage.PageStatus = (int)PageStatus.Normal;
                    if (pageObj.pagenum == 0)
                    {
                        model.BookCover = "/UserFile/" + UserSession.CurrentUser.ID + "/" + bookid + "/cover200.jpg";
                    }

                    if (isCreate)
                    {
                        DBBookBLL.AddBookPage(bookPage);
                        //更新已完成的页数
                        DBBookBLL.UpdateDonePage(bookid);
                    }
                    else
                    {
                        DBBookBLL.UpdateBookPage(bookPage);
                    }
                }
                noneused = string.Join(",", noneUseImage);
                usedimgs = string.Join(",", usedimg);

                strReturn = strReturn.TrimEnd(',') + "],\"noneusedimg\":[" + noneused + "],\"usedimg\":[" + usedimgs + "]}";
                return(Content(strReturn));
            }
            catch (Exception ex)
            {
                Logger.Error(string.Format("SavePageData BookID:{0},UserID:{1},Error:{2}", bookid, userid, ex.ToString()));
                return(Content("{\"success\":false,\"msg\":\"服务器异常保存失败,请稍后再试\"}"));
            }
        }
示例#18
0
        public ActionResult Modify(FormCollection col)
        {
            try
            {
                int           orderid = int.Parse(col["ID"]);
                Inpinke_Order model   = DBOrderBLL.GetOrderByID(orderid);
                ViewBag.Order = model;
                IList <Inpinke_Order_Product> prodList = DBOrderBLL.GetOrderProduct(model.ID);
                ViewBag.ProductList = prodList;
                IList <Inpinke_User_Address> address = DBAddressBLL.GetUserAddress(UserSession.CurrentUser.ID);
                if (address != null && address.Count() > 0)
                {
                    ViewBag.UserAddress = address;
                }

                model.AddressID = int.Parse(col["AddressID"]);
                Inpinke_User_Address selAddress = DBAddressBLL.GetAddressByID(model.AddressID);
                model.RecUserName = selAddress.UserName;
                model.RecMobile   = selAddress.Mobile;
                model.RecAddress  = selAddress.Address;
                model.RecAreaID   = selAddress.AreaID;
                model.RecProvID   = selAddress.ProvID;
                model.RecCityID   = selAddress.CityID;
                model.RecProvName = selAddress.ProvName;
                model.RecCityName = selAddress.CityName;
                model.RecAreaName = selAddress.AreaName;

                decimal totalPrice = 0;
                foreach (Inpinke_Order_Product p in prodList)
                {
                    int bookid = p.BookID;
                    if (string.IsNullOrEmpty(col["num_" + bookid]))
                    {
                        totalPrice += p.Price;
                        continue;
                    }
                    p.Num = int.Parse(col["num_" + bookid]);
                    if (p.Num <= 0)
                    {
                        ViewBag.Msg = "印品购买数量不能少于1件";
                        return(View());
                    }
                    p.CouponID   = int.Parse(col["coupon_select_" + bookid]);
                    p.Envelope   = int.Parse(col["envelope_" + bookid]);
                    p.Price      = DBBookBLL.GetBookPrice(bookid, p.CouponID, p.Num);
                    p.UpdateTime = DateTime.Now;
                    p.SaveWhenSubmit(InpinkeDataContext.Instance);
                    totalPrice += p.Price;
                }
                model.OrgPrice   = totalPrice;
                model.TotalPrice = totalPrice;
                model.UserRemark = col["Remark"];
                model.UpdateTime = DateTime.Now;
                model.SaveWhenSubmit(InpinkeDataContext.Instance);
                InpinkeDataContext.Instance.Submit();
                return(RedirectToAction("pay", new { orderid = orderid }));
            }
            catch (Exception ex)
            {
                ViewBag.Msg = "修改订单信息失败,请稍后再试";
                Logger.Error(string.Format("修改订单信息-Modify Error:{0}", ex.ToString()));
                return(View("error"));
            }
        }
示例#19
0
        /// <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\":\"更新书本信息失败,刷新页面再试试吧!\"}"));
            }
        }
示例#20
0
        public ActionResult Edit(FormCollection col)
        {
            int orderid = int.Parse(col["ID"]);

            try
            {
                Inpinke_Order model = DBOrderBLL.GetOrderByID(orderid);
                ViewBag.Order = model;
                IList <Inpinke_Order_Product> prodList = DBOrderBLL.GetOrderProduct(model.ID);
                ViewBag.ProductList = prodList;

                decimal totalPrice = 0;
                foreach (Inpinke_Order_Product p in prodList)
                {
                    int bookid = p.BookID;
                    if (string.IsNullOrEmpty(col["num_" + bookid]))
                    {
                        totalPrice += p.Price;
                        continue;
                    }
                    p.Num = int.Parse(col["num_" + bookid]);
                    if (p.Num <= 0)
                    {
                        ViewBag.Msg = "印品购买数量不能少于1件";
                        return(RedirectToAction("edit", new { id = orderid, msg = ViewBag.Msg + DateTime.Now.ToString("yyyy-MM-dd mm:ss") }));
                    }
                    p.CouponID   = int.Parse(col["coupon_select_" + bookid]);
                    p.Envelope   = int.Parse(col["envelope_" + bookid]);
                    p.Price      = DBBookBLL.GetBookPrice(bookid, p.CouponID, p.Num);
                    p.UpdateTime = DateTime.Now;
                    p.SaveWhenSubmit(InpinkeDataContext.Instance);
                    totalPrice += p.Price;
                }
                model.OrgPrice   = totalPrice;
                model.TotalPrice = totalPrice;
                int orgOrderStatus = model.OrderStatus;
                model.OrderStatus = int.Parse(col["OrderStatus"]);
                model.UserRemark  = col["Remark"];
                //收货人信息
                model.RecUserName = col["UserName"];
                model.RecMobile   = col["Mobile"];
                model.RecAddress  = col["Address"];
                model.RecAreaID   = int.Parse(col["AreaID"]);
                model.RecProvID   = int.Parse(col["ProvID"]);
                model.RecCityID   = int.Parse(col["CityID"]);
                model.RecProvName = DBProvinceBLL.GetProvName(model.RecProvID.Value);
                model.RecCityName = DBProvinceBLL.GetCityName(model.RecCityID.Value);
                model.RecAreaName = DBProvinceBLL.GetAreaName(model.RecAreaID.Value);

                model.UpdateTime = DateTime.Now;
                model.SaveWhenSubmit(InpinkeDataContext.Instance);
                InpinkeDataContext.Instance.Submit();
                //锁定印品防止编辑
                if (model.OrderStatus == (int)OrderStatus.WaitSend && orgOrderStatus != (int)OrderStatus.WaitSend)
                {
                    SetOrderMaking(model, "", true);
                }
                if (model.OrderStatus != (int)OrderStatus.WaitSend && orgOrderStatus == (int)OrderStatus.WaitSend)
                {
                    SetOrderMaking(model, "", false);
                }

                return(RedirectToAction("edit", new { id = orderid, msg = "编辑成功" + DateTime.Now.ToString("yyyy-MM-dd mm:ss") }));
            }
            catch (Exception ex)
            {
                ViewBag.Msg = "修改订单信息失败,请稍后再试";
                Logger.Error(string.Format("修改订单信息-Edit Error:{0}", ex.ToString()));
                return(RedirectToAction("edit", new { id = orderid, msg = ViewBag.Msg + DateTime.Now.ToString("yyyy-MM-dd mm:ss") }));
            }
        }
示例#21
0
        public ActionResult Book()
        {
            IList <Inpinke_Book> list = DBBookBLL.GetUserBooks(PageInfo, UserSession.CurrentUser.ID);

            return(View(list));
        }
示例#22
0
        /// <summary>
        /// 生成书本pdf
        /// </summary>
        /// <param name="bookid"></param>
        /// <returns></returns>
        public static bool CreateBookPDF(int bookid)
        {
            Inpinke_Book model   = DBBookBLL.GetBookByID(bookid);
            string       pdfname = FilterSpecial(model.BookName);

            pdfname = OutPath + pdfname + "-" + model.ID + "-intime.pdf";
            PDFProcessBLL pdfProcess = new PDFProcessBLL(PageWidth + 2 * TrimLineLength, PageHeight + 2 * TrimLineLength, pdfname);

            try
            {
                IList <Inpinke_Book_Page> pages = DBBookBLL.GetBookPage(bookid);
                pdfProcess.PaintScale = PaintScale;
                if (pages != null)
                {
                    pages = pages.OrderBy(e => e.PageNum).ToList();


                    pdfProcess.doc.Open();
                    float boneWidth = backboneWidth * model.PageCount;
                    pdfProcess.FlodPageWidth    = flodPageWidth;
                    pdfProcess.BackBoneWidth    = boneWidth;
                    pdfProcess.SinglePageWidth  = PageWidth;
                    pdfProcess.SinglePageHeight = PageHeight;
                    for (int i = 0; i <= model.PageCount; i++)
                    {
                        Inpinke_Book_Page p = pages.Where(e => e.PageNum == i).SingleOrDefault();
                        if (p == null)
                        {
                            pdfProcess.PageWidth  = PageWidth + 2 * TrimLineLength;
                            pdfProcess.PageHeight = PageHeight + 2 * TrimLineLength;
                            pdfProcess.doc.SetPageSize(new iTextSharp.text.Rectangle(pdfProcess.PageWidth, pdfProcess.PageHeight));
                            pdfProcess.doc.NewPage();
                            pdfProcess.PaintTirmLine();
                        }
                        else
                        {
                            float pWidth = PageWidth;
                            if (p.IsSkip)
                            {
                                pWidth = PageWidth * 2;
                                if (i != 0)
                                {
                                    i++;
                                }
                            }
                            else if (i != 1 && i != model.PageCount)
                            {
                                pWidth = PageWidth * 2;
                            }
                            if (i == 0)
                            {
                                //封面和封底和折页书脊总宽度
                                pWidth = PageWidth * 2 + flodPageWidth * 2 + boneWidth;
                            }

                            pdfProcess.PageWidth  = pWidth + 2 * TrimLineLength;
                            pdfProcess.PageHeight = PageHeight + 2 * TrimLineLength;
                            pdfProcess.doc.SetPageSize(new iTextSharp.text.Rectangle(pdfProcess.PageWidth, pdfProcess.PageHeight));
                            pdfProcess.doc.NewPage();
                            pdfProcess.PaintTirmLine();
                            PageDataObj pageObj = (PageDataObj)SerializeXmlHelper.DeserializeFromXml(p.PageData, typeof(PageDataObj));
                            pdfProcess.PaintPage(pageObj, 0);
                            if (!p.IsSkip && i != 1 && i != model.PageCount)
                            {
                                p = pages.Where(e => e.PageNum == i + 1).SingleOrDefault();
                                if (p != null)
                                {
                                    pageObj = (PageDataObj)SerializeXmlHelper.DeserializeFromXml(p.PageData, typeof(PageDataObj));
                                    pdfProcess.PaintPage(pageObj, PageWidth);
                                    i++;
                                }
                            }
                        }
                    }
                    pdfProcess.doc.Close();
                }
                return(true);
            }
            catch (Exception ex)
            {
                pdfProcess.doc.Close();
                Logger.Error(string.Format("CreateBookPDF BookID:{0},Error:{1}", bookid, ex.ToString()));
                return(false);
            }
        }