public static CourseFileModel Load(CourseFile courseFile) { var courseFileModel = new CourseFileModel(); courseFileModel.Header = courseFile; courseFileModel.Folder = new FolderModel { Name = "Root", Folders = LoadFolders(courseFile), Courses = LoadCourses(courseFile, 0) }; courseFileModel.Folder.Courses.ForEach(course => course.Folder = courseFileModel.Folder); courseFileModel.Courses = courseFileModel.Folder .Courses .Concat(courseFileModel.Folder .Folders .SelectRecursive(folder => folder.Folders, folder => folder.Courses) .SelectMany(v => v) .ToList()) .ToList(); courseFileModel.Folder.IsChecked = true; return(courseFileModel); }
public ActionResult DeleteConfirmed(int id) { CourseFile courseFile = db.CourseFiles.Find(id); db.CourseFiles.Remove(courseFile); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "ID,CourseID,File")] CourseFile courseFile) { if (ModelState.IsValid) { db.Entry(courseFile).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CourseID = new SelectList(db.Courses, "ID", "Title", courseFile.CourseID); return(View(courseFile)); }
public ActionResult Create([Bind(Include = "ID,CourseID,File")] CourseFile courseFile) { if (ModelState.IsValid) { db.CourseFiles.Add(courseFile); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.CourseID = new SelectList(db.Courses, "ID", "Title", courseFile.CourseID); return(View(courseFile)); }
// Add new and remove old course file public async Task AddCourseFile(string courseId, Guid versionId, byte[] content) { var file = new CourseFile { CourseId = courseId, CourseVersionId = versionId, File = content }; db.CourseFiles.RemoveRange(db.CourseFiles.Where(f => f.CourseId.Equals(courseId, StringComparison.OrdinalIgnoreCase))); db.CourseFiles.Add(file); await db.SaveChangesAsync(); }
public Task DownloadFile(CourseFile file, StudentEvent studentEvent) { var path = file.ServerRelativeUrl.Replace(Path.GetFileName(file.ServerRelativeUrl), ""); // Path.Combine(,) ist komisch wenn der zweite Pfad mit einem PathSeperator anfängt :/ // siehe dazu https://docs.microsoft.com/de-de/dotnet/api/system.io.path.combine?view=netframework-4.7.2 path = path.Substring(1); path = Path.Combine(studentEvent.CourseName, path); var destination = Path.Combine(GetFileStoragePath(), path); return(_oscaWebService.DowloadFile(file.DownloadUrl, destination, Path.GetFileName(file.ServerRelativeUrl))); }
// GET: CourseFiles/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CourseFile courseFile = db.CourseFiles.Find(id); if (courseFile == null) { return(HttpNotFound()); } return(View(courseFile)); }
/// <inheritdoc/> public void SaveTo(string courseId, IFormFile file) { byte[] fileData; using (var target = new MemoryStream()) { file.CopyTo(target); fileData = target.ToArray(); } Course course = dbContext.Courses.FindById(courseId); var fileToAdd = new CourseFile(fileData, file.FileName, file.ContentType, course); dbContext.Files.Add(fileToAdd); }
// GET: CourseFiles/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } CourseFile courseFile = db.CourseFiles.Find(id); if (courseFile == null) { return(HttpNotFound()); } ViewBag.CourseID = new SelectList(db.Courses, "ID", "Title", courseFile.CourseID); return(View(courseFile)); }
private static List <CourseModel> LoadCourses(CourseFile courseFile, int folder) { var coursesList = courseFile.Courses .Where(v => v.Parent == folder) .Select(course => new CourseModel { Name = course.Name, Waypoints = LoadWaypoints(course) }) .ToList(); coursesList.ForEach(course => course.Lines = LoadLines(course)); coursesList.ForEach(course => course.Waypoints.ForEach(v => v.Course = course)); return(coursesList); }
private static List <FolderModel> LoadFolders(CourseFile courseFile, int parent = 0) { var folderList = courseFile.Folders .Where(v => v.Parent == parent) .Select(folder => new FolderModel { Name = folder.Name, Courses = LoadCourses(courseFile, folder.Id), Folders = LoadFolders(courseFile, folder.Id) }) .ToList(); folderList.ForEach(folder => folder.Courses.ForEach(v => v.Folder = folder)); return(folderList); }
private static CourseFile Save(CourseFileModel courseFileModel) { var courseFile = new CourseFile { CourseplayHud = courseFileModel.Header.CourseplayHud, Course2D = courseFileModel.Header.Course2D, CourseManagement = courseFileModel.Header.CourseManagement, CourseplayFields = courseFileModel.Header.CourseplayFields, CourseplayInGameMap = courseFileModel.Header.CourseplayInGameMap, CourseplayWages = courseFileModel.Header.CourseplayWages, }; Dictionary <FolderModel, int> indexFolder; courseFile.Folders = SaveFolders(courseFileModel, out indexFolder); courseFile.Courses = SaveCourses(courseFileModel, indexFolder); return(courseFile); }
public bool CreateCourseFile(CourseFileViewModel clientCourseFile) { using (var transaction = db.Database.BeginTransaction()) { try { CourseFile courseFiles = new CourseFile { CourseId = clientCourseFile.CourseId, Name = clientCourseFile.Name, Path = clientCourseFile.Path }; db.CourseFiles.Add(courseFiles); db.SaveChanges(); transaction.Commit(); return(true); } catch { throw; } } }
public IActionResult Download(string fileId) { CourseFile file = fileService.GetFileById(fileId); return(File(file.Data, file.ContentType, file.Name)); }