public ActionResult Edit( [Bind(Include = "Id,TaskTitle,TaskDescription,TaskAvailable,AvailableDate,DueDate,PointsWorth")] Test test) { if (ModelState.IsValid) { for (int i = 0; i < Request.Files.Count; i++) { var file = Request.Files[i]; if (file != null && file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); TestFileDetail fileDetail = new TestFileDetail() { FileName = fileName, Extension = Path.GetExtension(fileName), FileId = Guid.NewGuid(), TestId = test.Id }; var path = Path.Combine(Server.MapPath("~/App_Data/Upload/"), fileDetail.FileId + fileDetail.Extension); file.SaveAs(path); _context.Entry(fileDetail).State = EntityState.Added; } } _context.Entry(test).State = EntityState.Modified; _context.SaveChanges(); return(RedirectToAction("Index")); } return(View(test)); }
public JsonResult DeleteFile(string id) { if (String.IsNullOrEmpty(id)) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new { Result = "Error" })); } try { Guid guid = new Guid(id); TestFileDetail fileDetail = _context.TestFileDetails.Find(guid); if (fileDetail == null) { Response.StatusCode = (int)HttpStatusCode.NotFound; return(Json(new { Result = "Error" })); } //Remove from database _context.TestFileDetails.Remove(fileDetail); _context.SaveChanges(); //Delete file from the file system var path = Path.Combine(Server.MapPath("~/App_Data/Upload/"), fileDetail.FileId + fileDetail.Extension); if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } return(Json(new { Result = "OK" })); } catch (Exception ex) { return(Json(new { Result = "ERROR", Message = ex.Message })); } }
private List <TestFileDetail> AddFilesDetailsToTest() { List <TestFileDetail> fileDetails = new List <TestFileDetail>(); for (int i = 0; i < Request.Files.Count; i++) { var file = Request.Files[i]; if (file != null && file.ContentLength > 0) { var fileName = Path.GetFileName(file.FileName); TestFileDetail fileDetail = new TestFileDetail() { FileName = fileName, Extension = Path.GetExtension(fileName), FileId = Guid.NewGuid() }; fileDetails.Add(fileDetail); var path = Path.Combine(Server.MapPath("~/App_Data/Upload/"), fileDetail.FileId + fileDetail.Extension); file.SaveAs(path); } } return(fileDetails); }