public ActionResult Create(Photo photo) { if (ModelState.IsValid) { db.Photos.Add(photo); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.EmployeeId = new SelectList(db.Employees, "Id", "Name", photo.EmployeeId); return View(photo); }
public ActionResult UploadPhotoPost(string codeword, string uploadedby) { if (String.IsNullOrEmpty(codeword)) return RedirectToAction("UploadPhoto", new { warning = "Fyll inn kodeord!" }); if (String.IsNullOrEmpty(uploadedby)) return RedirectToAction("UploadPhoto", new { warning = "Fyll inn navn og telefonnr!" }); var recognize = codeword != "ignore"; var image = Request.Files.Count > 0 ? Request.Files[0] : null; if(image == null || image.ContentLength == 0) return RedirectToAction("UploadPhoto", new { warning = "Du må velge et foto!" }); if (!ImageUtil.AllowedImageTypes.Contains(image.ContentType) && image.ContentType != "application/octet-stream") return RedirectToAction("UploadPhoto", new { warning = "Not allowed imagetype! (" + image.ContentType + ")" }); var im = Image.FromStream(image.InputStream); var imageFormat = ImageUtil.GetImageFormat(image.ContentType); var newImage = im.ResizeImage(new Size(480, 480), imageFormat); var title = "MisterX-" + DateTime.Now.ToString("MM.dd HH:mm"); var photo = new Photo { Filename = image.FileName, Format = imageFormat.ToString(), Name = title, ImageStream = ReadFully(newImage), UploadedBy = uploadedby }; _db.Photos.Add(photo); _db.SaveChanges(); if (recognize) { var e = Recognize(photo.Id); if (e == null) { _db.Photos.Remove(photo); _db.SaveChanges(); return RedirectToAction("UploadPhoto", new { warning = "Ansatt ikke gjenkjent!" }); } if (e.Codeword.ToUpper() != codeword.ToUpper()) { _db.Photos.Remove(photo); _db.SaveChanges(); return RedirectToAction("UploadPhoto", new { warning = "Feil kodeord for " + e.Name + "!" }); } var p = _db.Photos.Find(photo.Id); p.Employee = e; p.Name = p.Name.Replace("MisterX", e.Name + "(recognized)"); _db.SaveChanges(); return RedirectToAction("UploadPhoto", new { success = "Riktig kodeord for " + e.Name + "! Bilde opplastet!" }); } return RedirectToAction("UploadPhoto", new { success = "Bilde opplastet, ikke tilordnet noen ansatte" }); }
public ActionResult Edit(Photo photo) { if (ModelState.IsValid) { var p = db.Photos.Find(photo.Id); p.Employee = photo.Employee; p.EmployeeId = photo.EmployeeId; p.Name = photo.Name; p.Filename = photo.Filename; p.Format = photo.Format; p.UploadedBy = photo.UploadedBy; db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.EmployeeId = new SelectList(db.Employees, "Id", "Name", photo.EmployeeId); return View(photo); }
public ActionResult UploadAndRecognize(string image, string codeword, string uploadedby) { if (String.IsNullOrEmpty(uploadedby)) return new JsonResult { Data = new { warning = true, message = "Fyll inn navn og telefonnr!" } }; var filnanvn = "test-" + DateTime.Now.ToFileTime(); var title = "MisterX-" + DateTime.Now.ToString("MM.dd HH:mm"); var splitted = image.Split(',')[1]; var imageEncoded = Base64ToImage(splitted); var recognize = codeword != "ignore"; var photo = new Photo { Filename = filnanvn + ".jpg", Format = "Image/jpg", Name = title, ImageStream = ReadFully(imageEncoded.ResizeImage(new Size(480, 480), ImageFormat.Jpeg)), Employee = null, UploadedBy = uploadedby }; _db.Photos.Add(photo); _db.SaveChanges(); //Må lagre det her for å hente det ut att på nytt. imageEncoded.Dispose(); if (recognize) { var e = Recognize(photo.Id); if (e == null) { _db.Photos.Remove(photo); _db.SaveChanges(); return new JsonResult { Data = new { warning = true, message = "Ansatt ikke gjenkjent!" } }; } if (e.Codeword.ToUpper() != codeword.ToUpper()) { _db.Photos.Remove(photo); _db.SaveChanges(); return new JsonResult { Data = new { warning = true, message = "Feil kodeord for " + e.Name + "!" } }; } var p = _db.Photos.Find(photo.Id); p.Employee = e; p.Name = p.Name.Replace("MisterX", e.Name + "(recognized)"); _db.SaveChanges(); return new JsonResult { Data = new { success = true, message = "Riktig kodeord for " + e.Name + "! Bilde opplastet!" } }; } Thread.Sleep(2000); return new JsonResult { Data = new { success = true, message = "Bilde opplastet, ikke tilordnet noen ansatte" } }; }