Example #1
0
        public ActionResult SaveEditBookData(EditBookModel eb)
        {
            EditBookFactory factory = new EditBookFactory();

            // 接收書籍資料表欄位
            eb.b_id            = Request.Form["b_id"];
            eb.b_Type          = Request.Form["b_Type"];
            eb.b_Name          = Request.Form["b_Name"];
            eb.b_Info          = Request.Form["b_Info"];
            eb.b_Image         = Request.Form["b_Image"];
            eb.b_PublishedDate = Request.Form["b_PublishedDate"];
            eb.b_DatePrice     = Convert.ToInt32(Request.Form["b_DatePrice"]);
            eb.b_ISBN          = Request.Form["b_ISBN"];
            eb.b_AgeRating     = Request.Form["b_AgeRating"];
            eb.b_Series_yn     = Request.Form["Series"];
            eb.b_Put_yn        = Request.Form["b_Put_yn"];

            if (Request.Form["PublishedIdName"] != null)
            {
                eb.PublishedIdName = Request.Form["PublishedIdName"];
                eb.p_id            = factory.出版社資料解析成編號(eb.PublishedIdName);
            }

            if (eb.Image != null)
            {
                string deleteresult = factory.傳回原書籍封面照片檔名(eb.b_id);

                string 刪除舊圖片路徑 = "../書籍素材/" + eb.b_Type + "素材/" + eb.b_id + "/" + eb.b_id + "-cover.jpg";

                if (System.IO.File.Exists(Server.MapPath(刪除舊圖片路徑)))
                {
                    try
                    {
                        // 刪除舊封面圖片
                        System.IO.File.Delete(Server.MapPath(刪除舊圖片路徑));
                    }
                    catch
                    {
                        deleteresult = "修改失敗";
                    }
                }

                if (deleteresult != "修改失敗")
                {
                    // 將新封面圖片儲存到路徑
                    string photoName = factory.書籍封面圖片命名(eb);
                    eb.b_Image = photoName;

                    string 儲存書籍封面路徑 = Server.MapPath("../書籍素材/" + eb.b_Type + "素材/" + eb.b_id + "/" + photoName);
                    eb.Image.SaveAs(儲存書籍封面路徑);
                }
            }

            // 處理 tags
            eb.Tags字串 = Request.Form["Tag"];
            eb.Tags   = factory.Tags轉成陣列(eb.Tags字串);
            factory.移除此書籍的標籤(eb.b_id);

            // 處理書籍作者
            eb.AuthorIdName = Request.Form.GetValues("AuthorIdName");
            factory.移除此書籍的作者(eb.b_id);

            //儲存到資料庫
            factory.SaveBookData_Books(eb);
            factory.儲存到標籤資料表(eb);
            factory.SaveBooksAuthor(eb);

            return(RedirectToAction("List"));
        }