public async Task <PlayList> Create(PlaylistRequest plRequest)
        {
            var playlist = new PlayList();

            if (plRequest != null)
            {
                PlayList checkName = new PlayList();
                foreach (var item in GetAll().Where(x => x.UserId == plRequest.UserId))
                {
                    if (ConvertUnSigned.convertToUnSign(item.Name.ToLower()).Contains(ConvertUnSigned.convertToUnSign(plRequest.Name.ToLower())))
                    {
                        checkName = item;
                        break;
                    }
                }
                if (checkName.Name == null)
                {
                    playlist.Name       = plRequest.Name;
                    playlist.Status     = plRequest.Status;
                    playlist.UserId     = plRequest.UserId;
                    playlist.CreateDate = new GetDateNow().DateNow;
                    _context.PlayList.Add(playlist);
                    await _context.SaveChangesAsync();

                    var getPlaylist = _context.PlayList.OrderByDescending(x => x.Id).
                                      FirstOrDefault(x => x.Name == plRequest.Name && x.UserId == plRequest.UserId);
                    return(getPlaylist);
                }
            }
            return(null);
        }
        public IActionResult GetAllPlayList(int id, string nameSearch = null)
        {
            var user = UserAuthenticated.GetUser(User.Identity.Name);

            if (id != 0)
            {
                var playlist  = _detailService.GetAll().Where(x => x.PlayListId == id).ToList();
                var listVideo = (from plist in playlist
                                 join lvideo in _videoService.GetAll() on plist.VideoId equals lvideo.Id
                                 where lvideo.HidenVideo
                                 select lvideo).ToList();
                if (nameSearch != null)
                {
                    nameSearch = ConvertUnSigned.convertToUnSign(nameSearch).ToLower().Trim();
                    listVideo  = listVideo.Where(x => ConvertUnSigned.convertToUnSign(x.Name).
                                                 ToLower().Trim().Contains(nameSearch)).ToList();
                }

                if (listVideo.Count > 0)
                {
                    return(Content(JsonConvert.SerializeObject(_videoService.GetAllVideoPlayList(listVideo, user))));
                }
                else
                {
                    return(Content("null"));
                }
            }

            return(null);
        }
        public List <Video_vm> GetSearchVideo_vm(string nameSearch)
        {
            List <Video_vm> listVideo_Vm;
            var             listVideo = _videoService.GetAll();
            var             listUser  = _userService.GetAll();

            listVideo_Vm = _videoService.GetVideo_Vm(listVideo, listUser).OrderByDescending(x => x.Id).
                           Where(x => x.Status && x.HidenVideo).ToList();
            if (nameSearch != null)
            {
                nameSearch = ConvertUnSigned.convertToUnSign(nameSearch).ToLower();
                var listCategory = _categoryService.GetAll().Result.
                                   Where(x => ConvertUnSigned.convertToUnSign(x.Name).ToLower().Contains(nameSearch)).ToList();
                if (listCategory.Count > 0)
                {
                    listVideo_Vm = (from video in listVideo_Vm
                                    join category in listCategory on video.CategorysId equals category.Id
                                    select video).ToList();
                }
                else
                {
                    listVideo_Vm = listVideo_Vm.Where(x => ConvertUnSigned.convertToUnSign(x.Name).ToLower().Contains(nameSearch) ||
                                                      ConvertUnSigned.convertToUnSign(x.Description).ToLower().Contains(nameSearch)).ToList();
                }
            }
            else
            {
                listVideo_Vm = null;
            }
            return(listVideo_Vm);
        }
