public void Transfer_Money_Shows_A_List_Of_Bank_Accounts()
        {
            /*
             *   Arrange
             * 1º - Create a dummy list of transfers
             * 2º - Initialize stub of IBankingManagementService
             * 3º - Create controller to test
             */

            IList <BankAccount> accounts = GetFakeBankAccounts();

            SIBankingManagementService bankingService = new SIBankingManagementService();

            bankingService.FindPagedBankAccountsInt32Int32 = (page, pageSize) => accounts.Skip(page * pageSize).Take(pageSize).ToList();

            BankAccountController controller = new BankAccountController(bankingService);

            //Act
            ViewResultBase result = controller.TransferMoney() as ViewResult;

            //Assert
            Assert.IsNotNull(result);

            BankAccountListViewModel model = result.ViewData.Model as BankAccountListViewModel;

            Assert.IsNotNull(model);
        }
예제 #2
0
        public DashboardViewModel(
                    BankListViewModel banksViewModel,
                    BankAccountListViewModel bankAccountsViewModel,
                    TransferListViewModel transferListViewModel
                    )
        {
            this.banksViewModel = banksViewModel;
            this.bankAccountsViewModel = bankAccountsViewModel;
            this.transferListViewModel = transferListViewModel;

            ReloadCommand = base.AddNewCommand(new ActionCommand(Reload));
            AddCommand = base.AddNewCommand(new ActionCommand(Add));
            EditCommand = base.AddNewCommand(new ActionCommand(Edit,CanEdit));
            DeleteCommand = base.AddNewCommand(new ActionCommand(Delete, CanDelete));
        }
예제 #3
0
        public async Task <IActionResult> Index()
        {
            var viewModel = new BankAccountListViewModel();

            try
            {
                viewModel.BankAccounts = await _bankAccountService.GetAll();
            }
            catch (Exception e)
            {
                viewModel.Error = new Shared.Models.GackoError(e);
            }

            return(View("Index", viewModel));
        }
예제 #4
0
        // Only household owner can create, edit, delete BankAccounts
        // Other members of the household can view the bank accounts

        // GET: HouseholdBankAccounts
        public ActionResult HouseholdBankAccounts(int?Id)
        {
            if (Id is null)
            {
                TempData.Add("Message", "Improper Id");
                TempData.Add("MessageColour", "danger");
                return(RedirectToAction("Index", "Household"));
            }

            var url = $"{ProjectConstants.APIURL}/api/bankaccount/getallbyhousehold/{Id}";

            var token      = Request.Cookies["UserAuthCookie"].Value;
            var authHeader = new AuthenticationHeaderValue("Bearer", token);

            HttpClientContext.httpClient.DefaultRequestHeaders.Authorization = authHeader;

            // Handling lack of connection??? try catch?
            var response = HttpClientContext.httpClient.GetAsync(url).Result;

            if (response.IsSuccessStatusCode)
            {
                var responseResult = response.Content.ReadAsStringAsync().Result;

                var datas     = JsonConvert.DeserializeObject <List <BankAccountViewModel> >(responseResult);
                var viewModel = new BankAccountListViewModel
                {
                    BankAccounts     = datas,
                    HouseholdId      = (int)Id,
                    IsHouseholdOwner = HouseholdHelpers.IsUserCreator((int)Id, Request, TempData)
                };
                return(View(viewModel));
            }
            else
            {
                ErrorHelpers.HandleResponseErrors(response, TempData, ModelState);
                return(RedirectToAction("Index", "Household"));
            }
        }
 /// <summary>
 /// Displays a view to perform transferences between accounts.
 /// </summary>
 /// <returns>A view to perform transferences and lock accounts.</returns>
 public ActionResult TransferMoney()
 {
     BankAccountListViewModel accounts = new BankAccountListViewModel(_BankingService.FindPagedBankAccounts(0, int.MaxValue));
     return View(accounts);
 }
예제 #6
0
        /// <summary>
        /// Displays a view to perform transferences between accounts.
        /// </summary>
        /// <returns>A view to perform transferences and lock accounts.</returns>
        public ActionResult TransferMoney()
        {
            BankAccountListViewModel accounts = new BankAccountListViewModel(_BankingService.FindPagedBankAccounts(0, int.MaxValue));

            return(View(accounts));
        }