Example #1
0
        // GET: Home
        public ActionResult Index()
        {
            Models.MyIdentityUser user = getCurrentUser();

            if (user != null)
            {
                ViewData["CurrentUser"] = user;

                List <Models.Post> userPosts = getUserPosts(user);
                foreach (var post in userPosts)
                {
                    post.UserModel = getUser(post.UserId);
                    foreach (var comment in post.Comments)
                    {
                        comment.OriginalUser = getUser(comment.OriginalUserId);
                    }

                    post.Comments.Sort((x, y) => DateTime.Compare(x.TimeStamp, y.TimeStamp));
                }
                userPosts.Sort((x, y) => DateTime.Compare(y.TimeStamp, x.TimeStamp));

                ViewData["Posts"] = userPosts;
            }

            return(View());
        }
Example #2
0
        private List <string> getUserImageIdList(Models.MyIdentityUser user)
        {
            var db = new Models.MyIdentityDbContext();

            //List<string> userImageIdList = new List<string>();

            /*
             * foreach (var obj in db.UserImages)
             * {
             *  if (obj.UserId == user.Id)
             *  {
             *      userImageIdList.Add(obj.Id);
             *  }
             * }
             */

            List <string> userImageIdList = new List <string>();

            foreach (var image in db.UserImages.Where(x => x.UserId == user.Id).ToList())
            {
                userImageIdList.Add(image.Id);
            }

            return(userImageIdList);
        }
Example #3
0
        public ActionResult login(Models.Login loginModel, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                Models.MyIdentityUser user = userManager.Find(loginModel.UserName, loginModel.Password);

                if (user != null)
                {
                    IAuthenticationManager authenticationManager = HttpContext.GetOwinContext().Authentication;
                    authenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);

                    ClaimsIdentity identity = userManager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);

                    AuthenticationProperties props = new AuthenticationProperties();
                    props.IsPersistent = loginModel.RememberMe;

                    authenticationManager.SignIn(props, identity);

                    if (Url.IsLocalUrl(returnUrl))
                    {
                        return(Redirect(returnUrl));
                    }
                    else
                    {
                        return(Redirect(Url.Content(string.Format("~/{0}", user.UserName))));
                    }
                }
                else
                {
                    ModelState.AddModelError("invalid", "Invalid username or password");
                }
            }

            return(View(loginModel));
        }
