Example #1
0
        protected void Application_PostAuthenticateRequest(Object sender, EventArgs e)
        {
            if (FormsAuthentication.CookiesSupported == true)
            {
                if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
                {
                    try
                    {
                        //let us take out the username now
                        string username = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name;
                        string roles    = string.Empty;

                        using (BudgieDBCFModel buc = new BudgieDBCFModel())
                        {
                            BudgieUser user = buc.budgieUsers.SingleOrDefault(u => u.emailAddress == username);

                            roles = user.roles;
                        }
                        //let us extract the roles from our own custom cookie


                        //Let us set the Principal with our user specific details
                        HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(
                            new System.Security.Principal.GenericIdentity(username, "Forms"), roles.Split(';'));
                    }
                    catch (Exception)
                    {
                        //somehting went wrong
                    }
                }
            }
        }
Example #2
0
        public void RemoveUser(BudgieUser budgieuser)
        {
            int id = 0;

            foreach (BudgieUser bu in bulist)
            {
                if (bu.emailAddress == budgieuser.emailAddress)
                {
                    id = bu.id;
                }
            }
            budgieUserDB.removeBudgieUser(id);
        }
Example #3
0
        public void RegisterUser(BudgieUser budgieuser)
        {
            budgieuser.roles = "User";

            budgieUserDB.addNewBudgieUser(budgieuser);

            Account newAccount = new Account()
            {
                accountNumber = budgieuser.lastName + budgieuser.dob, balance = 0, budget = 0, accountOwnerId = budgieuser.id
            };

            accountDB.addNewAccount(newAccount);
        }
Example #4
0
        public void UpdateUser(BudgieUser budgieuser)
        {
            int idUpdate = 0;

            foreach (BudgieUser bu in bulist)
            {
                if (bu.emailAddress == budgieuser.emailAddress)
                {
                    idUpdate = bu.id;
                }
            }

            budgieUserDB.updateBudgieUser(idUpdate, budgieuser.firstName, budgieuser.lastName, budgieuser.dob);
            accountLogic.updateNewAccount(idUpdate, budgieuser.lastName, budgieuser.dob);
        }
 public ActionResult UpdateUser(BudgieUser budgieuser)
 {
     if (buLogic.CheckForDuplicateEmail(budgieuser.emailAddress) == false)
     {
         if (Request.IsAjaxRequest())
         {
             return(PartialView("_failureUpdate"));
         }
     }
     else
     {
         buLogic.UpdateUser(budgieuser);
         if (Request.IsAjaxRequest())
         {
             return(PartialView("_successUpdate"));
         }
     }
     return(RedirectToAction("Index"));
 }
