// 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));
        }