Beispiel #1
0
        public async Task <ActionResult> CustomerProfileInput(string name, string phone, string address)
        {
            bool success = false;

            try
            {
                OnlineBanking.BusinessProcess.ProfileManager profileManager = new BusinessProcess.ProfileManager();
                Customer customer = await profileManager.RequestCustomerProfile(User.Identity.GetUserName());

                if (customer != null)
                {
                    customer.address      = address;
                    customer.phone        = phone;
                    customer.customerName = name;
                    success = await profileManager.UpdateCustomerProfile(customer);
                }
                else
                {
                    success = false;
                }
            }
            catch (Exception)
            {
                success = false;
            }
            if (success)
            {
                ViewBag.StatusMessage = String.Format("Customer profile updated. Name:{0}, Phone:{1}, Address:{2}", name, phone, address);
            }
            else
            {
                ViewBag.StatusMessage = String.Format("Customer profile NOT updated. Name:{0}, Phone:{1}, Address:{2}", name, phone, address);
            }
            return(View());
        }
Beispiel #2
0
        public async Task <ActionResult> TransferFunds(String fromAccount, String toAccount, String ammount)
        {
            bool success = false;

            try
            {
                double Amount = double.Parse(ammount);
                OnlineBanking.BusinessProcess.ProfileManager profileManager = new BusinessProcess.ProfileManager();
                Customer customer = await profileManager.RequestCustomerProfile(User.Identity.GetUserName());

                if (customer != null)
                {
                    OnlineBanking.BusinessProcess.TransferManager transferManager = new BusinessProcess.TransferManager();
                    success = await transferManager.Transfer(fromAccount, toAccount, Amount, customer.customerID);
                }
                else
                {
                    success = false;
                }
            }
            catch (Exception)
            {
                success = false;
            }
            if (success)
            {
                ViewBag.transferFundSuccess = "The funds transfered successfully.";
            }
            else
            {
                ViewBag.transferFundSuccess = "There was a problem transfering the funds.";
            }
            return(View());
        }
Beispiel #3
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            // This doesn't count login failures towards account lockout
            // To enable password failures to trigger account lockout, change to shouldLockout: true
            var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout : false);

            // KWD added to return the account numbers and log the transaction
            BusinessProcess.ProfileManager profileManager = new BusinessProcess.ProfileManager();
            DataModel.Customer             customer       = await profileManager.RequestCustomerProfile(model.Email);

            BusinessProcess.IDValidationManager validationManager = new BusinessProcess.IDValidationManager();
            if (customer != null)
            {
                model.Address  = customer.address;
                model.accounts = customer.Accounts;


                switch (result)
                {
                case SignInStatus.Success:
                    validationManager.LogTransaction(customer.customerID, "Success");
                    return(RedirectToLocal(returnUrl));

                case SignInStatus.LockedOut:
                    validationManager.LogTransaction(customer.customerID, "Lockout");
                    return(View("Lockout"));

                case SignInStatus.RequiresVerification:
                    validationManager.LogTransaction(customer.customerID, "SendCode");
                    return(RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe }));

                case SignInStatus.Failure:
                default:
                    validationManager.LogTransaction(customer.customerID, "Invalid");
                    ModelState.AddModelError("", "Invalid login attempt.");
                    return(View(model));
                }
            }
            else
            {
                validationManager.LogTransaction(0, "Invalid");
                ModelState.AddModelError("", "Invalid login attempt.");
                return(View(model));
            }
        }