public ActionResult Create(CaveFileViewModel vm) { if (ModelState.IsValid) { db.Caves.Find(vm.CaveID).MetaFiles.Add(PopulateCaveFileFromVM(vm)); db.SaveChanges(); return RedirectToAction("edit", "Caves", new { id = vm.CaveID }).AddFragment("CaveFilesSection"); } vm.FileTypeSelectList = new SelectList(db.FileTypes, "FileTypeID", "Description",vm.FileTypeID); return View(vm); }
public ActionResult Create(int id) { if (id == 0) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } CaveFileViewModel vm = new CaveFileViewModel(); vm.CaveID = id; vm.FileTypeSelectList = new SelectList(db.FileTypes, "FileTypeID", "Description"); return View(vm); }
public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } MetaFile caveFile = db.MetaFiles.Find(id); if (caveFile == null) { return HttpNotFound(); } CaveFileViewModel vm = new CaveFileViewModel(); //vm.CaveID = caveFile.CaveID; vm.FileID = caveFile.FileId; vm.Description = caveFile.Description; vm.FileTypeID = vm.FileTypeID; vm.FileTypeSelectList = new SelectList(db.FileTypes, "FileTypeID", "Description", caveFile.FileTypeId); return View(vm); }
private void SetFileFromVM(File file, CaveFileViewModel vm) { if (vm.Data != null) { using (var memoryStream = new System.IO.MemoryStream()) { vm.Data.InputStream.CopyTo(memoryStream); file.Data = memoryStream.ToArray(); } file.FileName = vm.Data.FileName; file.MimeType = vm.Data.ContentType; } }
private MetaFile PopulateCaveFileFromVM(CaveFileViewModel vm) { File file = new File(); SetFileFromVM(file, vm); MetaFile caveFile = new MetaFile(); caveFile.File = file; caveFile.FileType = db.FileTypes.Find(vm.FileTypeID); caveFile.FileTypeId = vm.FileTypeID; caveFile.Description = vm.Description; db.Caves.Find(vm.CaveID).MetaFiles.Add(caveFile); return caveFile; }
public ActionResult Edit(CaveFileViewModel vm) { if (ModelState.IsValid) { MetaFile caveFile = db.MetaFiles.Find(vm.FileID); var file = db.Files.Find(vm.FileID); SetFileFromVM(file, vm); db.Entry(caveFile).State = System.Data.Entity.EntityState.Modified; if(vm.Data != null) db.Entry(file).State = System.Data.Entity.EntityState.Modified; //caveFile.Cave = db.Caves.Find(vm.CaveID); //caveFile.CaveID = vm.CaveID; caveFile.Description = vm.Description; caveFile.FileType = db.FileTypes.Find(vm.FileTypeID); caveFile.FileTypeId = vm.FileTypeID; db.SaveChanges(); return RedirectToAction("edit", "Caves", new { id = vm.CaveID }).AddFragment("CaveFilesSection"); } vm.FileTypeSelectList = new SelectList(db.FileTypes, "FileTypeID", "Description", vm.FileTypeID); return View(vm); }