// GET: Pins/Edit/5 public ActionResult Edit(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Pin pin = db.Pins.Find(id); if (pin == null) { return(HttpNotFound()); } PinEditViewModel pinEditViewModel = new PinEditViewModel(); pinEditViewModel.PinGuid = pin.PinGuid; pinEditViewModel.Name = pin.Name; pinEditViewModel.Color = pin.Color; pinEditViewModel.Description = pin.Description; if (pin.Icon != null && pin.Icon.Length > 0) { pinEditViewModel.Icon = new MemoryPostedFile(pin.Icon); var base64 = Convert.ToBase64String(pin.Icon); var imgSrc = String.Format("data:image/gif;base64,{0}", base64); ViewBag.ImgSrc = imgSrc; } return(View(pinEditViewModel)); }
public ActionResult Edit([Bind(Include = "PinGuid,Name,Icon,Color,Description")] PinEditViewModel pinEditViewModel) { if (ModelState.IsValid) { Pin pin = db.Pins.Find(pinEditViewModel.PinGuid); pin.Name = pinEditViewModel.Name; pin.Color = pinEditViewModel.Color; pin.Description = pinEditViewModel.Description; pin.DateModified = DateTime.Now; pin.UserModifiedID = Auxiliaries.GetUserId(User); // Handle the image if (pinEditViewModel.Icon != null && pinEditViewModel.Icon.ContentLength > 0) { if (!Auxiliaries.ValidImageTypes.Contains(pinEditViewModel.Icon.ContentType)) { ModelState.AddModelError("Icon", "Izberite sliko, ki je v enem od naštetih formatov: GIF, JPG, ali PNG."); if (pin.Icon != null && pin.Icon.Length > 0) { pinEditViewModel.Icon = new MemoryPostedFile(pin.Icon); var base64 = Convert.ToBase64String(pin.Icon); var imgSrc = String.Format("data:image/gif;base64,{0}", base64); ViewBag.ImgSrc = imgSrc; } return(View(pinEditViewModel)); } else { using (var reader = new BinaryReader(pinEditViewModel.Icon.InputStream)) { pin.Icon = reader.ReadBytes(pinEditViewModel.Icon.ContentLength); } } } db.Entry(pin).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(pinEditViewModel)); }