public ActionResult Edit(PlayerViewModel viewmodel, HttpPostedFileBase avatar) { if (ModelState.IsValid) { Player currentPlayer = _playerDb.Find(viewmodel.ID); if (currentPlayer == null) return HttpNotFound(); currentPlayer.Name = viewmodel.Name; currentPlayer.RBI = viewmodel.RBI; currentPlayer.HomeRun = viewmodel.HomeRuns; currentPlayer.Average = viewmodel.Average; currentPlayer.TeamId = viewmodel.TeamId; try { _playerDb.Update(currentPlayer); if (avatar != null && avatar.ContentLength > 0) { PlayerAvatarImage currentImage = new PlayerAvatarImage(Server, currentPlayer.AvatarName); try { System.IO.File.Delete(currentImage.AbsolutePath); } catch (Exception e) { // } var image = AvatarUploader.UploadFile2(Server, avatar, currentPlayer.ID, AvatarTypeEnum.Player); currentPlayer.AvatarName = image.Name; _playerDb.Update(currentPlayer);//updates the new image file name } return RedirectToAction("Details", new { id = currentPlayer.ID }); } catch (CustomExceptionBase e) { ModelState.AddModelError("", e.Message); } catch (Exception e) { //log error ModelState.AddModelError("", GenericErrorMessage); } } viewmodel.TeamSelectList = DropDownHelper.BuildTeamSelectList(_teamDb); return View(viewmodel); }
public ActionResult Delete(PlayerViewModel viewmodel) { try { var player = _playerDb.Find(viewmodel.ID); if (player == null) return HttpNotFound(); PlayerAvatarImage image = new PlayerAvatarImage(Server, player.AvatarName); try { System.IO.File.Delete(image.AbsolutePath); } catch (Exception e) { //log error... //continue this method } } catch (Exception e) { //log error ModelState.AddModelError("", GenericErrorMessage); return View(viewmodel); } try { _playerDb.Delete(viewmodel.ID); } catch (Exception e) { //log error, redirect to error view isntead ModelState.AddModelError("", GenericDatabaseError); return View(viewmodel); } return RedirectToAction("Index"); }