Example #4
0
        public ActionResult users(string query)
        {
            Models.MyIdentityUser userLoggedIn = getCurrentUser();

            if (userLoggedIn != null)
            {
                ViewData["CurrentUser"] = userLoggedIn;
            }

            if (query != null)
            {
                if (query.Length > 0)
                {
                    List <Models.MyIdentityUser> userList = getUserSearchList(query);

                    ViewData["UserList"] = userList;
                    //ViewData["UserImageList"] = getUserProfileImages(userList);
                    //ViewData["Dictionary"] = getUserXImageDictionary(userList);
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(View());
        }
        public ActionResult subscribe()
        {
            Models.MyIdentityUser user = getCurrentUser();

            if (user != null)
            {
                ViewData["CurrentUser"] = user;
            }

            if (user.Subscription)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var list     = new SelectList(CountryList(), "Key", "Value");
            var sortList = list.OrderBy(p => p.Text).ToList();

            sortList.Insert(0, new SelectListItem()
            {
                Text  = "United States",
                Value = "US",
            });
            ViewBag.Countries   = sortList;
            ViewBag.ExpireMonth = getExpireMonth();
            ViewBag.ExpireYear  = getExpireYear();

            return(View());
        }
Example #6
0
        public ActionResult Personal(string user)
        {
            Models.MyIdentityUser userLoggedIn = getCurrentUser();

            if (userLoggedIn != null)
            {
                ViewData["CurrentUser"] = userLoggedIn;
            }

            Models.MyIdentityUser requestedUserPage = findUser(user);

            if (requestedUserPage != null)
            {
                ViewData["VisitedUser"]                  = requestedUserPage;
                ViewData["VisitedUserImages"]            = getUserImageIdList(requestedUserPage);
                ViewData["VisitedUserImagesCount"]       = getUserImageIdList(requestedUserPage).Count;
                ViewData["VisitedUserReferralListCount"] = getReferralList(requestedUserPage).Count;
                ViewData["VisitedUserProfileBio"]        = getUserProfileBio(requestedUserPage.Id);
                ViewData["FollowingCount"]               = getUserFollowingCount(requestedUserPage.Id);
                ViewData["FollowerCount"]                = getUserFollowerCount(requestedUserPage.Id);

                ViewData["CurrentUserIsFollowing"] = (userLoggedIn != null) ? checkIfFollowing(userLoggedIn.Id, requestedUserPage.Id) : false;

                return(View());
            }
            else
            {
                return(HttpNotFound("NOT FOUND MOTHER F****R"));
            }
        }
        public ActionResult unsubscribe()
        {
            Models.MyIdentityUser user = userManager.FindById(getCurrentUser().Id);
            user.Subscription = false;
            IdentityResult result = userManager.Update(user);

            return(null);
        }
        private Models.MyIdentityUser getCurrentUser()
        {
            Models.MyIdentityDbContext          db          = new Models.MyIdentityDbContext();
            UserStore <Models.MyIdentityUser>   userStore   = new UserStore <Models.MyIdentityUser>(db);
            UserManager <Models.MyIdentityUser> userManager = new UserManager <Models.MyIdentityUser>(userStore);

            Models.MyIdentityUser user = userManager.FindByName(HttpContext.User.Identity.Name);

            return(user);
        }
Example #9
0
        public ActionResult testbio(string id)
        {
            var db = new Models.MyIdentityDbContext();

            Models.MyIdentityUser user = userManager.FindById(id);

            addUserDefaultProfileBio(user);

            return(RedirectToAction("settings", "account"));
        }
Example #10
0
        private Models.MyIdentityUser findUser(string userName)
        {
            Models.MyIdentityDbContext          db          = new Models.MyIdentityDbContext();
            UserStore <Models.MyIdentityUser>   userStore   = new UserStore <Models.MyIdentityUser>(db);
            UserManager <Models.MyIdentityUser> userManager = new UserManager <Models.MyIdentityUser>(userStore);

            Models.MyIdentityUser user = userManager.FindByName(userName);

            return(user);
        }
Example #11
0
 private void sendEmail(Models.MyIdentityUser user, string subject, string body)
 {
     System.Net.Mail.MailMessage m = new System.Net.Mail.MailMessage(new System.Net.Mail.MailAddress("*****@*****.**", "Webvnue"), new System.Net.Mail.MailAddress(user.Email));
     m.Subject    = subject;
     m.Body       = body;
     m.IsBodyHtml = true;
     System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587);
     smtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "Password999");
     smtp.EnableSsl   = true;
     smtp.Send(m);
 }
Example #12
0
        public ActionResult faq()
        {
            Models.MyIdentityUser user = getCurrentUser();

            if (user != null)
            {
                ViewData["CurrentUser"] = user;
            }

            return(View());
        }
Example #13
0
        private void addNewReferral(Models.MyIdentityUser user, string Token)
        {
            var db = new Models.MyIdentityDbContext();

            Models.Referral newReferral = new Models.Referral();
            newReferral.Id         = Guid.NewGuid().ToString();
            newReferral.ReferrerId = userManager.FindById(Token).Id;
            newReferral.RefereeId  = user.Id;

            db.Referrals.Add(newReferral);
            db.SaveChanges();
        }
Example #14
0
        public ActionResult ChangeProfile()
        {
            Models.MyIdentityUser user = userManager.FindByName(HttpContext.User.Identity.Name);

            Models.ChangeProfile changeProfileModel = new Models.ChangeProfile();

            user.FirstName = changeProfileModel.FirstName;
            user.LastName  = changeProfileModel.LastName;
            user.BirthDate = changeProfileModel.BirthDate;

            return(View(changeProfileModel));
        }
