public async Task <IActionResult> Index() { List <MediaListViewModel> XpList = new List <MediaListViewModel>(); IEnumerable <Media> medias = await _dbContext.medias.Include(x => x.Category).ToListAsync(); IEnumerable <Media> sortedmedias = medias.OrderBy(x => x.Date); var media = new MediaEditViewModel(); foreach (var thing in sortedmedias) { MediaListViewModel Xp = new MediaListViewModel() { Id = thing.Id, Category = thing.Category.Name, Title = (string)thing.Title, Description = (string)thing.Description, Creator = (string)thing.Creator, Date = (DateTime)thing.Date, Rating = (int)thing.Rating, PhotoUrl = thing.PhotoUrl, Watched = thing.Watched }; XpList.Add(Xp); } return(View(XpList)); }
public async Task <IActionResult> Edit(int id) { Media mediaToEdit = await _dbContext.medias.Include(x => x.Category).FirstOrDefaultAsync(x => x.Id == id); var categories = await _dbContext.Categories.ToListAsync(); MediaEditViewModel evm = new MediaEditViewModel(); foreach (Category category in categories) { evm.Category.Add(new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem() { Value = category.Id.ToString(), Text = category.Name }); } evm.Rating = (int)mediaToEdit.Rating; evm.CategoryId = mediaToEdit.Category.Id; evm.Title = (string)mediaToEdit.Title; evm.Description = (string)mediaToEdit.Description; evm.Creator = (string)mediaToEdit.Creator; evm.Date = (DateTime)mediaToEdit.Date; evm.Watched = mediaToEdit.Watched; return(View(evm)); }
public ActionResult Edit(MediaEditViewModel viewModel) { try { if (viewModel.File == null && _unitOfWork.MediaRepo.GetById(viewModel.Id).CategoryId == viewModel.CategoryId) { RedirectToAction(nameof(Index)); } else if (viewModel.File != null) { List <IFormFile> files = new List <IFormFile> { viewModel.File }; var updateMedia = _unitOfWork.MediaRepo.GetById(viewModel.Id); updateMedia.CategoryId = viewModel.CategoryId; updateMedia.ImagePath = viewModel.File.FileName; _unitOfWork.UploadFile(files); _unitOfWork.MediaRepo.Update(updateMedia); _unitOfWork.Save(); RedirectToAction(nameof(Index)); } else if (_unitOfWork.MediaRepo.GetById(viewModel.Id).CategoryId != viewModel.CategoryId) { List <IFormFile> files = new List <IFormFile> { viewModel.File }; var updateMedia = _unitOfWork.MediaRepo.GetById(viewModel.Id); updateMedia.CategoryId = viewModel.CategoryId; updateMedia.ImagePath = _unitOfWork.MediaRepo.GetById(viewModel.Id).ImagePath; _unitOfWork.UploadFile(files); _unitOfWork.Save(); RedirectToAction(nameof(Index)); } return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public async Task <IActionResult> Edit(int id, MediaEditViewModel vm) { Media changedmedia = await _dbContext.medias.Include(x => x.Category).FirstOrDefaultAsync(x => x.Id == id); changedmedia.Rating = vm.Rating; changedmedia.CategoryId = vm.CategoryId; changedmedia.Title = vm.Title; changedmedia.Description = vm.Description; changedmedia.Creator = vm.Creator; changedmedia.Date = vm.Date; changedmedia.Watched = vm.Watched; var media = _dbContext.medias.SingleOrDefault(a => a.Id == id); _dbContext.Remove(media); _dbContext.medias.Update(changedmedia); await _dbContext.SaveChangesAsync(); return(RedirectToAction("Index")); }