Example #1
0
        public void CompleteLoan()
        {
            var processvm = IoC.Get <ProcessViewModel>();

            processvm.Content = "Processing...";

            processvm.ProcessAction = () =>
            {
                var transaction = new CustomerTransaction
                {
                    Id         = Guid.NewGuid(),
                    CustomerId = Customer.Id,
                    DateTime   = DateTimeOffset.Now,
                    Type       = CustomerTransactionType.Loan,
                    Amount     = Total
                };

                CustomerService.AddTransaction(transaction);

                Customer.Balance = CustomerService.GetCustomer(Customer.Id).Balance;
            };

            processvm.CompleteAction = () =>
            {
                var message = IoC.Get <MessageBoxViewModel>();
                message.Content = new CustomerTransactionInfo {
                    Customer = Customer, NewBalance = Customer.Balance
                };
                message.DismissAction  = () => ScreenCoordinator.NavigateToHome();
                message.DismissTimeout = 2500;

                ScreenCoordinator.NavigateToScreen(message);
            };

            ScreenCoordinator.NavigateToScreen(processvm);
        }