Esempio n. 1
0
        public async Task <IActionResult> CashWithdrawal(TransactionViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model = new TransactionViewModel {
                    StatusMessage = "Please correct the errors"
                };
                //SetCustomerAccountViewItems();
                return(View(model));
            }

            var user = await _userManager.GetUserAsync(User);

            var requirementResult = _cashService.ValidateCashWithdrawalRequirement(model, user.UserName);

            if (requirementResult != null)
            {
                foreach (var error in _validationDictionary.GetValidationErrors())
                {
                    model = new TransactionViewModel {
                        StatusMessage = error
                    };
                    return(View(model));
                }
            }

            //If here, then its a new branch
            Result = await _cashService.CreateCashWithdrawalAsync(model, user.UserName);

            if (Result.Equals("Succeeded"))
            {
                StatusMessage = _config.GetSection("Messages")["Success"];
                return(RedirectToAction(nameof(CashWithdrawal)));
            }
            else
            {
                StatusMessage = "Error: Unable to create withdrawal transaction";
                return(View(model));
            }
        }