예제 #1
0
        public static List <Video> GetVideosHome()
        {
            List <Video> listVideo = new List <Video>();

            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                List <Round> listRound = dbVoteContest.Rounds.ToList();
                foreach (var round in listRound)
                {
                    List <Video> listVideoTemp =
                        dbVoteContest.Videos.Where(x => x.idRound == round.idRound)
                        .OrderByDescending(x => x.VotingVideos.Count)
                        .Take(6)
                        .ToList();
                    listVideo.AddRange(listVideoTemp);
                }
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(listVideo);
        }
예제 #2
0
        public static Round UpdateRound(Round round)
        {
            Round newRound = null;

            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                newRound = dbVoteContest.Rounds.Where(x => x.idRound == round.idRound).FirstOrDefault();
                if (newRound != null)
                {
                    newRound.nameRound = round.nameRound;
                    newRound.ruleRound = round.ruleRound;
                    newRound.startDate = round.startDate;
                    newRound.endDate   = round.endDate;
                    dbVoteContest.SaveChanges();
                }
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }

            return(newRound);
        }
예제 #3
0
        public static bool UpdateTag(Tag newtag)
        {
            bool isSucces = false;
            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                Tag tag = dbVoteContest.Tags.Where(x => x.idTag == newtag.idTag).FirstOrDefault();
                if (tag != null)
                {
                    tag.nameTag  = newtag.nameTag;
                    tag.valueTag = newtag.valueTag;

                    dbVoteContest.SaveChanges();

                    isSucces = true;
                }
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(isSucces);
        }
예제 #4
0
        public static User AddUser(string email)
        {
            User user = new User();
            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                User userE = dbVoteContest.Users.Where(x => x.emailUser == email).FirstOrDefault();
                if (userE == null)
                {
                    user = new User
                    {
                        emailUser = email
                    };
                    dbVoteContest.Users.Add(user);
                    dbVoteContest.SaveChanges();
                }
                else
                {
                    user = userE;
                }
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(user);
        }
예제 #5
0
        public static Video GetVideoById(int idVideo)
        {
            Video video = new Video();
            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                video = dbVoteContest.Videos.Where(x => x.idVideo == idVideo).FirstOrDefault();
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(video);
        }
예제 #6
0
        public static List <Tag> ListTags()
        {
            List <Tag>             listTags      = new List <Tag>();
            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                listTags = dbVoteContest.Tags.ToList();
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(listTags);
        }
예제 #7
0
        public static Tag GetTag(string keyTag)
        {
            Tag tags = new Tag();
            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                tags = dbVoteContest.Tags.Where(x => x.keyTag == keyTag).FirstOrDefault();
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(tags);
        }
예제 #8
0
        public static List <Video> GetAllVideosByNew(int idRound)
        {
            List <Video> listVideo = new List <Video>();

            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                listVideo = dbVoteContest.Videos.Where(x => x.idRound == idRound).OrderByDescending(x => x.createDate).ToList();
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(listVideo);
        }
예제 #9
0
        public static List <Video> GetHomeVideosByRound(int idRound)
        {
            List <Video> listVideo = new List <Video>();

            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                listVideo = dbVoteContest.Videos.Where(x => x.idRound == idRound).OrderByDescending(x => x.VotingVideos.Count()).Take(6).ToList();
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(listVideo);
        }
예제 #10
0
        public static List <VotingVideo> GetListUserVote(int idVideo)
        {
            List <VotingVideo> listVotingVideo = new List <VotingVideo>();

            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                listVotingVideo = dbVoteContest.VotingVideos.Where(x => x.idVideo == idVideo).ToList();
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(listVotingVideo);
        }
예제 #11
0
        public static List <Round> GetAllRound()
        {
            List <Round> listRound = new List <Round>();

            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                DateTime?now = DateTime.Now;
                listRound = dbVoteContest.Rounds.ToList();
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(listRound);
        }
예제 #12
0
        public static Round GetRoundById(int idRound)
        {
            Round round = null;

            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                round = dbVoteContest.Rounds.Where(x => x.idRound == idRound).FirstOrDefault();
                List <Video> listVideo = dbVoteContest.Videos.Where(x => x.idRound == idRound).ToList();
                round.Videos = listVideo;
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }
            return(round);
        }
