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> 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> Edit(EditCharacterViewModel viewModel) { var field = await ProjectRepository.GetCharacterAsync(viewModel.ProjectId, viewModel.CharacterId); var error = AsMaster(field, s => s.CanEditRoles); if (error != null) { return(error); } 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, 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))); } }