public async Task <ActionResult> Edit(EditCharacterViewModel viewModel) { var field = await CharacterRepository.GetCharacterAsync(viewModel.ProjectId, viewModel.CharacterId); try { if (!ModelState.IsValid) { return(View(viewModel.Fill(field, CurrentUserId))); } await CharacterService.EditCharacter( CurrentUserId, viewModel.CharacterId, viewModel.ProjectId, viewModel.Name, viewModel.IsPublic, viewModel.ParentCharacterGroupIds.GetUnprefixedGroups(), viewModel.IsAcceptingClaims&& field.ApprovedClaim == null, viewModel.HidePlayerForCharacter, Request.GetDynamicValuesFromPost(FieldValueViewModel.HtmlIdPrefix), viewModel.IsHot); return(RedirectToAction("Details", new { viewModel.ProjectId, viewModel.CharacterId })); } catch (Exception exception) { ModelState.AddException(exception); return(View(viewModel.Fill(field, CurrentUserId))); } }
public async Task <ActionResult> AddForCharacter(int projectid, int characterid) { var field = await CharacterRepository.GetCharacterAsync(projectid, characterid); if (field == null) { return(HttpNotFound()); } return(View("Add", AddClaimViewModel.Create(field, CurrentUserId))); }
public async Task <ActionResult> Delete(int projectid, int characterid) { var field = await CharacterRepository.GetCharacterAsync(projectid, characterid); if (field == null) { return(HttpNotFound()); } return(View(field)); }
public async Task <ActionResult> Delete(int projectId, int characterId, [UsedImplicitly] IFormCollection form) { var field = await CharacterRepository.GetCharacterAsync(projectId, characterId); try { await CharacterService.DeleteCharacter(projectId, characterId, CurrentUserId); return(RedirectToIndex(field.Project)); } catch { return(View(field)); } }
public async Task <ActionResult> Edit(EditCharacterViewModel viewModel) { var field = await CharacterRepository.GetCharacterAsync(viewModel.ProjectId, viewModel.CharacterId); try { if (!ModelState.IsValid) { return(View(viewModel.Fill(field, CurrentUserId))); } await ProjectService.EditCharacter( CurrentUserId, viewModel.CharacterId, viewModel.ProjectId, viewModel.Name, viewModel.IsPublic, viewModel.ParentCharacterGroupIds.GetUnprefixedGroups(), viewModel.IsAcceptingClaims&& field.ApprovedClaim == null, //Force this field to false if has approved claim viewModel.Description, viewModel.HidePlayerForCharacter, GetCustomFieldValuesFromPost(), viewModel.IsHot); return(RedirectToAction("Details", new { viewModel.ProjectId, viewModel.CharacterId })); } catch (Exception exception) { ModelState.AddException(exception); return(View(viewModel.Fill(field, CurrentUserId))); } }
public async Task <ActionResult <Character> > GetCharacterAsync(int id) { CharacterRepository result = new CharacterRepository(); return(await result.GetCharacterAsync(id));; }