public async Task <IActionResult> Payment(string id, PaymentViewModel paymentViewModel, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                ViewData["ReturnUrl"] = returnUrl;
                ViewData["Title"]     = "Payment";
                return(View(paymentViewModel));
            }

            var bankService = new BankServiceClient();
            var operation   = new Operation
            {
                Amount        = paymentViewModel.Amount,
                DestinationId = id,
                SourceId      = "Payment",
                Title         = "Payment",
                OperationType = Operation.OperationTypes.Payment
            };

            try
            {
                await bankService.ExecuteOperationAsync(operation);
            }
            catch (FaultException exception)
            {
                ViewData["Title"] = "Payment";
                ViewData["Error"] = exception.Message;

                return(View("Payment"));
            }

            return(RedirectToAction("Overview"));
        }
        public async Task <IActionResult> Transfer(string id, TransferViewModel transferViewModel, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                ViewData["ReturnUrl"] = returnUrl;
                return(View(transferViewModel));
            }

            var bankService = new BankServiceClient();

            var operation = new Operation
            {
                SourceId      = id,
                DestinationId = transferViewModel.DestinationId,
                Amount        = transferViewModel.Amount,
                Title         = transferViewModel.Title,
                OperationType = Operation.OperationTypes.Transfer
            };

            try
            {
                await bankService.ExecuteOperationAsync(operation);
            }
            catch (FaultException exception)
            {
                ViewData["Error"] = exception.Message;

                return(View());
            }

            return(RedirectToAction("Overview"));
        }