Example #4
0
        public async Task <IActionResult> GetAll(string nameSearch = null)
        {
            var getall = await _categoryService.GetAllApi();

            if (nameSearch != null)
            {
                nameSearch = ConvertUnSigned.convertToUnSign(nameSearch).ToLower();
                getall     = getall.Where(x => ConvertUnSigned.convertToUnSign(x.Name).ToLower().Contains(nameSearch)).ToList();
            }
            return(Ok(JsonConvert.SerializeObject(getall)));
        }
        public async Task <IActionResult> GetUserAdmin(string email, string nameSearch = null)
        {
            var listUser = _userService.GetUserAdmin(email);

            if (nameSearch != null)
            {
                nameSearch = ConvertUnSigned.convertToUnSign(nameSearch).ToLower();
                listUser   = listUser.Where(x => ConvertUnSigned.convertToUnSign(x.Name).ToLower().
                                            Contains(nameSearch)).ToList();
            }
            return(Ok(JsonConvert.SerializeObject(listUser)));
        }
        public async Task <IActionResult> GetAll(string nameSearch = null)
        {
            var listReport_Vm = _reportService.GetList_Vm();

            if (nameSearch != null)
            {
                nameSearch = ConvertUnSigned.convertToUnSign(nameSearch).ToLower();

                listReport_Vm = listReport_Vm.Where(x => ConvertUnSigned.convertToUnSign(x.Content).
                                                    ToLower().Contains(nameSearch) || ConvertUnSigned.convertToUnSign(x.NamUser).
                                                    ToLower().Contains(nameSearch) || ConvertUnSigned.convertToUnSign(x.NameVideo).
                                                    ToLower().Contains(nameSearch)).ToList();
            }
            return(Ok(JsonConvert.SerializeObject(listReport_Vm)));
        }
Example #7
0
        public IActionResult Index_Partial(int?page, string name)
        {
            int pageNumber    = page ?? 1;
            int pageSize      = 5;
            var listUserAdmin = _userService.GetUserAdmin(User.Identity.Name);

            if (name != null)
            {
                name          = ConvertUnSigned.convertToUnSign(name).ToLower();
                listUserAdmin = listUserAdmin.Where(x => ConvertUnSigned.convertToUnSign(x.Name).
                                                    ToLower().Contains(name)).ToList();
            }
            var list = listUserAdmin.ToPagedList(pageNumber, pageSize);

            return(View(list));
        }
Example #8
0
        public IActionResult Index_Partial(int?page, string name = null)
        {
            int pageNumber   = page ?? 1;
            var listUser     = _userService.GetAll();
            var listVideo    = _videoService.GetAll();
            var listVideo_vm = _videoService.GetVideo_Vm(listVideo, listUser).OrderByDescending(x => x.Id).ToList();

            if (name != null)
            {
                name         = ConvertUnSigned.convertToUnSign(name).ToLower();
                listVideo_vm = listVideo_vm.Where(x => ConvertUnSigned.convertToUnSign(x.Name).
                                                  ToLower().Contains(name) || ConvertUnSigned.convertToUnSign(x.FirtsName + " " + x.LastName).
                                                  ToLower().Contains(name)).ToList();
            }
            ViewBag.ListCountComment = _commentService.GetCountCm().ToArray();
            return(View(listVideo_vm.ToPagedList(pageNumber, 8)));
        }
