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)); }
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, ""); } }
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(); }