示例#1
0
        private Models.UserProfileBio getUserProfileBio(string id)
        {
            var db = new Models.MyIdentityDbContext();

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

            /*
             * foreach (var obj in db.UserProfileBio)
             * {
             *  if (obj.UserID == id)
             *  {
             *      bio = obj;
             *  }
             * }*/

            Models.UserProfileBio bio = db.UserProfileBio.FirstOrDefault(x => x.UserID == id);

            return(bio);

            /*
             * return Json(new
             * {
             *  Bio = bio
             * });
             */
        }
示例#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);
        }
        public ActionResult src(HttpPostedFileBase[] uploadImages)
        {
            if (uploadImages.Count() <= 1)
            {
                return(RedirectToAction("Index", "Home"));
            }

            foreach (var image in uploadImages)
            {
                if (image.ContentLength > 0)
                {
                    byte[] imageData = null;
                    using (var binaryReader = new BinaryReader(image.InputStream))
                    {
                        imageData = binaryReader.ReadBytes(image.ContentLength);
                    }
                    var userImage = new Models.UserProfileImage()
                    {
                        UserId    = getCurrentUser().Id,
                        ImageData = imageData,
                        FileName  = image.FileName
                    };

                    var db = new Models.MyIdentityDbContext();
                    db.UserProfileImages.Add(userImage);
                    db.SaveChanges();
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
示例#4
0
        private List <Models.MyIdentityUser> getFollowers(string userId)
        {
            var db = new Models.MyIdentityDbContext();

            //List<Models.MyIdentityUser> followerList = new List<Models.MyIdentityUser>();

            /*
             * foreach (var obj in db.UserFollowers)
             * {
             *  if (obj.FollowingUserId == userId)
             *  {
             *      followerList.Add(userManager.FindById(obj.UserId));
             *  }
             * }
             */

            List <Models.MyIdentityUser> followerList = new List <Models.MyIdentityUser>();

            foreach (var follower in db.UserFollowers.Where(x => x.FollowingUserId == userId))
            {
                followerList.Add(userManager.FindById(follower.UserId));
            }

            return(followerList);
        }
示例#5
0
        public ActionResult showPostImage(string id)
        {
            var db = new Models.MyIdentityDbContext();

            byte[] buffer = db.Posts.Find(id).ImageData;

            return(File(buffer, "image/jpg", string.Format("{0}.jpg", Guid.NewGuid().ToString())));
        }
示例#6
0
        private void deletePost(string postId)
        {
            var db = new Models.MyIdentityDbContext();

            db.Posts.Remove(db.Posts.FirstOrDefault(x => x.Id == postId));

            db.SaveChanges();
        }
        public picturesController()
        {
            Models.MyIdentityDbContext db = new Models.MyIdentityDbContext();

            UserStore <Models.MyIdentityUser> userStore = new UserStore <Models.MyIdentityUser>(db);

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

            return(userManager);
        }
示例#9
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);
        }
示例#10
0
        public ActionResult showImage(string id)
        {
            var db = new Models.MyIdentityDbContext();

            var image = db.UserImages.Find(id);

            byte[] buffer = image.ImageData;

            return(File(buffer, "image/jpg", string.Format("{0}.jpg", id)));
        }
示例#11
0
        public ActionResult profileimg(string id)
        {
            var db = new Models.MyIdentityDbContext();

            var item = db.UserProfileImages.Find(id);

            byte[] buffer = item.ImageData;

            return(File(buffer, "image/jpg", string.Format("{0}.jpg", id)));
        }
示例#12
0
        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);
        }
示例#13
0
        public ActionResult testbio(string id)
        {
            var db = new Models.MyIdentityDbContext();

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

            addUserDefaultProfileBio(user);

            return(RedirectToAction("settings", "account"));
        }
示例#14
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();
        }
示例#15
0
        private void addNewFollow(string userId, string followingUserId)
        {
            var db = new Models.MyIdentityDbContext();

            Models.Follows newFollower = new Models.Follows();
            newFollower.Id              = Guid.NewGuid().ToString();
            newFollower.UserId          = userId;
            newFollower.FollowingUserId = followingUserId;

            db.UserFollowers.Add(newFollower);
            db.SaveChanges();
        }
示例#16
0
        private List <Models.MyIdentityUser> getFollowing(string userId)
        {
            var db = new Models.MyIdentityDbContext();

            List <Models.MyIdentityUser> followingList = new List <Models.MyIdentityUser>();

            foreach (var following in db.UserFollowers.Where(x => x.UserId == userId))
            {
                followingList.Add(userManager.FindById(following.FollowingUserId));
            }

            return(followingList);
        }
示例#17
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();
        }
示例#18
0
        private Dictionary <Models.MyIdentityUser, Models.UserProfileImage> getUserXImageDictionary(List <Models.MyIdentityUser> userList)
        {
            var db = new Models.MyIdentityDbContext();

            Dictionary <Models.MyIdentityUser, Models.UserProfileImage> dict = new Dictionary <Models.MyIdentityUser, Models.UserProfileImage>();

            foreach (var user in userList)
            {
                dict.Add(user, db.UserProfileImages.Find(user.Id));
            }

            return(dict);
        }
示例#19
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);
        }
