Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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());
            }
        }
Ejemplo n.º 4
0
        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"));
        }