public ActionResult SaveSupportMaterial(string id) { using (var tx = new TransactionScope()) { var uploader = new SupportMaterialUploader(id); var uploadResult = uploader.Upload(Request.Files[0]); var classRepository = new ClassRepository(_context); var klass = classRepository.GetById(new Guid(id)); klass.Files.Add(new File { PhysicalPath = uploadResult.Message, CreatedAt = DateTime.Now, Active = true, Name = Request.Files[0]?.FileName, Class = klass }); _context.Save(_loggedUser); tx.Complete(); return(Json(uploadResult)); } }
public ActionResult ListSupportMaterial(string classId) { var classRepository = new ClassRepository(_context); var klass = classRepository.GetById(new Guid(classId)); var files = new List <dynamic>(); var uploader = new SupportMaterialUploader(classId); foreach (var item in klass.Files) { files.Add(new { item.Name, Size = uploader.GetFileInfo(item.PhysicalPath).Length }); } return(Json(new { Files = files })); }
public ActionResult DeleteSupportMaterial(string id, string fileName) { using (var tx = new TransactionScope()) { var classRepository = new ClassRepository(_context); var klass = classRepository.GetById(new Guid(id)); var file = klass.Files.Single(x => x.PhysicalPath == fileName); klass.Files.Remove(file); classRepository.UpdateWithFiles(klass); _context.Save(_loggedUser); var uploader = new SupportMaterialUploader(id); uploader.DeleteFile(fileName); tx.Complete(); } return(new HttpStatusCodeResult(HttpStatusCode.OK)); }
public ActionResult Delete(string id) { var classRepository = new ClassRepository(_context); var uploader = new SupportMaterialUploader(id); var klass = classRepository.GetById(new Guid(id)); using (var tx = new TransactionScope()) { foreach (var file in klass.Files) { uploader.DeleteFile(file.PhysicalPath); } classRepository.Delete(klass.Id); _context.Save(_loggedUser); tx.Complete(); } return(new HttpStatusCodeResult(HttpStatusCode.OK)); }