コード例 #1
0
        public async Task <ActionResult> TransfersList(TransfersPageViewModel vm)
        {
            if (string.IsNullOrEmpty(vm.SelectedMerchant))
            {
                return(this.JsonFailResult(Phrases.FieldShouldNotBeEmpty, "#selectedMerchant"));
            }

            var list       = new List <RequestTransferModel>();
            var assetsList = new List <string>();
            var viewModel  = new TransfersListViewModel();

            try
            {
                var paymentrequests = await _payInternalClient.GetPaymentRequestsAsync(vm.SelectedMerchant);

                var addresses = paymentrequests.Where(p => (p.Status == PaymentRequestStatus.Confirmed || p.Status == PaymentRequestStatus.Error) &&
                                                      p.Amount > 0).ToList();
                assetsList.Add("None");
                foreach (var request in addresses)
                {
                    var requestdetails = await _payInternalClient.GetPaymentRequestDetailsAsync(vm.SelectedMerchant, request.Id);

                    var tm = new RequestTransferModel();
                    tm.Amount         = requestdetails.Transactions.Sum(x => x.Amount).ToString();
                    tm.AssetId        = request.PaymentAssetId;
                    tm.PaymentRequest = request;
                    tm.SourceWallet   = requestdetails.Transactions.SelectMany(x => x.SourceWalletAddresses).ToList();
                    if (vm.SelectedAsset == "None" || tm.AssetId == vm.SelectedAsset)
                    {
                        list.Add(tm);
                    }
                    if (!assetsList.Contains(request.PaymentAssetId))
                    {
                        assetsList.Add(request.PaymentAssetId);
                    }
                }
            }
            catch (Exception ex)
            {
                viewModel.Error = ex.InnerException.Message;
            }
            viewModel.List             = list;
            viewModel.SelectedMerchant = vm.SelectedMerchant;
            viewModel.Assets           = JsonConvert.SerializeObject(assetsList);
            viewModel.IsFullAccess     = (this.GetUserRolesPair()).HasAccessToFeature(UserFeatureAccess.LykkePayTransfersFull);
            return(View(viewModel));
        }
コード例 #2
0
 protected override void HandleOnNavigatedTo(NavigationEventArgs e)
 {
     base.HandleOnNavigatedTo(e);
     if (!this._isInitialized)
     {
         this._viewModel  = new TransfersListViewModel();
         base.DataContext = this._viewModel;
         this._viewModel.Inbox.LoadData(false, false, null, false);
         this._isInitialized = true;
     }
     else
     {
         if (!ParametersRepository.Contains("SelectedUsers"))
         {
             return;
         }
         User targetUser = Enumerable.First <User>((List <User>)ParametersRepository.GetParameterForIdAndReset("SelectedUsers"));
         this.SkipNextNavigationParametersRepositoryClearing = true;
         Navigator.Current.NavigateToSendMoneyPage(targetUser.id, targetUser, 0, "");
     }
 }
コード例 #3
0
        public void Index_Action_Returns_The_List_Of_Bank_Trasnfers()
        {
            /*
             *   Arrange
             * 1º - Create a dummy list of transfers
             * 2º - Initialize stub of IBankingManagementService
             * 3º - Create controller to test
             */

            IList <BankTransfer> transfers = GetFakeTransfers();


            SIBankingManagementService bankingService = new SIBankingManagementService();

            bankingService.FindBankTransfersInt32Int32 = (page, pageSize)
                                                         =>
            {
                return(transfers.Skip(page * pageSize).Take(pageSize).ToList());
            };

            BankAccountController controller = new BankAccountController(bankingService);


            //Act

            ViewResultBase result = controller.Index(0, 5) as ViewResult;


            //Assert
            Assert.IsNotNull(result, "The action result is null or is not an instance of ViewResult");

            TransfersListViewModel model = result.ViewData.Model as TransfersListViewModel;

            Assert.IsNotNull(model, "The model is null or is not an instance of TransfersListViewModel");

            IList <BankTransfer> modelTransfers = (model.PageItems as IEnumerable <BankTransfer>).ToList();
        }