Exemplo n.º 1
0
        public ActionResult ViewPushpin(ViewPushpinViewModel commentViewModel, int id)
        {
            if (ModelState.IsValid)
            {
                using (commentDbContext)
                {
                    Comment comment = new Comment();
                    comment.UserId    = userDbContext.Users.SingleOrDefault(uid => uid.Email == User.Identity.Name).Id;
                    comment.Comment1  = commentViewModel.commentToAdd;
                    comment.PushpinId = id;
                    comment.DateTime  = DateTime.Now;

                    commentDbContext.Comments.Add(comment);
                    commentDbContext.SaveChanges();
                }
                return(RedirectToAction("ViewPushpin", "PushPin", new { id = id }));
            }
            else
            {
                ModelState.AddModelError("Failure", "Fill in the right details");
                return(View(commentViewModel));
            }
        }
Exemplo n.º 2
0
        public ActionResult ViewPushpin(int id)

        {
            Dictionary <string, string> rCO = new Dictionary <string, string>();

            var pushpin = pushpinDbContext.Pushpins.SingleOrDefault(p => p.Pid == id);

            if (pushpin == null)
            {
                return(HttpNotFound());
            }

            var corkboard    = corkboardDbContext.Corkboards.SingleOrDefault(c => c.Cid == pushpin.CorkboardId);
            var allComments  = commentDbContext.Comments.Where(cb => cb.PushpinId == id).OrderByDescending(cb => cb.DateTime).ToList();
            var allLikesList = likeDBContext.Likes.Where(p => p.PushpinId == id).ToList();

            foreach (var eachComments in allComments)
            {
                String eachName = userDbContext.Users.Single(uid => uid.Id == eachComments.UserId).First_Name + " " +
                                  userDbContext.Users.Single(uid => uid.Id == eachComments.UserId).Last_Name;
                rCO[eachComments.Comment1] = eachName;
            }
            ;

            int likesCount = likeDBContext.Likes.Count(p => p.PushpinId == id);

            if (likesCount <= 6)
            {
                string    likesUserName    = "******";
                ArrayList likeEmail        = new ArrayList();
                var       theLikeListToUse = likeDBContext.Likes.Where(p => p.PushpinId == id).OrderByDescending(p => p.DateTime).ToList();

                foreach (var eachLike in theLikeListToUse)
                {
                    likesUserName += (userDbContext.Users.Single(uid => uid.Id == eachLike.UserId).First_Name + " " +
                                      userDbContext.Users.Single(uid => uid.Id == eachLike.UserId).Last_Name + ", ");
                    likeEmail.Add(userDbContext.Users.SingleOrDefault(u => u.Id == eachLike.UserId).Email);
                }
                ;

                likesUserName += ".";
                var viewModel = new ViewPushpinViewModel
                {
                    userName = userDbContext.Users.Single(uid => uid.Id == corkboard.UserId).First_Name + " " +
                               userDbContext.Users.Single(uid => uid.Id == corkboard.UserId).Last_Name,
                    userId             = corkboard.UserId,
                    corkboardId        = corkboard.Cid,
                    pushpinId          = pushpin.Pid,
                    corkboardTitle     = corkboard.Title,
                    pushpinDescription = pushpin.Description,
                    pushpinUrl         = pushpin.Url,
                    pushpinTags        = pushpin.Tags,
                    lastUpdateTime     = pushpin.DateTime,
                    pushpinComments    = allComments,
                    commentOwners      = rCO,
                    pushpinLikes       = allLikesList,
                    allLikes           = likesUserName,
                    likesEmail         = likeEmail
                };
                return(View(viewModel));
            }
            else
            {
                string    likesUserName    = "******";
                ArrayList likeEmail        = new ArrayList();
                var       theLikeListToUse = likeDBContext.Likes.Where(p => p.PushpinId == id).OrderByDescending(p => p.DateTime).Take(8).ToList();

                foreach (var eachLike in theLikeListToUse)
                {
                    likesUserName += (userDbContext.Users.Single(uid => uid.Id == eachLike.UserId).First_Name + " " +
                                      userDbContext.Users.Single(uid => uid.Id == eachLike.UserId).Last_Name + ", ");
                    likeEmail.Add(userDbContext.Users.SingleOrDefault(u => u.Id == eachLike.UserId).Email);
                }
                ;

                likesUserName += "and Others.";

                var viewModel = new ViewPushpinViewModel
                {
                    userName = userDbContext.Users.Single(uid => uid.Id == corkboard.UserId).First_Name + " " +
                               userDbContext.Users.Single(uid => uid.Id == corkboard.UserId).Last_Name,
                    userId             = corkboard.UserId,
                    corkboardId        = corkboard.Cid,
                    pushpinId          = pushpin.Pid,
                    corkboardTitle     = corkboard.Title,
                    pushpinDescription = pushpin.Description,
                    pushpinUrl         = pushpin.Url,
                    pushpinTags        = pushpin.Tags,
                    lastUpdateTime     = pushpin.DateTime,
                    pushpinComments    = allComments,
                    commentOwners      = rCO,
                    pushpinLikes       = allLikesList,
                    allLikes           = likesUserName,
                    likesEmail         = likeEmail
                };
                return(View(viewModel));
            }
        }