Exemple #1
0
        public IActionResult Home()
        {
            var loggedInUserUsername = HttpContext.Session.GetString("LoggedInUserUsername");
            var loggedInUserRole     = HttpContext.Session.GetString("LoggedInUserRole");
            var loggedInUserId       = HttpContext.Session.GetString("LoggedInUserId");


            IEnumerable <Video> top5Videos    = new List <Video>();
            IEnumerable <Video> allVideos     = new List <Video>();
            List <VideoDTO>     top5VideosDTO = new List <VideoDTO>();
            List <VideoDTO>     allVideosDTO  = new List <VideoDTO>();

            if (loggedInUserRole == null)
            {
                top5Videos = _videoData.GetTop5("NoUser", 0);
                allVideos  = _videoData.GetAllNoUser();
            }
            else
            {
                if (loggedInUserRole.Equals("Admin"))
                {
                    top5Videos = _videoData.GetTop5("Admin", long.Parse(loggedInUserId));
                    allVideos  = _videoData.GetAllForAdmin();
                }
                else
                {
                    top5Videos = _videoData.GetTop5("User", long.Parse(loggedInUserId));
                    allVideos  = _videoData.GetAllForUser(long.Parse(loggedInUserId));
                }
            }
            foreach (var v in top5Videos)
            {
                v.Owner            = _userData.GetById(v.OwnerId);
                v.Owner.UserVideos = null;
                VideoDTO videoDTO = VideoDTO.ConvertVideoToDTO(v);
                top5VideosDTO.Add(videoDTO);
            }

            foreach (var v in allVideos)
            {
                v.Owner            = _userData.GetById(v.OwnerId);
                v.Owner.UserVideos = null;
                VideoDTO videoDTO = VideoDTO.ConvertVideoToDTO(v);
                allVideosDTO.Add(videoDTO);
            }

            HomeVideoViewModel homeVideoViewModel = new HomeVideoViewModel();

            homeVideoViewModel.AllVideos  = allVideosDTO;
            homeVideoViewModel.Top5Videos = top5VideosDTO;
            var contentType = Request.ContentType;

            if (contentType != null)
            {
                if (contentType.Equals("application/json"))
                {
                    return(Json(homeVideoViewModel));
                }
                else if (contentType.Equals("text/html"))
                {
                    return(View("~/Views/Shared/HomePage.cshtml", homeVideoViewModel));
                }
                return(StatusCode(415));
            }
            return(View("~/Views/Shared/HomePage.cshtml", homeVideoViewModel));
        }