public async Task<ActionResult> Create(SpecimenPhotoUploadModel model) { if (ModelState.IsValid) { var returnModel = new DigitalPhotographPostUploadModel(); foreach (var photo in model.Photos) { var fileName = Guid.NewGuid().ToString() + "_" + photo.FileName; var dPhoto = new DigitalPhotograph { SpecimenId = model.SpecimenId, FileName = fileName }; // Save the file and the smaller versions. var completePath = Server.MapPath("~/App_Data/Uploads/Photos/"); Directory.CreateDirectory(completePath); photo.SaveAs(completePath + fileName); FileUploadHelper.GenerateVersions(completePath + fileName); returnModel.UploadedItems.Add(new DigitalPhotographUploadItem { DigitalPhotograph = dPhoto }); db.DigitalPhotographs.Add(dPhoto); } await db.SaveChangesAsync(); if (Request.IsAjaxRequest()) { return PartialView("PostUpload", returnModel); } return View("PostUpload", returnModel); } return View(model); }
// GET: BackOffice/DigitalPhotographs/Create public ActionResult Create(int? specimenId) { if (specimenId == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } var specimen = db.Specimens.Find(specimenId); if (specimen == null) { return HttpNotFound(); } var model = new SpecimenPhotoUploadModel { SpecimenId = specimenId.Value }; return View(model); }