public ActionResult Create(Product newProduct, HttpPostedFileBase uploadImage) { SelectList categories = new SelectList(context.Categories, "Id", "Value"); ViewBag.Categories = categories; newProduct.CategoryName = context.Categories.Find(newProduct.CategoryId).Value; if (uploadImage != null) { //считываем переданное изображение в виде массива байтов и сохраняем его в базе ReadImage(newProduct, uploadImage); context.Products.Add(newProduct); context.SaveChanges(); return RedirectToAction("Index"); } return View(newProduct); }
/// <summary> /// Метод инкапсулирует функции считывания файла изображения в массив байтов /// и сохранения его в базе данных /// </summary> /// <param name="product">Сущность, которая будет содержать данное изображение в виде массива байтов</param> /// <param name="Image">Переданное изображение</param> private void ReadImage(Product product, HttpPostedFileBase Image) { byte[] imageData = null; // считываем переданный файл в массив байтов using (var binaryReader = new BinaryReader(Image.InputStream)) { imageData = binaryReader.ReadBytes(Image.ContentLength); } // сохранение полученного массива байтов в базу данных product.Image = imageData; }
public ActionResult EditImage(int id, Product newProduct, HttpPostedFileBase uploadImage) { try { if (uploadImage != null) { //считываем переданное изображение в виде массива байтов и сохраняем его в базе ReadImage(newProduct, uploadImage); context.Entry(newProduct).State = System.Data.EntityState.Modified; context.SaveChanges(); } return RedirectToAction("Index"); } catch { return View(); } }
public ActionResult EditInfo(int id, Product newProduct) { try { SelectList categories = new SelectList(context.Categories, "Id", "Value"); ViewBag.Categories = categories; newProduct.CategoryName = context.Categories.Find(newProduct.CategoryId).Value; context.Entry(newProduct).State = System.Data.EntityState.Modified; context.SaveChanges(); return RedirectToAction("Index"); } catch { return View(); } }
public ActionResult Delete(int id, Product product) { try { context.Entry(product).State = System.Data.EntityState.Deleted; context.SaveChanges(); return RedirectToAction("Index"); } catch { return View(); } }