Пример #1
0
        public async Task <ActionResult> TransferClaimPayment(int projectId, int claimId)
        {
            var claim = await _claimsRepository.GetClaim(projectId, claimId);

            if (claim == null)
            {
                return(NotFound());
            }
            var error = WithClaim(claim);

            if (error != null)
            {
                return(error);
            }


            IReadOnlyCollection <Claim> claims = await _claimsRepository.GetClaimsForMoneyTransfersListAsync(
                claim.ProjectId,
                ClaimStatusSpec.ActiveOrOnHold);

            if (claims.Count == 0 || (claims.Count == 1 && claims.First().ClaimId == claimId))
            {
                return(View("Error", new ErrorViewModel
                {
                    Title = "Ошибка",
                    Message = "Невозможно выполнить перевод, так как нет активных или отложенных заявок",
                    ReturnLink = Url.Action("Edit", "Claim", new { projectId, claimId }),
                    ReturnText = "Вернуться к заявке"
                }));
            }

            return(View("PaymentTransfer", new PaymentTransferViewModel(claim, claims)));
        }