Example #6
0
        static void RemoveUser()
        {
            int id;

            BudgieDBCFModel      context = new BudgieDBCFModel();
            BudgieUserRepository bur     = new BudgieUserRepository(context);
            AccountRepository    ar      = new AccountRepository(context);

            Console.WriteLine(); Console.WriteLine("--- Removing an existing Budgie User ---"); Console.WriteLine();

            UpdatedList();

            Console.WriteLine();

            Console.WriteLine("Please enter the id of the Budgie User you wish to Remove: ");
            id = Convert.ToInt32(Console.ReadLine());

            BudgieUser budgieUserToRemove = context.budgieUsers.Find(id);
            Account    accountToRemove    = context.accounts.Where(a => a.accountOwnerId == id).First();

            Console.WriteLine();

            Console.WriteLine("The Budgie User " + budgieUserToRemove.firstName + " " + budgieUserToRemove.lastName + " " + budgieUserToRemove.emailAddress + " has been successfully removed.");
            bur.removeBudgieUser(id);
            //context.budgieUsers.Remove(budgieUserToRemove);

            Console.WriteLine();

            Console.WriteLine("The Bank Account " + accountToRemove.accountNumber + " has also been successfully removed.");

            //ar.removeAccount(id);     NOT REQUIRED, context.budgieUsers.Remove(budgieUserToRemove); will remove Account as well due to the link between FK and PK (accountOwnerId)
            //context.accounts.Remove(accountToRemove);

            Console.WriteLine();

            Console.WriteLine("Press any key to continue: ");
            Console.ReadLine();

            RestartApplication();
        }
        public ActionResult Login(BudgieUser budgieuser, string returnUrl)
        {
            // Lets first check if the Model is valid or not
            if (ModelState.IsValid)
            {
                using (budgieDBCFModel)
                {
                    string username = budgieuser.emailAddress;
                    string password = budgieuser.password;


                    bool userValid = budgieDBCFModel.budgieUsers.Any(user => user.emailAddress == username && user.password == password);

                    // User found in the database
                    if (userValid)
                    {
                        FormsAuthentication.SetAuthCookie(username, false);
                        if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") &&
                            !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                        {
                            return(Redirect(returnUrl));
                        }
                        else
                        {
                            return(RedirectToAction("Index", "Home"));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", "The email or password provided is incorrect.");
                    }
                }
            }

            // If we got this far, something failed, redisplay form
            return(View());
        }
Example #8
0
        static void AddUser()
        {
            string firstName, lastName, emailAddress, dob, password, confirmPassword;
            int    newAccountId = 0;

            BudgieDBCFModel      context = new BudgieDBCFModel();
            BudgieUserLogic      newUser = new BudgieUserLogic(new BudgieUserRepository(new BudgieDBCFModel()));
            BudgieUserRepository bur     = new BudgieUserRepository(context);
            AccountRepository    ar      = new AccountRepository(context);

            Console.WriteLine(); Console.WriteLine("--- Creating a new Budgie User ---"); Console.WriteLine();

            Console.WriteLine("Please enter your email address (e.g. [email protected]): ");
            emailAddress = (Console.ReadLine());
            bool isInDatabase = newUser.CheckForDuplicateEmail(emailAddress);

            if (isInDatabase == true)
            {
                Console.WriteLine("This email is already in use, please quit and log into your original account or restart the application and try again.");
            }
            else
            {
                Console.WriteLine();

                Console.WriteLine("Please enter your first name (e.g. Ben): ");
                firstName = (Console.ReadLine());

                Console.WriteLine();

                Console.WriteLine("Please enter your last name (e.g. Bowes): ");
                lastName = (Console.ReadLine());

                Console.WriteLine();

                Console.WriteLine("Please enter your date of birth (e.g. DDMMYY (040191)): ");
                dob = (Console.ReadLine());

                Console.WriteLine();

                Console.WriteLine("Please enter your new password: "******"Please confirm your new password: "******"Your passwords do not match, please restart the application and try again.");
                    Console.WriteLine();
                    RestartApplication();
                }
                else
                {
                    //Add
                    BudgieUser newBudgieUser = new BudgieUser()
                    {
                        firstName = firstName, lastName = lastName, emailAddress = emailAddress, dob = dob, password = password
                    };

                    bur.addNewBudgieUser(newBudgieUser);
                    //context.budgieUsers.Add(newBudgieUser);

                    //context.SaveChanges();

                    Console.WriteLine("New BudgieUser has been successfully registered: Name = " + newBudgieUser.firstName + " " + newBudgieUser.lastName);
                    Console.WriteLine();
                    Console.WriteLine("Automatically creating a new bank account...");
                    Console.WriteLine();

                    foreach (BudgieUser budgieUser in context.budgieUsers)
                    {
                        if (emailAddress == budgieUser.emailAddress)
                        {
                            newAccountId = budgieUser.id;
                        }
                    }

                    Account newAccount = new Account()
                    {
                        accountNumber = lastName + dob, balance = 0, budget = 0, accountOwnerId = newAccountId
                    };

                    ar.addNewAccount(newAccount);
                    //context.accounts.Add(newAccount);

                    Console.WriteLine("Your new account has been successfully created: Account Number = " + newAccount.accountNumber);
                    Console.WriteLine();
                    Console.WriteLine("You may log in and start smart budgeting your finances today! Thank you for joining Budgie.");
                }
            }
            RestartApplication();
        }