public ActionResult Create(ProductsViewModel model) { //傳進去ProductsViewModel model, 回傳 var validImageTpes = new string[] { "image/gif", "image/jpeg", "image/pjpeg", "image/png" }; if ( model.ImageUpload != null && !validImageTpes.Contains(model.ImageUpload.ContentType)) { ModelState.AddModelError("ImageUpload", "請選擇 GIF, JPG or PNG 圖片檔案格式。"); } if (ModelState.IsValid) { var product = new Products { Name = model.Name, Description = model.Description, Category_Id = model.Category_Id, Price = model.Price, Author = model.Author, Publisher = model.Publisher, PublishDT = Convert.ToDateTime(model.PublishDT), IsPublic = model.IsPublic }; if (model.ImageUpload != null && model.ImageUpload.ContentLength > 0) { ImageDeal imageDeal = new ImageDeal(); string imageUrl = imageDeal.Upload(model.ImageUpload); product.PhotoUrl = imageUrl; } db.Products.Add(product); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.Category_Id = new SelectList(db.Categories, "Id", "Name", model.Category_Id); return View(model); }
public ActionResult Edit(int? id, ProductsViewModel model) { var validImageTypes = new string[] { "image/gif", "image/jpeg", "image/pjpeg", "image/png" }; if ( model.ImageUpload != null && !validImageTypes.Contains(model.ImageUpload.ContentType)) { ModelState.AddModelError("ImageUpload", "請選擇 GIF, JPG or PNG 圖片檔案格式。"); } if (ModelState.IsValid) { var product = db.Products.Find(id); if (product == null) { return new HttpNotFoundResult(); } product.Name = model.Name; product.Description = model.Description; product.Category_Id = model.Category_Id; product.Price = model.Price; product.Author = model.Author; product.Publisher = model.Publisher; product.PublishDT = Convert.ToDateTime(model.PublishDT); product.IsPublic = model.IsPublic; if (model.ImageUpload != null && model.ImageUpload.ContentLength > 0) { ImageDeal imageDeal = new ImageDeal(); //上傳圖檔&壓縮圖檔處理 string imageUrl = imageDeal.Upload(model.ImageUpload); product.PhotoUrl = imageUrl; //刪除舊檔案&壓縮檔案 var deletePhotoUrl = Server.MapPath(model.PhotoUrl); imageDeal.Delete(deletePhotoUrl); } db.Entry(product).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.Category_Id = new SelectList(db.Categories, "Id", "Name", model.Category_Id); return View(model); }
// GET: Admin/Products/Edit/5 public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Products products = db.Products.Find(id); if (products == null) { return HttpNotFound(); } var model = new ProductsViewModel { Id = products.Id, Name = products.Name, Description = products.Description, Category_Id = products.Category_Id, Price = products.Price, PhotoUrl = products.PhotoUrl, Author = products.Author, Publisher = products.Publisher, PublishDT = products.PublishDT, IsPublic = products.IsPublic }; ViewBag.Category_Id = new SelectList(db.Categories, "Id", "Name", products.Category_Id); return View(model); }