Example #15
0
        private bool validateToken(string Token)
        {
            Models.MyIdentityUser user = userManager.FindById(Token);

            if (user != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Example #16
0
        /*
         * private void fillMissingPics()
         * {
         *  var db = new Models.MyIdentityDbContext();
         *
         *  Models.UserProfileImage defaultImg = db.UserProfileImages.Find("164eb47a-ac68-4e92-8baa-56dd5f730a80");
         *
         *  foreach (var user in db.Users)
         *  {
         *      if (db.UserProfileImages.Find(user.Id) == null)
         *      {
         *          db.UserProfileImages.Add(new Models.UserProfileImage()
         *          {
         *              UserId = user.Id,
         *              ImageData = defaultImg.ImageData,
         *              FileName = "Default Image"
         *          });
         *      }
         *  }
         *
         *  db.SaveChanges();
         * }
         */

        private void addDefaultPicture(Models.MyIdentityUser user)
        {
            var db = new Models.MyIdentityDbContext();

            Models.UserProfileImage defaultImg = db.UserProfileImages.Find("164eb47a-ac68-4e92-8baa-56dd5f730a80");
            db.UserProfileImages.Add(new Models.UserProfileImage()
            {
                UserId    = user.Id,
                ImageData = defaultImg.ImageData,
                FileName  = "Default Image"
            });
            db.SaveChanges();
        }
Example #17
0
        public ActionResult ConfirmEmail(string Token, string Email)
        {
            Models.MyIdentityUser user = userManager.FindById(Token);
            if (user != null)
            {
                if (user.Email == Email)
                {
                    user.EmailConfirmed = true;
                    IdentityResult result = userManager.Update(user);
                }
            }

            return(RedirectToAction("Index", "Home"));
        }
Example #18
0
        private List <Models.Post> getUserPosts(Models.MyIdentityUser user)
        {
            var db = new Models.MyIdentityDbContext();

            List <Models.Post> userPostList = new List <Models.Post>();


            foreach (var following in getFollowing(user.Id))
            {
                userPostList.AddRange(db.Posts.Where(x => x.UserId == following.Id).ToList());
            }
            userPostList.AddRange(db.Posts.Where(x => x.UserId == user.Id).ToList());

            return(userPostList);
        }
Example #19
0
        public ActionResult ConfirmEmail()
        {
            Models.MyIdentityUser user = getCurrentUser();

            System.Net.Mail.MailMessage m = new System.Net.Mail.MailMessage(new System.Net.Mail.MailAddress("*****@*****.**", "Webvnue"), new System.Net.Mail.MailAddress(user.Email));
            m.Subject    = "Email Confirmation";
            m.Body       = string.Format("Dear {0}, <br/><br/> Thank you for joining Webvnue. <br/><br/> Click on the below link to confirm your email: <br/><br/> <a href =\"{1}\" title =\"User Email Confirm\">{1}</a>", user.FirstName, Url.Action("ConfirmEmail", "account", new { Token = user.Id, Email = user.Email }, Request.Url.Scheme));
            m.IsBodyHtml = true;
            System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.gmail.com", 587);
            smtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "Password999");
            smtp.EnableSsl   = true;
            smtp.Send(m);

            return(null);
        }
Example #20
0
        private List <Models.MyIdentityUser> getReferralList(Models.MyIdentityUser user)
        {
            List <Models.MyIdentityUser> referralList = new List <Models.MyIdentityUser>();

            var db = new Models.MyIdentityDbContext();

            foreach (var referral in db.Referrals)
            {
                if (user.Id == referral.ReferrerId)
                {
                    referralList.Add(userManager.FindById(referral.RefereeId));
                }
            }

            return(referralList);
        }
        public ActionResult success()
        {
            Models.MyIdentityUser user = getCurrentUser();

            if (user != null)
            {
                ViewData["CurrentUser"] = user;
            }

            if (user.Subscription)
            {
                return(RedirectToAction("Index", "Home"));
            }

            return(View());
        }
Example #22
0
        /*
         * private void AddNewPostToFollowers(byte[] imageData, Models.MyIdentityUser user)
         * {
         *  var db = new Models.MyIdentityDbContext();
         *
         *  var post = new Models.Post()
         *  {
         *      Id = Guid.NewGuid().ToString(),
         *      OriginalPostUserId = user.Id,
         *      ImageData = imageData,
         *      TimeStamp = DateTime.Now
         *  };
         *
         *  foreach (var follower in getFollowers(user.Id))
         *  {
         *      db.UserPosts.Find(follower.Id).Posts.Add(post);
         *  }
         *
         *  db.SaveChanges();
         * }
         *
         * private void AddNewPostToCurrentUser(byte[] imageData, Models.MyIdentityUser user)
         * {
         *  var db = new Models.MyIdentityDbContext();
         *
         *  var post = new Models.Post()
         *  {
         *      Id = Guid.NewGuid().ToString(),
         *      OriginalPostUserId = user.Id,
         *      ImageData = imageData,
         *      TimeStamp = DateTime.Now
         *  };
         *
         *  db.UserPosts.Find(user.Id).Posts.Add(post);
         *
         *  db.SaveChanges();
         * }
         */

        private void AddNewPost(byte[] imageData, Models.MyIdentityUser user)
        {
            var db = new Models.MyIdentityDbContext();

            var post = new Models.Post()
            {
                Id        = Guid.NewGuid().ToString(),
                UserId    = user.Id,
                ImageData = imageData,
                TimeStamp = DateTime.Now
            };

            db.Posts.Add(post);

            db.SaveChanges();
        }
Example #23
0
        private void addUserDefaultProfileBio(Models.MyIdentityUser user)
        {
            var db = new Models.MyIdentityDbContext();

            Models.UserProfileBio bio = new Models.UserProfileBio();

            bio.Id       = Guid.NewGuid().ToString();
            bio.UserID   = user.Id;
            bio.AboutMe  = string.Format("Hello World!, I'm {0}. Let's make some money!", user.FirstName);
            bio.Location = "Webvnue City";
            bio.Gender   = "Human";
            bio.Quote    = "\"You only live once, but if you do it right, once is enough.\" ― Mae West";

            db.UserProfileBio.Add(bio);
            db.SaveChanges();
        }
Example #24
0
        public ActionResult register(Models.Register registerModel, string Token)
        {
            if (ModelState.IsValid)
            {
                Models.MyIdentityUser user = new Models.MyIdentityUser();

                user.UserName  = registerModel.UserName;
                user.Email     = registerModel.Email;
                user.FirstName = registerModel.FirstName;
                user.LastName  = registerModel.LastName;
                user.BirthDate = registerModel.BirthDate;

                IdentityResult result = userManager.Create(user, registerModel.Password);

                if (result.Succeeded)
                {
                    userManager.AddToRole(user.Id, "User");

                    if (Token != null && validateToken(Token))
                    {
                        addNewReferral(user, Token);
                        sendEmail(userManager.FindById(Token), "Webvnue Referral Notification", string.Format("Dear {0}, <br/><br/> {1} has signed up under your referral! <br/><br/> Your monthly income has increased by $4.50. <br/><br/> Best Regards, <br/>Team Webvnue", userManager.FindById(Token).FirstName, user.FirstName));
                    }

                    Models.MyIdentityUser bioUser = userManager.FindById(user.Id);
                    addUserDefaultProfileBio(bioUser);

                    sendEmail(user, "Webvnue Registration", string.Format("Dear, {0} <br/><br/> Thank you for joining Webvnue. <br/><br/> You're on your way to becoming your own boss. <br/><br/> Best Regards, <br/>Team Webvnue", user.FirstName));
                    return(RedirectToAction("Login", "Account"));
                }
                else
                {
                    ModelState.AddModelError("UserName", "Username already exists");
                }
            }
            if (Token != null && validateToken(Token))
            {
                ViewData["Token"] = Token;
            }
            else
            {
                ViewData["Token"] = "";
            }
            return(View(registerModel));
        }
Example #25
0
        public ActionResult register(string Token)
        {
            bool loggedIn = (System.Web.HttpContext.Current.User != null) && System.Web.HttpContext.Current.User.Identity.IsAuthenticated;

            if (loggedIn)
            {
                return(RedirectToAction("Index", "Home"));
            }

            Models.MyIdentityUser user = userManager.FindById(Token);

            if (user != null)
            {
                ViewData["Referrer"] = user;
            }

            return(View());
        }
Example #26
0
        public ActionResult settings()
        {
            Models.MyIdentityUser user = getCurrentUser();

            if (user != null)
            {
                ViewData["CurrentUser"] = user;
            }

            List <Models.MyIdentityUser> referralList = getReferralList(user);

            if (referralList.Count > 0)
            {
                ViewData["ReferralList"] = getReferralList(user);
            }
            ViewData["ReferralListCount"] = referralList.Count;

            return(View());
        }
Example #27
0
        public ActionResult ChangePassword(Models.ChangePassword changePasswordModel)
        {
            if (ModelState.IsValid)
            {
                Models.MyIdentityUser user = userManager.FindByName(HttpContext.User.Identity.Name);

                IdentityResult result = userManager.ChangePassword(user.Id, changePasswordModel.OldPassword, changePasswordModel.NewPassword);

                if (result.Succeeded)
                {
                    IAuthenticationManager authenticationManager = HttpContext.GetOwinContext().Authentication;
                    authenticationManager.SignOut();
                    return(RedirectToAction("Login", "Account"));
                }
                else
                {
                    ModelState.AddModelError("", "Error while changing the password");
                }
            }

            return(View(changePasswordModel));
        }
Example #28
0
        private List <Models.MyIdentityUser> getReferralList(Models.MyIdentityUser user)
        {
            List <Models.MyIdentityUser> referralList = new List <Models.MyIdentityUser>();

            var db = new Models.MyIdentityDbContext();

            /*
             * foreach (var referral in db.Referrals)
             * {
             *  if (user.Id == referral.ReferrerId)
             *  {
             *      referralList.Add(userManager.FindById(referral.RefereeId));
             *  }
             * }
             */

            foreach (var referral in db.Referrals.Where(x => x.ReferrerId == user.Id))
            {
                referralList.Add(userManager.FindById(referral.RefereeId));
            }

            return(referralList);
        }
Example #29
0
        public ActionResult ChangeProfile(Models.ChangeProfile changeProfileModel)
        {
            if (ModelState.IsValid)
            {
                Models.MyIdentityUser user = userManager.FindByName(HttpContext.User.Identity.Name);
                user.FirstName = changeProfileModel.FirstName;
                user.LastName  = changeProfileModel.LastName;
                user.BirthDate = changeProfileModel.BirthDate;

                IdentityResult result = userManager.Update(user);

                if (result.Succeeded)
                {
                    ViewBag.Message = "Profile Updated Successfully!";
                }
                else
                {
                    ModelState.AddModelError("", "Error while saving profile.");
                }
            }

            return(View(changeProfileModel));
        }
Example #30
0
        public ActionResult Index(Models.Register registerModel, string Token)
        {
            if (ModelState.IsValid)
            {
                Models.MyIdentityUser user = new Models.MyIdentityUser();

                user.UserName  = registerModel.UserName;
                user.Email     = registerModel.Email;
                user.FirstName = registerModel.FirstName;
                user.LastName  = registerModel.LastName;
                user.BirthDate = registerModel.BirthDate;

                userManager.UserValidator = new UserValidator <Models.MyIdentityUser>(userManager)
                {
                    RequireUniqueEmail = true
                };

                IdentityResult result = userManager.Create(user, registerModel.Password);

                if (result.Succeeded)
                {
                    //userManager.AddToRole(user.Id, "User");

                    if (Token != null && validateToken(Token))
                    {
                        addNewReferral(user, Token);
                        sendEmail(userManager.FindById(Token), "Webvnue Referral Notification", string.Format("Dear {0}, <br/><br/> {1} has signed up under your referral! <br/><br/> Your monthly income has increased by $4.50. <br/><br/> Best Regards, <br/>Team Webvnue", userManager.FindById(Token).FirstName, user.FirstName));
                    }

                    //addDefaultPicture(user);
                    addUserDefaultProfileBio(user);
                    //initializeUserPosts(user);
                    sendEmail(user, "Webvnue Registration", string.Format("Dear, {0} <br/><br/> Thank you for joining Webvnue. <br/><br/> You're on your way to becoming your own boss. <br/><br/> Best Regards, <br/>Team Webvnue", user.FirstName));

                    IAuthenticationManager authenticationManager = HttpContext.GetOwinContext().Authentication;
                    authenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);

                    ClaimsIdentity identity = userManager.CreateIdentity(user, DefaultAuthenticationTypes.ApplicationCookie);

                    AuthenticationProperties props = new AuthenticationProperties();

                    authenticationManager.SignIn(props, identity);

                    return(Redirect(Url.Content(string.Format("~/{0}", user.UserName))));
                }
                else
                {
                    ModelState.AddModelError("UserName", "Username already exists");
                    ModelState.AddModelError("Email", "Email already exists");
                }
            }
            if (Token != null && validateToken(Token))
            {
                ViewData["Token"] = Token;
            }
            else
            {
                ViewData["Token"] = "";
            }
            return(View(registerModel));
        }