示例#1
0
        public ActionResult RegisterUser(string userInfo)
        {
            //convert the arguement into an anonymous type for processing
            var userDef = new { userName = "", passWord = "" };
            var user    = JsonConvert.DeserializeAnonymousType(userInfo, userDef);

            string result;

            List <AltSourceUser> users = (List <AltSourceUser>)AltSourceCache.Cache["users"];

            //check to see if user already exists
            if (users.FirstOrDefault <AltSourceUser>(u => u.username.Equals(user.userName, StringComparison.InvariantCultureIgnoreCase)) == null)
            {
                //user doesn't exist create and return success message
                AltSourceUser newuser = AltSourceUser.CreateUser(user.userName, user.passWord);
                ((List <AltSourceUser>)AltSourceCache.Cache["users"]).Add(newuser);

                //create a new bank account for the new user
                BankAccount acct = BankAccount.NewAccount(newuser.username);
                ((List <BankAccount>)AltSourceCache.Cache["accounts"]).Add(acct);

                result = "SUCCESS";
            }
            else
            {
                //let interface know of duplicate account isssue
                result = "DUPLICATE";
            }

            return(Content(result, "text/plain"));
        }
示例#2
0
        //log into the system
        private static void login()
        {
            List <AltSourceUser> users = (List <AltSourceUser>)AltSourceCache.Cache["users"];
            string uname = "";
            string pwd   = "";

            Console.WriteLine("Enter your user name. Enter 'C' to cancel:");

            while (!success)
            {
                response = Console.ReadLine().Trim();

                if (response.ToUpper() == "C")
                {
                    return;
                }

                //ensure that there is a user whose name the entry
                AltSourceUser user = users.FirstOrDefault <AltSourceUser>(u => u.username.Equals(response, StringComparison.InvariantCultureIgnoreCase));
                if (user != null)
                {
                    success = true;
                    uname   = response;
                    while (pwd != user.password)
                    {
                        //get the password
                        Console.WriteLine("Enter your password:"******"Password is incorrect.");
                        }
                    }

                    loggedin    = true;
                    currentUser = uname;

                    //create a new bank account if one does not exist for the user
                    account = ((List <BankAccount>)AltSourceCache.Cache["accounts"]).FirstOrDefault <BankAccount>(a => a.AccountOwner.Equals(currentUser, StringComparison.InvariantCultureIgnoreCase));
                    if (account == null)
                    {
                        account = BankAccount.NewAccount(user.username);
                        ((List <BankAccount>)AltSourceCache.Cache["accounts"]).Add(account);
                    }
                }
                else
                {
                    Console.WriteLine("We could not find this user name. Please try again or enter 'C' to cancel.");
                }
            }
        }
示例#3
0
        private static void registerUser()
        {
            //get the list of users
            List <AltSourceUser> users = (List <AltSourceUser>)AltSourceCache.Cache["users"];
            string uname;
            string pwd;

            Console.WriteLine("Enter a unique user name. Enter 'C' to cancel:");

            while (!success)
            {
                response = Console.ReadLine().Trim();

                if (response.ToUpper() == "C")
                {
                    //user cancellation
                    return;
                }

                //check to ensure the user name is unique within the currently cached objects
                if (users.FirstOrDefault <AltSourceUser>(u => u.username.Equals(response, StringComparison.InvariantCultureIgnoreCase)) == null)
                {
                    //user name is unique, create the user and a new bank account
                    success = true;
                    uname   = response;
                    pwd     = CreatePassword();

                    AltSourceUser user = AltSourceUser.CreateUser(uname, pwd);
                    ((List <AltSourceUser>)AltSourceCache.Cache["users"]).Add(user);

                    BankAccount acct = BankAccount.NewAccount(user.username);
                    ((List <BankAccount>)AltSourceCache.Cache["accounts"]).Add(acct);

                    Console.WriteLine("Thank you for registering. Your new account # is " + acct.AccountID.ToString() + ".");
                }
                else
                {
                    //alert the user to the duplicate entry so that they can try again or Cancel
                    Console.WriteLine("This user name has already been registered. Please enter a new name or enter 'C' to cancel and login.");
                }
            }
        }
示例#4
0
        public ActionResult LoginUser(string userInfo)
        {
            //convert the arguement into an anonymous type for processing            List<AltSourceUser> users = (List<AltSourceUser>)AltSourceCache.Cache["users"];
            var userDef = new { userName = "", passWord = "" };
            var vUser   = JsonConvert.DeserializeAnonymousType(userInfo, userDef);

            string result;

            List <AltSourceUser> users = (List <AltSourceUser>)AltSourceCache.Cache["users"];
            AltSourceUser        user  = users.FirstOrDefault <AltSourceUser>(u => u.username.Equals(vUser.userName, StringComparison.InvariantCultureIgnoreCase) && u.password.Equals(vUser.passWord));

            //make sure the user exists and that the password is correct
            if (user != null)
            {
                //everything checks out,
                result = "SUCCESS";
                Session["currentUser"] = user.username;

                //make sure that the user has an account (they should, but good to check
                BankAccount account;
                account = ((List <BankAccount>)AltSourceCache.Cache["accounts"]).FirstOrDefault <BankAccount>(a => a.AccountOwner.Equals(user.username, StringComparison.InvariantCultureIgnoreCase));
                if (account == null)
                {
                    account = BankAccount.NewAccount(user.username);
                    ((List <BankAccount>)AltSourceCache.Cache["accounts"]).Add(account);
                }

                Session["CurrentAccount"] = account;
            }
            else
            {
                //notify interface of login failure
                result = "FAILURE";;
            }

            return(Content(result, "text/plain"));
        }