示例#20
0
        public ActionResult UploadProfileImage(HttpPostedFileBase[] uploadImage)
        {
            var db          = new Models.MyIdentityDbContext();
            var currentUser = getCurrentUser();

            if (uploadImage.Length == 0)
            {
                return(Redirect(Request.UrlReferrer.ToString()));
            }

            if (uploadImage[0] == null)
            {
                return(Redirect(Request.UrlReferrer.ToString()));
            }

            if (db.UserProfileImages.Find(currentUser.Id) != null)
            {
                var profile = db.UserProfileImages.Find(currentUser.Id);
                db.UserProfileImages.Remove(profile);
                db.SaveChanges();
            }

            foreach (var image in uploadImage)
            {
                if (image.ContentLength > 0)
                {
                    byte[] imageData = null;
                    using (var binaryReader = new BinaryReader(image.InputStream))
                    {
                        imageData = binaryReader.ReadBytes(image.ContentLength);
                    }
                    var userImage = new Models.UserProfileImage()
                    {
                        UserId    = currentUser.Id,
                        ImageData = imageData,
                        FileName  = image.FileName
                    };

                    //AddNewPostToFollowers(imageData, currentUser);
                    //AddNewPostToCurrentUser(imageData, currentUser);
                    AddNewPost(imageData, currentUser);

                    db.UserProfileImages.Add(userImage);
                    db.SaveChanges();
                }
            }
            return(Redirect(Request.UrlReferrer.ToString()));
        }
示例#21
0
        private void addNewCommentToPost(string id, string postId, string message)
        {
            var db = new Models.MyIdentityDbContext();

            var newComment = new Models.Comment()
            {
                Id             = Guid.NewGuid().ToString(),
                OriginalUserId = id,
                Message        = message,
                TimeStamp      = DateTime.Now
            };

            db.Posts.FirstOrDefault(x => x.Id == postId).Comments.Add(newComment);

            db.SaveChanges();
        }
示例#22
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);
        }
示例#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();
        }
示例#24
0
        public accountController()
        {
            Models.MyIdentityDbContext db = new Models.MyIdentityDbContext();

            UserStore <Models.MyIdentityUser> userStore = new UserStore <Models.MyIdentityUser>(db);

            userManager = new UserManager <Models.MyIdentityUser>(userStore);

            RoleStore <Models.MyIdentityRole> roleStore = new RoleStore <Models.MyIdentityRole>(db);

            roleManager = new RoleManager <Models.MyIdentityRole>(roleStore);

            var provider = new DpapiDataProtectionProvider("Webvnue");

            userManager.UserTokenProvider = new DataProtectorTokenProvider <Models.MyIdentityUser>(provider.Create("ResetPassword"));
        }
示例#25
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();
        }
示例#26
0
        private List <Models.MyIdentityUser> getUserSearchList(string query)
        {
            var db = new Models.MyIdentityDbContext();

            List <Models.MyIdentityUser> userList = new List <Models.MyIdentityUser>();

            foreach (var user in db.Users)
            {
                if (user.FirstName.ToLower().Contains(query) || user.LastName.ToLower().Contains(query) || user.UserName.ToLower().Contains(query))
                {
                    userList.Add(user);
                }
            }

            return(userList);
        }
示例#27
0
        public ActionResult UploadImage(HttpPostedFileBase[] uploadMainImage)
        {
            var db          = new Models.MyIdentityDbContext();
            var currentUser = getCurrentUser();

            if (uploadMainImage.Length == 0)
            {
                return(Redirect(Request.UrlReferrer.ToString()));
            }

            if (uploadMainImage[0] == null)
            {
                return(Redirect(Request.UrlReferrer.ToString()));
            }

            foreach (var image in uploadMainImage)
            {
                if (image.ContentLength > 0)
                {
                    byte[] imageData = null;
                    using (var binaryReader = new BinaryReader(image.InputStream))
                    {
                        imageData = binaryReader.ReadBytes(image.ContentLength);
                    }
                    var userImage = new Models.UserImage()
                    {
                        Id        = Guid.NewGuid().ToString(),
                        UserId    = currentUser.Id,
                        ImageData = imageData,
                        FileName  = image.FileName,
                        Rating    = 0,
                        TimeStamp = DateTime.Now,
                        Views     = 0
                    };

                    //AddNewPostToFollowers(imageData, currentUser);
                    //AddNewPostToCurrentUser(imageData, currentUser);
                    AddNewPost(imageData, currentUser);

                    db.UserImages.Add(userImage);
                    db.SaveChanges();
                }
            }

            return(Redirect(Request.UrlReferrer.ToString()));
        }
示例#28
0
        private void removeFollow(string currentUserId, string followingUserId)
        {
            var db = new Models.MyIdentityDbContext();

            /*
             * foreach (var obj in db.UserFollowers)
             * {
             *  if (obj.UserId == currentUserId && obj.FollowingUserId == followingUserId)
             *  {
             *      db.UserFollowers.Remove(obj);
             *  }
             * }
             */

            db.UserFollowers.Remove(db.UserFollowers.FirstOrDefault(x => x.UserId == currentUserId && x.FollowingUserId == followingUserId));

            db.SaveChanges();
        }
示例#29
0
        private List <Models.UserProfileImage> getUserProfileImages(List <Models.MyIdentityUser> userList)
        {
            var db = new Models.MyIdentityDbContext();

            List <Models.UserProfileImage> userImageList = new List <Models.UserProfileImage>();

            foreach (var user in userList)
            {
                Models.UserProfileImage img = db.UserProfileImages.Find(user.Id);

                if (img != null)
                {
                    userImageList.Add(img);
                }
            }

            return(userImageList);
        }
示例#30
0
        private bool checkIfCommentsUpdated(string postid, DateTime timeStamp)
        {
            var db = new Models.MyIdentityDbContext();

            Models.Post postToCheck = db.Posts.FirstOrDefault(x => x.Id == postid);

            DateTime latestTimeStamp = postToCheck.Comments.Max(x => x.TimeStamp);


            if (latestTimeStamp.Date.Equals(postToCheck.TimeStamp.Date))
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }