// // GET: /Characters/Edit/?Name=<Name> public ActionResult Edit(string Name) { if (!Manager.IsReallyAuthenticated(Request)) return RedirectToAction("LogOn", "Account"); var character = Character.Store.ReadOneOrDefault(c => c.Name == Name); if (null == character) return RedirectToAction("Index", "Characters"); if (Manager.GetCurrentUser().ID != character.AccountID) return RedirectToAction("Index", "Characters"); var model = new EditCharacterModel() { OldName = character.Name, Name = character.Name, Level = character.Level.ToString(), Race = character.Race, Class = character.Class, PrimarySpecialization = character.PrimarySpecialization, SecondarySpecialization = character.SecondarySpecialization }; return View(model); }
public ActionResult Edit(EditCharacterModel model) { if (!Manager.IsReallyAuthenticated(Request)) return RedirectToAction("LogOn", "Account"); var character = new Character() { Name = model.Name, Level = int.Parse(model.Level), Race = model.Race, Class = model.Class, AccountID = Manager.GetCurrentUser().ID, PrimarySpecialization = model.PrimarySpecialization, SecondarySpecialization = model.SecondarySpecialization }; string errorMsg; if (!Character.Store.TryModify(model.OldName, character, out errorMsg)) return new JsonResult() { Data = new AddCharacterResponse(false, errorMsg) }; return new JsonResult() { Data = new AddCharacterResponse(true, "") }; }