示例#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
        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.");
                }
            }
        }