public bool TestDownvoteEvent()
        {
            EventModel e = eventServices.GetAllEvents().FirstOrDefault();

            if (e != null)
            {
                VoteEventModel voteEventModel = new VoteEventModel();
                voteEventModel.EventId = e.EventId;
                voteEventModel.IsDownvote = true;
                voteEventModel.UserProfileId = JAAAAY;

                return eventServices.Vote(voteEventModel);
            }
            else
            {
                return false;
            }
        }
        public bool TestUpvoteEvent()
        {
            EventModel e = eventServices.GetAllEvents().FirstOrDefault();

            if (e != null)
            {
                VoteEventModel voteEventModel = new VoteEventModel();
                voteEventModel.EventId = e.EventId;
                //voteEventModel.UserProfileId = accountServices.GetAllUserProfiles().ToList()[]\
                voteEventModel.UserProfileId = JAAAAY;
                //CHeck for null later

                return eventServices.Vote(voteEventModel);
            }
            else
            {
                return false;
            }
        }
        public bool Vote(VoteEventModel voteEventModel)
        {
            if (voteEventModel.UserProfileId < 1 || voteEventModel.EventId < 1)
            {
                return false;
            }
            Event curEvent = db.Events.Where(ev => (ev.EventId == voteEventModel.EventId)).FirstOrDefault();
            UserProfile userProfile = db.UserProfiles.Where(up => up.UserProfileId == voteEventModel.UserProfileId).FirstOrDefault();
            EventVote eventVote = db.EventVotes.Where(e => e.EventId == curEvent.EventId && e.UserProfileId == userProfile.UserProfileId).FirstOrDefault();

            if (curEvent == null || userProfile == null) return false;
            if (eventVote == null)
            {
                if (voteEventModel.IsDownvote) curEvent.Rating--;
                else curEvent.Rating++;
                db.EventVotes.AddObject(
                    new EventVote
                    {
                        UserProfileId = userProfile.UserProfileId,
                        EventId = curEvent.EventId,
                        IsUpVote = !voteEventModel.IsDownvote
                    });
                db.SaveChanges();

                return true;
            }
            // New: added new functionality for upvote and downvote.
            if (eventVote.IsUpVote)
            {
                if (voteEventModel.IsDownvote)
                {
                    curEvent.Rating -= 2;
                }
                eventVote.IsUpVote = false;
            }
            else
            {
                if (!voteEventModel.IsDownvote)
                {
                    curEvent.Rating += 2;
                }
                eventVote.IsUpVote = true;
            }
            db.SaveChanges();
            return true;
        }