public ActionResult Edit(int id)
        {
            var characterRoster = _context.CharacterRosters.SingleOrDefault(c => c.Id == id);

            if (characterRoster == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new CharacterRosterFormViewModel
            {
                CharacterRoster = characterRoster
            };

            return(View("CharacterRosterForm", viewModel));
        }
        public ActionResult Save(CharacterRoster characterRoster, HttpPostedFileBase photo)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new CharacterRosterFormViewModel
                {
                    CharacterRoster = characterRoster
                };
                return(View("CharacterRosterForm", viewModel));
            }

            var characterRosterInDb = _context.CharacterRosters.SingleOrDefault(c => c.Id == characterRoster.Id) ??
                                      _context.CharacterRosters.Add(characterRoster);

            var characterRosterNnDbName = _context.CharacterRosters.SingleOrDefault(c => c.GameName == characterRoster.GameName);

            if (characterRosterNnDbName != null)
            {
                return(RedirectToAction("New"));
            }

            characterRosterInDb.GameName = characterRoster.GameName;

            var uploadHelper = new UploadHelper(Server);

            if (photo != null)
            {
                var filePath = uploadHelper.Upload(photo, nameof(CharacterRoster));

                if (!string.IsNullOrEmpty(filePath))
                {
                    characterRosterInDb.ImagePath = filePath;
                }
            }


            _context.SaveChanges();
            return(RedirectToAction("Index", "CharacterRostersAdmin"));
        }