public ActionResult Search()
        {
            ViewData["loginModal"] = -100;
            ViewData["UserLog"]    = true;
            if (User.Identity.Name != null || User.Identity.Name != "")
            {
                ViewData["UserLoggedIn"] = true;
                ViewData["Username"]     = User.Identity.Name;
            }
            else
            {
                ViewData["Username"] = null;
            }
            UserDBAccess db = new UserDBAccess();

            SessionVariables.UserData = db.GetUserInfoByName(User.Identity.Name);
            UsersDatabaseEntities entity = new UsersDatabaseEntities();
            int userID = SessionVariables.UserData.Id;
            //Get all the users
            List <GetAllUsers_Result> data = entity.GetAllUsers(userID).ToList();
            //Get the users friends
            List <GetUserFriends_Result> userFriends = entity.GetUserFriends(userID).ToList();

            ViewBag.userdetails = data;
            ViewBag.userFriends = userFriends;
            return(View());
        }
        public ActionResult TermsAgree(String id)
        {
            UserDBAccess db = new UserDBAccess();

            SessionVariables.UserData = db.GetUserInfoByName(User.Identity.Name);
            UsersDatabaseEntities entities = new UsersDatabaseEntities();

            //User agreed to terms of use
            entities.AgreeToTermsOfUse(SessionVariables.UserData.Id);
            return(Redirect("/Home/Index"));
        }
