//GET: /Video/Created public ActionResult Created(VideoFileItem viewModel) { using (var dataBase = new ApplicationDbContext()) { return(View(viewModel)); } }
public ActionResult Delete(VideoFileItem model) { model.IsDeleted = true; using (var dataBase = new ApplicationDbContext()) { var videoFileItemForDelete = dataBase.Video.SingleOrDefault(VideoFileItem => VideoFileItem.Id == model.Id); if (videoFileItemForDelete != null) { videoFileItemForDelete.IsDeleted = true; dataBase.SaveChanges(); var serverPath = Server.MapPath(videoFileItemForDelete.FilePath); if (System.IO.File.Exists(serverPath)) { System.IO.File.Delete(serverPath); } model = videoFileItemForDelete; } } //Successfully deleted return(View("Deleted", model)); }
private void ReloadFileList(string fullPath) { _logger.LogTrace($"{App.GetCaller()}() entered"); bool foundVideos = false; var videoExtensions = _appSettings.VideoExtensions.Split(',').Select(p => p.Trim().ToUpper()).ToList(); _vm.FileList = new ObservableCollection <VideoFileItem>(); foreach (string f in Directory.GetFiles(fullPath)) { // Only display valid video files if (videoExtensions.Contains(System.IO.Path.GetExtension(f).ToUpper())) { foundVideos = true; var fileItem = new VideoFileItem() { ImageSource = "/Images/video.png", FullPath = f, Text = Path.GetFileName(f) }; // Determine whether this video has subtitles _appSettings = _services.GetRequiredService <IWritableOptions <AppSettings> >().Value; if (fileItem.GenerateSubtitleInfo(_appSettings.DefaultLanguage, _allCultureInfos) == true) { _vm.FileList.Add(fileItem); } else { _logger.LogError($"Unable to look up culture info for language '{_appSettings.DefaultLanguage}'"); } } } if (!foundVideos) { var notFoundItem = new VideoFileItem() { Text = $"(No videos were found in folder '{new DirectoryInfo(fullPath).Name}')" }; _vm.FileList.Add(notFoundItem); } _logger.LogTrace($"{App.GetCaller()}() exiting"); }
public ActionResult Edit(VideoFileItem viewModel, HttpPostedFileBase uploadVideoFile) { using (var dataBase = new ApplicationDbContext()) { var itemForEdit = dataBase.Video.SingleOrDefault(item => item.Id == viewModel.Id); if (itemForEdit != null) { if (uploadVideoFile != null) { string fileName = Path.GetFileName(uploadVideoFile.FileName); int fileSize = uploadVideoFile.ContentLength; var filePath = "~/VideoFileUpload/" + fileName; uploadVideoFile.SaveAs(Server.MapPath(filePath)); viewModel.Name = fileName; viewModel.FilePath = filePath; viewModel.FileSize = fileSize; } else { viewModel.Name = itemForEdit.Name; viewModel.FilePath = itemForEdit.FilePath; viewModel.FileSize = itemForEdit.FileSize; } itemForEdit.IsDeleted = false; itemForEdit.Title = viewModel.Title; itemForEdit.Description = viewModel.Description; itemForEdit.Name = viewModel.Name; itemForEdit.FilePath = viewModel.FilePath; itemForEdit.FileSize = viewModel.FileSize; dataBase.SaveChanges(); } } //Successfully deleted return(View("Modified", viewModel)); }
public ActionResult Add(VideoFileItem viewModel, HttpPostedFileBase uploadVideoFile) { var videoFileItem = new VideoFileItem(); if (ModelState.IsValid) { using (var dataBase = new ApplicationDbContext()) { if (uploadVideoFile != null) { string fileName = Path.GetFileName(uploadVideoFile.FileName); int fileSize = uploadVideoFile.ContentLength; var filePath = "~/VideoFileUpload/" + fileName; var serverPath = Server.MapPath(filePath); var directoryWithVideo = Path.GetDirectoryName(serverPath); if (!new DirectoryInfo(directoryWithVideo).Exists) { Directory.CreateDirectory(directoryWithVideo); } uploadVideoFile.SaveAs(serverPath); videoFileItem.Name = fileName; videoFileItem.FilePath = filePath; videoFileItem.FileSize = fileSize; videoFileItem.Title = viewModel.Title; videoFileItem.Description = viewModel.Description; videoFileItem.IsDeleted = false; dataBase.Video.Add(videoFileItem); dataBase.SaveChanges(); } } } //Successfully created return(View("Created", videoFileItem)); }
public ActionResult Add() { var viewModel = new VideoFileItem(); return(View(viewModel)); }