예제 #13
0
        public static List <Video> GetVideosByRound_New(int idRound, int skip, int count, out int total)
        {
            List <Video> listVideo = new List <Video>();

            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                var listVideoAll = dbVoteContest.Videos.Where(x => x.idRound == idRound).OrderByDescending(x => x.createDate);
                total = listVideoAll.Count();

                listVideo = listVideoAll.Skip(skip).Take(count).ToList();
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }

            return(listVideo);
        }
예제 #14
0
        public static Video UpdateVideo(Video video)
        {
            Video newvideo = new Video();

            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                newvideo = dbVoteContest.Videos.Where(x => x.idVideo == video.idVideo).FirstOrDefault();
                if (newvideo != null)
                {
                    newvideo.authorVideo   = video.authorVideo;
                    newvideo.codeAuthor    = video.codeAuthor;
                    newvideo.describeVideo = video.describeVideo;
                    newvideo.urlVideo      = video.urlVideo;
                    newvideo.titleVideo    = video.titleVideo;
                    newvideo.idRound       = video.idRound;
                }
                else
                {
                    video.createDate = DateTime.Now;
                    newvideo         = dbVoteContest.Videos.Add(video);
                }

                dbVoteContest.SaveChanges();
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }

            return(newvideo);
        }
예제 #15
0
        public static Video AddVote(int idVideo, string codeAuthor, int idUser)
        {
            Video videoVote = null;

            db_votecontestEntities dbVoteContest = new db_votecontestEntities();

            try
            {
                Video video = VideoService.GetVideoById(idVideo);
                // Get round for check expire date
                Round    round = RoundService.GetRoundById((int)video.idRound);
                DateTime now   = DateTime.Now;

                // Check expire date
                if (round.startDate <= now && round.endDate >= now)
                {
                    // Get voting video of user
                    VotingVideo votingVideo = dbVoteContest.VotingVideos.Join(dbVoteContest.Videos, vote => vote.idVideo, v => v.idVideo, (vote, v) => new { Vote = vote, Video = v }).Where(x => x.Video.idRound == round.idRound && x.Vote.idUser == idUser).Select(x => x.Vote).FirstOrDefault();
                    // null : user do not vote video yet
                    if (votingVideo == null)
                    {
                        votingVideo            = new VotingVideo();
                        votingVideo.idVideo    = idVideo;
                        votingVideo.codeAuthor = codeAuthor;
                        votingVideo.idUser     = idUser;

                        dbVoteContest.VotingVideos.Add(votingVideo);
                        dbVoteContest.SaveChanges();

                        videoVote            = dbVoteContest.Videos.Where(x => x.idVideo == idVideo).FirstOrDefault();
                        videoVote.codeAuthor = codeAuthor;
                    }
                    else // !null is check round
                    {
                        // get video voted
                        Video videoVoted = dbVoteContest.Videos.Where(x => x.idVideo == votingVideo.idVideo).FirstOrDefault();
                        //videoVote = dbVoteContest.Videos.Where(x => x.idVideo == idVideo).FirstOrDefault();
                        //// Check round
                        //if (videoVoted.idRound != videoVote.idRound)
                        //{
                        //    votingVideo = new VotingVideo();
                        //    votingVideo.idVideo = idVideo;
                        //    votingVideo.codeAuthor = codeAuthor;
                        //    votingVideo.idUser = idUser;

                        //    dbVoteContest.VotingVideos.Add(votingVideo);
                        //    dbVoteContest.SaveChanges();

                        //    videoVote = dbVoteContest.Videos.Where(x => x.idVideo == idVideo).FirstOrDefault();
                        //    videoVote.codeAuthor = codeAuthor;
                        //}
                        //else
                        //{
                        //    videoVote = videoVoted;
                        //    videoVote.codeAuthor = votingVideo.codeAuthor;
                        //}
                        videoVote            = videoVoted;
                        videoVote.codeAuthor = votingVideo.codeAuthor;
                    }
                }
            }
            finally
            {
                if (dbVoteContest != null)
                {
                    ((IDisposable)dbVoteContest).Dispose();
                }
            }

            return(videoVote);
        }