Пример #3
0
        public ActionResult Index()
        {
            ViewData["loginModal"] = -100;
            ViewData["Username"]   = User.Identity.Name;
            if (User.Identity.Name == null)
            {
                FormsAuthentication.SignOut();
            }

            UsersDatabaseEntities entity = new UsersDatabaseEntities();

            UserDBAccess db = new UserDBAccess();

            //If the user's data is null

            //In other words auto logged in

            if (SessionVariables.UserData == null)

            {
                //get the user's data

                SessionVariables.UserData = db.GetUserInfoByName(User.Identity.Name);
            }

            //set the users id
            int id = SessionVariables.UserData.Id;
            //check term of use agreements
            //0 = false 1=true
            int agree = Convert.ToInt32(entity.AgreedTermsUseFunc(id).FirstOrDefault());

            //redirect to agree to terms of use
            if (agree == 0)
            {
                return(Redirect("/User/TermsAgree"));
            }
            //check for friend requests
            var requests = entity.CheckFriendRequests(id);
            //Search for user friends and return their info by the user's id
            var data = entity.GetUserFriends(id).ToList();

            //Get links data
            List <GetUserSocialLinks_Result> links = entity.GetUserSocialLinks(id).ToList();

            //Set view Data
            ViewBag.requests = requests;
            ViewBag.friends  = data;
            ViewBag.Links    = links;
            return(View());
        }
        public ActionResult RequestResponseNegative(String ids)
        {
            int idF = Convert.ToInt32(ids);
            UsersDatabaseEntities entity = new UsersDatabaseEntities();
            UserDBAccess          db     = new UserDBAccess();

            if (SessionVariables.UserData == null)
            {
                //get the user's data

                SessionVariables.UserData = db.GetUserInfoByName(User.Identity.Name);
            }

            //set the users id
            int id = SessionVariables.UserData.Id;

            entity.DenyFriendProc(idF, id);
            return(Redirect("/Home"));
        }
        public ActionResult Friends()
        {
            ViewData["loginModal"] = -100;
            ViewData["UserLog"]    = true;
            if (User.Identity.Name != null || User.Identity.Name != "")
            {
                ViewData["UserLoggedIn"] = true;
                ViewData["Username"]     = User.Identity.Name;
            }
            else
            {
                ViewData["Username"] = null;
            }
            UsersDatabaseEntities entity = new UsersDatabaseEntities();

            UserDBAccess db = new UserDBAccess();

            //If the user's data is null

            //In other words auto logged in

            if (SessionVariables.UserData == null)

            {
                //get the user's data

                SessionVariables.UserData = db.GetUserInfoByName(User.Identity.Name);
            }

            //set the users id
            int id = SessionVariables.UserData.Id;
            //Search for user friends and return their info by the user's id
            var data = entity.GetAllUsersFunc(id);

            foreach (GetAllUsersFunc_Result user in data)
            {
                if (!user.friend.HasValue) //if null
                {
                }
            }
            ViewBag.friends = data;
            return(View());
        }
        public ActionResult Search(string searchUser)
        {
            ViewData["loginModal"] = -100;
            ViewData["UserLog"]    = true;
            if (User.Identity.Name != null || User.Identity.Name != "")
            {
                ViewData["UserLoggedIn"] = true;
                ViewData["Username"]     = User.Identity.Name;
            }
            else
            {
                ViewData["Username"] = null;
            }
            UsersDatabaseEntities entity = new UsersDatabaseEntities();
            //Search for user
            var data = entity.SearchUser(searchUser).ToList();

            ViewBag.userdetails = data;
            return(View());
        }
        public ActionResult AddFriend(string UserID)
        {
            UsersDatabaseEntities entity = new UsersDatabaseEntities();
            UserDBAccess          db     = new UserDBAccess();
            //create new friend
            FUID friend = new FUID();

            friend.BLOCK    = false;
            friend.FRIENDID = Convert.ToInt32(UserID);
            int userID = db.GetUserInfoByName(User.Identity.Name).Id;

            friend.USERID    = userID;
            friend.Confirmed = 1;
            List <GetUserFriends_Result> usersFriends = entity.GetUserFriends(userID).ToList();
            bool friended = false;

            //Check each id for if already friend
            foreach (GetUserFriends_Result uf in usersFriends)
            {
                if (uf.ID == userID)
                {
                    friended = true;
                }
            }
            if (!friended)
            {
                entity.AddNewFriend(friend.FRIENDID, friend.BLOCK, friend.USERID);
            }

            Users users = new Users
            {
                Id = friend.USERID
            };

            SessionVariables.UserData = users;

            return(Redirect("/User/Friends/"));
        }
        public ActionResult UserPage(string userName)
        {
            //get user data
            ViewData["loginModal"] = -100;
            ViewData["UserLog"]    = true;
            if (User.Identity.Name != null || User.Identity.Name != "")
            {
                ViewData["UserLoggedIn"] = true;
                ViewData["Username"]     = User.Identity.Name;
            }
            else
            {
                ViewData["Username"] = null;
            }
            //set the looked up user name
            ViewData["UserLookedUp"] = userName;
            //get searched user
            UsersDatabaseEntities entity = new UsersDatabaseEntities();
            UserDBAccess          db     = new UserDBAccess();

            //get user info by name
            SessionVariables.UserPage = db.GetUserInfoByName(userName);

            //set the users id
            int id = SessionVariables.UserPage.Id;

            //Search for user friends and return their info by the user's id
            var friends = entity.GetUserFriends(id).ToList();
            //Get links data
            List <GetUserSocialLinks_Result> links = entity.GetUserSocialLinks(id).ToList();

            //Set view Data
            ViewBag.friends = friends;
            ViewBag.Links   = links;
            return(View());
        }
        public ActionResult RequestResponsePositive(int ids)
        {
            int idF = Convert.ToInt32(ids);
            UsersDatabaseEntities entity = new UsersDatabaseEntities();
            UserDBAccess          db     = new UserDBAccess();

            if (SessionVariables.UserData == null)
            {
                //get the user's data

                SessionVariables.UserData = db.GetUserInfoByName(User.Identity.Name);
            }

            //set the users id
            int id = SessionVariables.UserData.Id;
            List <GetUserRequesterFunction_Result> requester = entity.GetUserRequesterFunction(idF, id).ToList();

            if (Convert.ToInt32(requester[0].Request) == 2)//if user accepting is also the one that requested
            {
                return(Redirect("/Home"));
            }
            entity.AcceptFriendProc(idF, id);
            return(Redirect("/Home"));
        }
        public ActionResult NewUserLink(FormCollection form)
        {
            ViewData["loginModal"] = -100;
            ViewData["UserLog"]    = true;
            if (User.Identity.Name != null || User.Identity.Name != "")
            {
                ViewData["UserLoggedIn"] = true;
                ViewData["Username"]     = User.Identity.Name;
            }
            else
            {
                ViewData["Username"] = null;
            }
            UserDBAccess          db       = new UserDBAccess();
            UsersDatabaseEntities entities = new UsersDatabaseEntities();
            int userID = db.GetUserInfoByName(User.Identity.Name).Id;
            //check user input
            Boolean check;
            string  input;
            int     mslid;

            linkEdit.NumLinks++;

            //make sure link is valid
            if (form["Url"].ToString() != null)
            {
                check = inputValidation.IsValidUrl(form["Url"].ToString());
            }
            else
            {
                check = false;
            }

            //url input of user and mslid selection
            input = form["Url"].ToString();
            mslid = Convert.ToInt32(form["Social"].ToString());

            /*
             * This creates a new row if not already made.
             * This also updates an mslid if already in database.
             */
            List <GetUserSocialLinks_Result> links = entities.GetUserSocialLinks(userID).ToList();
            Boolean found = false;

            //Check if mslid is used already and if link is used already
            foreach (GetUserSocialLinks_Result link in links)
            {
                if (link.userUrl == input || link.id == mslid)
                {
                    found = true;
                }
            }

            //if user input not found already in database
            if (!found)
            {
                entities.NewUCLTProc(userID, mslid, input);
            }

            return(Redirect("/Home/Index"));
        }
        public ActionResult EditUserLinks(FormCollection form, String link)
        {
            ViewData["loginModal"] = -100;
            ViewData["UserLog"]    = true;
            if (User.Identity.Name != null || User.Identity.Name != "")
            {
                ViewData["UserLoggedIn"] = true;
                ViewData["Username"]     = User.Identity.Name;
            }
            else
            {
                ViewData["Username"] = null;
            }
            //get user's id
            UserDBAccess          db       = new UserDBAccess();
            UsersDatabaseEntities entities = new UsersDatabaseEntities();
            int userID = db.GetUserInfoByName(User.Identity.Name).Id;
            //check user input
            Boolean check;
            string  input;
            int     mslid;

            //get temp data
            List <int> userIds = new List <int>();
            int        data;

            for (int i = 1; i <= 3 && i <= (int)TempData["UserLinks"]; i++)
            {
                if (TempData["UserLinkIdRange_" + i] != null)
                {
                    //get int
                    data = (int)TempData["UserLinkIdRange_" + i];
                    //Set int to list
                    userIds.Add(data);
                }
            }
            foreach (int i in userIds) //Go through each of the links a user has set up
            {
                //make sure link is valid
                check = inputValidation.IsValidUrl(link);
                if (check) //check is good
                {
                    if (form["userId_" + i].ToString() != null)
                    {
                        check = inputValidation.IsValidUrl(form["userId_" + i].ToString());
                    }
                    else
                    {
                        check = false;
                    }
                }
                if (!check) //Check failed at some point
                {
                    return(Redirect("/Home/Index"));
                }

                //url input of user and mslid selection
                input = form["userId_" + i].ToString();
                mslid = Convert.ToInt32(form["list_" + i].ToString());

                /*
                 * This creates a new row if not already made. This also updates an mslid if already in database.
                 */
                if (mslid == 2 && input.Length <= 60)
                {
                    string backup = input;
                    input = "https://player.twitch.tv/?channel=" + input + "&muted=true";
                    //check and make sure ...again that input does not double up http
                    if (input.Length > 60)
                    {
                        input = backup;
                    }
                }

                entities.UpdateUCLTProc(userID, mslid, input);
            }
            return(Redirect("/Home/Index"));
        }
        public ActionResult EditUserLinks()
        {
            ViewData["loginModal"] = -100;
            ViewData["UserLog"]    = true;
            if (User.Identity.Name != null || User.Identity.Name != "")
            {
                ViewData["UserLoggedIn"] = true;
                ViewData["Username"]     = User.Identity.Name;
            }
            else
            {
                ViewData["Username"] = null;
            }
            UsersDatabaseEntities entities = new UsersDatabaseEntities();

            //Make dropdown list of MSLID
            List <Medias> idsList = new List <Medias>();
            var           num     = entities.GetMSLIDCount().FirstOrDefault().num;
            int           number  = Convert.ToInt32(num);
            Medias        m;

            for (int i = 1; i <= number; i++)
            {
                m = new Medias();

                String name = entities.GetMSLIDName(i).FirstOrDefault().c1;
                m.Text  = name;
                m.Value = i.ToString();
                m.Id    = i;
                idsList.Add(m);
            }
            ViewBag.idsList = idsList;

            UserDBAccess db = new UserDBAccess();
            //Populate and sequence through User populated info.
            //get user's id
            int userID = db.GetUserInfoByName(User.Identity.Name).Id;
            //get users links by id
            var info = entities.GetUserLinks(userID);
            List <GetUserLinks_Result> result = info.ToList();

            //To count the number of links a user has
            linkEdit.NumLinks     = result.Count;
            ViewBag.UserLinks     = result;
            TempData["UserLinks"] = result.Count;

            //Gets the range of link ids to send to postback
            int count = 1;

            foreach (GetUserLinks_Result r in result)
            {
                TempData["UserLinkIdRange_" + count] = r.id;
                count++;
            }

            if (result.Count < 3)
            {
                ViewBag.AllowNewLinks = true;
            }
            else
            {
                ViewBag.AllowNewLinks = false;
            }

            return(View());
        }
        public ActionResult NewUser(FormCollection form, Users userss)
        {
            var    response  = Request["g-recaptcha-response"];
            string secretKey = "6LcH-TQUAAAAAPKXLLGq65vU3yo06BZ2FgGyiWxs";
            var    client    = new WebClient();
            var    result    = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secretKey, response));
            var    obj       = JObject.Parse(result);
            var    status    = (bool)obj.SelectToken("success");


            //ViewBag.Message = status ? "Google reCaptcha validation success" : "Google reCaptcha validation failed";
            ViewData["loginModal"] = -100;
            Users users  = new Users();
            bool  agreed = form["agree"].Equals("on");

            if (status && agreed)
            {
                //New user db Access function

                users.Name       = form["Username"].ToString();
                users.Email      = form["Email"].ToString();
                users.Phone      = form["Phone"].ToString();
                users.Address    = form["Address"].ToString();
                users.Password   = form["Password"].ToString();
                users.Repassword = form["RepeatPassword"].ToString();
                users.Dob        = System.Convert.ToDateTime(form["DOB"].ToString());
                users.Rememberme = userss.Rememberme;

                //Check user input
                if (inputValidation.UserInputValidation(users) && inputValidation.UserInputValidation(userss))
                {
                    SecurityO sec = new SecurityO();
                    sec.Username = users.Name;
                    sec.Password = users.Password;
                    UserDBAccess db = new UserDBAccess();
                    //Create user in Database
                    bool correct = UserDBAccess.CreateUserAccount(users, sec);
                    if (correct)
                    {
                        SessionVariables.UserData = users;
                        //get users id by name
                        users = db.GetUserInfoByName(users.Name);
                        //set agreed
                        UsersDatabaseEntities entities = new UsersDatabaseEntities();
                        entities.AgreeToTermsOfUse(users.Id);
                    }
                    else
                    {
                        ModelState.AddModelError("Username", "Username Already exists");
                        ViewData["LoginFail"] = "Name Already exists";
                        return(RedirectToAction("Login", ViewData));
                    }
                }
                else
                {
                    ModelState.AddModelError("Username", "You input an invalid character into the text box");
                }
            }

            //Default
            return(RedirectToAction("Login", users));
        }