Example #9
0
        public List <DetailPlayListVideo> GetDetailPlayList(AppUser user, string nameSearch)
        {
            //list check no video in play list if play list has video
            var listCheckNovideo = new List <PlayList>();

            //Get playlist in database
            var list = _context.PlayList.ToList(); //105,95,100

            var checkStatusNoVideo = from detail in _context.DetailVideo
                                     join video in _context.Video on detail.VideoId equals video.Id
                                     join cate in _context.Category on video.CategorysId equals cate.Id
                                     where video.Status && video.HidenVideo && cate.Status
                                     select detail;
            var playlistNoVideo = _context.PlayList.Where(x => !checkStatusNoVideo.Any(y => y.PlayListId == x.Id) && x.UserId == user.Id).ToList();

            if (nameSearch != null)
            {
                nameSearch = ConvertUnSigned.convertToUnSign(nameSearch).ToLower().Trim();
                list       = list.Where(x => ConvertUnSigned.convertToUnSign(x.Name).
                                        ToLower().Contains(nameSearch)).ToList();
                playlistNoVideo = playlistNoVideo.Where(x => ConvertUnSigned.convertToUnSign(x.Name).
                                                        ToLower().Contains(nameSearch)).ToList();
            }
            var playlist       = list.Where(x => x.UserId == user.Id).ToList();
            var detailPlayList = (from plist in playlist
                                  join detail in _context.DetailVideo on plist.Id equals detail.PlayListId
                                  select new
            {
                plist.Id,
                plist.UserId,
                plist.Name,
                plist.Status,
                detail.VideoId,
                plist.CreateDate
            }).ToList();
            var listCountItem = from detail in detailPlayList
                                join video in _context.Video on detail.VideoId equals video.Id
                                join cate in _context.Category on video.CategorysId equals cate.Id
                                where video.HidenVideo && video.Status && cate.Status
                                group detail by detail.Id into grp
                                select new
            {
                Key   = grp.Key,
                Count = grp.Count()
            };
            var detailPlayListVideo = from dlist in detailPlayList
                                      join video in _context.Video.Where(x => x.Status && x.HidenVideo) on dlist.VideoId equals video.Id
                                      join cate in _context.Category on video.CategorysId equals cate.Id
                                      where cate.Status
                                      select new { dlist, video.PosterImg };

            if (detailPlayListVideo.Count() == 0)
            {
                //check list has video but category is not active
                var checkList = from pl in _context.PlayList
                                join us in _context.Users on pl.UserId equals us.Id
                                join detail in _context.DetailVideo on pl.Id equals detail.PlayListId
                                join video in _context.Video on detail.VideoId equals video.Id
                                join cate in _context.Category on video.CategorysId equals cate.Id
                                where !cate.Status && pl.UserId == user.Id
                                select pl;
                listCheckNovideo = playlistNoVideo.Union(checkList.ToList()).ToList();

                if (nameSearch != null)
                {
                    listCheckNovideo = listCheckNovideo.Where(x => ConvertUnSigned.convertToUnSign(x.Name).
                                                              ToLower().Contains(nameSearch)).ToList();
                }
            }
            else
            {
                listCheckNovideo = playlistNoVideo;
            }
            var listComplete = (from countItem in listCountItem
                                join detail in detailPlayListVideo on countItem.Key equals detail.dlist.Id
                                join listUser in _context.AppUser.ToList() on detail.dlist.UserId equals listUser.Id
                                select new
            {
                Count = countItem.Count,
                detail.dlist.Id,
                detail.dlist.Name,
                detail.dlist.Status,
                detail.dlist.UserId,
                detail.dlist.VideoId,
                detail.PosterImg,
                detail.dlist.CreateDate,
                listUser.FirtsName,
                listUser.LastName
            }).ToList();
            var listDetail_vm = new List <DetailPlayListVideo>();

            foreach (var item in listComplete)
            {
                var i = new DetailPlayListVideo();
                i.Id          = item.Id;
                i.VideoId     = item.VideoId;
                i.Status      = item.Status;
                i.UserId      = item.UserId;
                i.Name        = item.Name;
                i.PosterVideo = item.PosterImg;
                i.CountItem   = item.Count;
                i.CreateDate  = item.CreateDate;
                i.FirtsName   = item.FirtsName;
                i.LastName    = item.LastName;
                if (listDetail_vm.Count > 0)
                {
                    if (!listDetail_vm.Any(x => x.Id == item.Id))
                    {
                        listDetail_vm.Add(i);
                    }
                }
                else
                {
                    listDetail_vm.Add(i);
                }
            }
            var playlistNovideoComplete = (from novideo in listCheckNovideo
                                           join us in _context.AppUser on novideo.UserId equals us.Id
                                           select new
            {
                Count = 0,
                novideo.Id,
                novideo.Name,
                novideo.Status,
                novideo.UserId,
                novideo.CreateDate,
                us.FirtsName,
                us.LastName
            }).ToList();
            var playlistNovideo_vm = new List <DetailPlayListVideo>();

            foreach (var item in playlistNovideoComplete)
            {
                var i = new DetailPlayListVideo();
                i.Id          = item.Id;
                i.Name        = item.Name;
                i.Status      = item.Status;
                i.UserId      = item.UserId;
                i.VideoId     = 0;
                i.PosterVideo = null;
                i.CreateDate  = item.CreateDate;
                i.CountItem   = 0;
                i.FirtsName   = item.FirtsName;
                i.LastName    = item.LastName;
                playlistNovideo_vm.Add(i);
            }
            listDetail_vm.AddRange(playlistNovideo_vm);
            return(listDetail_vm.OrderByDescending(x => x.Id).ToList());
        }