// GET: OpinionatedIndividualPhotos/Create
        public ActionResult DislikeCreate([Bind(Include = "Id,PhotoId,OpinionatedIndividualId,LikeDislike,Comment,Reason1,Reason2")] int id)
        {
            OpinionatedIndividualPhoto opinionatedIndividualPhoto = new OpinionatedIndividualPhoto();

            opinionatedIndividualPhoto.LikeDislike = false;
            opinionatedIndividualPhoto.PhotoId     = id;
            ViewBag.CommentStatus             = db.Photos.Where(x => x.Id == opinionatedIndividualPhoto.PhotoId).Select(x => x.CommentsEnabled).FirstOrDefault();
            ViewBag.CategoryOfPhotoForReasons = db.Photos.Where(x => x.Id == opinionatedIndividualPhoto.PhotoId).Select(x => x.CategoryId).FirstOrDefault().ToString();

            return(View(opinionatedIndividualPhoto));
        }
        public ActionResult DislikeCreate([Bind(Include = "Id,PhotoId,OpinionatedIndividualId,LikeDislike,Comment,Reason1,Reason2")] OpinionatedIndividualPhoto opinionatedIndividualPhoto)
        {
            var userResult  = User.Identity.GetUserId();
            var currentUser = db.OpinionatedIndividuals.Where(x => userResult == x.ApplicationId).FirstOrDefault();

            opinionatedIndividualPhoto.OpinionatedIndividualId = currentUser.Id;
            var photoInteractedWith = db.Photos.Where(x => x.Id == opinionatedIndividualPhoto.PhotoId).FirstOrDefault();

            if (ModelState.IsValid)
            {
                db.OpinionatedIndividualPhotos.Add(opinionatedIndividualPhoto);
                db.SaveChanges();
                AddInteractionToPhoto(photoInteractedWith, opinionatedIndividualPhoto);
                return(RedirectToAction("Index", "OpinionatedIndividuals"));
            }

            return(View(opinionatedIndividualPhoto));
        }
        public void AddInteractionToPhoto([Bind(Include = "Id, ApplicationId, ImageName, ImagePath, CategoryId, Hidden, CommentsEnabled, TotalLikes, TotalDislikes, ImageFile, WhenCreated, TotalInteractions")] Photo photoInteractedWith, OpinionatedIndividualPhoto opinionatedIndividualPhoto)
        {
            if (opinionatedIndividualPhoto.LikeDislike == true)
            {
                photoInteractedWith.TotalLikes += 1;
            }
            else if (opinionatedIndividualPhoto.LikeDislike == false)
            {
                photoInteractedWith.TotalDislikes += 1;
            }

            photoInteractedWith.TotalInteractions += 1;

            if (ModelState.IsValid)
            {
                db.Entry(photoInteractedWith).State = EntityState.Modified;
                db.SaveChanges();
            }
        }