public ActionResult Edit( [Bind(Include = "Id,TaskTitle,TaskDescription,TaskAvailable,AvailableDate,DueDate,PointsWorth")] Assignment assignment) { 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); AssignmentFileDetail fileDetail = new AssignmentFileDetail() { FileName = fileName, Extension = Path.GetExtension(fileName), FileId = Guid.NewGuid(), AssignmentId = assignment.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(assignment).State = EntityState.Modified; _context.SaveChanges(); return(RedirectToAction("Index")); } return(View(assignment)); }
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); AssignmentFileDetail fileDetail = _context.AssignmentFileDetails.Find(guid); if (fileDetail == null) { Response.StatusCode = (int)HttpStatusCode.NotFound; return(Json(new { Result = "Error" })); } //Remove from database _context.AssignmentFileDetails.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 <AssignmentFileDetail> AddFilesDetailsToAssignment() { List <AssignmentFileDetail> fileDetails = new List <AssignmentFileDetail>(); 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); AssignmentFileDetail fileDetail = new AssignmentFileDetail() { 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); }