public ActionResult Approve(ApproveOfflineDepositRequest approveCommand)
        {
            if (ModelState.IsValid == false)
            {
                return(this.Failed());
            }

            var response = GetAdminApiProxy(Request).ApproveOfflineDeposit(approveCommand);

            return(response.Success
                ? this.Success("app:payment.deposit.successfullyApproved")
                : this.Failed(response.Errors));
        }
        public ApproveOfflineDepositResponse Approve(ApproveOfflineDepositRequest request)
        {
            VerifyPermission(Permissions.Approve, Modules.DepositApproval);

            var data = _paymentQueries.GetDepositByIdForViewRequest(request.Id);

            CheckBrand(data.BrandId);

            var command = Mapper.Map <OfflineDepositApprove>(request);

            try
            {
                _offlineDepositCommands.Approve(command);
            }
            catch (RegoException ex)
            {
                var errors = new List <ValidationError> {
                    new ValidationError {
                        ErrorMessage = ex.Message
                    }
                };

                return(new ApproveOfflineDepositResponse
                {
                    Success = false,
                    Errors = errors
                });
            }
            catch (PaymentSettingsViolatedException ex)
            {
                var errors = new List <ValidationError> {
                    new ValidationError
                    {
                        //PropertyName = ex.Message,
                        ErrorMessage = ex.Message
                    }
                };

                return(new ApproveOfflineDepositResponse
                {
                    Success = false,
                    Errors = errors
                });
            }

            return(new ApproveOfflineDepositResponse
            {
                Success = true
            });
        }
Example #3
0
 public ApproveOfflineDepositResponse ApproveOfflineDeposit(ApproveOfflineDepositRequest request)
 {
     return(WebClient.SecurePostAsJson <ApproveOfflineDepositRequest, ApproveOfflineDepositResponse>(Token, _url + AdminApiRoutes.ApproveOfflineDeposit, request));
 }