Esempio n. 1
0
 public IActionResult Edit(CreateEditGameViewModel game)
 {
     if (!ModelState.IsValid)
     {
         return(View(game));
     }
     _gameRepository.SaveGame(new Game {
         Title = game.Title, GameId = game.GameId
     });
     TempData["SuccessMessage"] = Constants.GeneralSuccessMessage;
     return(RedirectToAction(nameof(List)));
 }
Esempio n. 2
0
        public async Task <IActionResult> Edit(CreateEditGameViewModel game)
        {
            string extension = null;

            if (game.Photo != null)
            {
                extension = Path.GetExtension(game.Photo.FileName).ToLowerInvariant();
                if (string.IsNullOrEmpty(extension) || !Constants.PicturePermittedExtensions.Contains(extension))
                {
                    ModelState.AddModelError(nameof(CreateEditGameViewModel.Photo),
                                             $"{Constants.WrongFileExtension}, allowed file types: {string.Join(" ,", Constants.PicturePermittedExtensions)}.");
                }

                if (game.Photo.Length > Constants.FileSizeLimit)
                {
                    ModelState.AddModelError(nameof(CreateEditGameViewModel.Photo),
                                             $"{Constants.WrongFileSize}, max: {Constants.FileSizeLimit.ToString()}.");
                }
            }

            if (!ModelState.IsValid)
            {
                return(View(game));
            }
            var editedGame     = _gameRepository.GetGame(game.GameId) ?? new Game();
            var uniqueFileName = editedGame.PhotoPath;
            var fileName       = editedGame.PhotoName;

            if (game.Photo != null)
            {
                var uploadsFolder = SetUploadsFolder();
                if (editedGame.PhotoPath != null)
                {
                    DeleteGamePhoto(editedGame, uploadsFolder);
                }

                uniqueFileName = $"{Guid.NewGuid().ToString()}{extension}";
                var filePath = Path.Combine(uploadsFolder, uniqueFileName);
                fileName = game.Photo.FileName;
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    await game.Photo.CopyToAsync(fileStream);
                }
            }

            _gameRepository.SaveGame(new Game
            {
                Title     = game.Title, GameId = game.GameId,
                PhotoPath = uniqueFileName, PhotoName = fileName
            });
            TempData["SuccessMessage"] = Constants.GeneralSuccessMessage;
            return(RedirectToAction(nameof(List)));
        }
Esempio n. 3
0
        public IActionResult Edit(int id)
        {
            // bozy: linq: var game1 = (from item in _gameRepository.Games where item.GameId == id select item).FirstOrDefault();
            var game = _gameRepository.Games.FirstOrDefault(g => g.GameId == id);

            if (game != null)
            {
                var vm = new CreateEditGameViewModel
                {
                    Title  = game.Title,
                    GameId = game.GameId
                };
                return(View(vm));
            }
            _logger.LogCritical(Constants.UnknownId + " of game");
            return(RedirectToAction(nameof(ErrorController.Error), "Error"));
        }