public async Task <ActionResult> DeclineByPlayer(AddCommentViewModel viewModel) { var claim = await _claimsRepository.GetClaim(viewModel.ProjectId, viewModel.ClaimId); var error = WithMyClaim(claim); if (error != null) { return(error); } try { if (viewModel.HideFromUser) { throw new DbEntityValidationException(); } await _claimService.DeclineByPlayer(claim.ProjectId, claim.ClaimId, CurrentUserId, viewModel.CommentText); return(RedirectToAction("Edit", "Claim", new { viewModel.ClaimId, viewModel.ProjectId })); } catch { //TODO: Message that comment is not added return(RedirectToAction("Edit", "Claim", new { viewModel.ClaimId, viewModel.ProjectId })); } }
public async Task <ActionResult> DeclineByPlayer(ClaimOperationViewModel viewModel) { var claim = await _claimsRepository.GetClaim(viewModel.ProjectId, viewModel.ClaimId); if (claim == null) { return(HttpNotFound()); } if (claim.PlayerUserId != CurrentUserId) { return(NoAccesToProjectView(claim.Project)); } try { if (!ModelState.IsValid) { return(await ShowClaim(claim)); } await _claimService.DeclineByPlayer(claim.ProjectId, claim.ClaimId, viewModel.CommentText); return(ReturnToClaim(viewModel)); } catch (Exception exception) { ModelState.AddException(exception); return(await ShowClaim(claim)); } }