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))); }
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))); }
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")); }