예제 #1
0
        public IActionResult Details(int id)
        {
            var tube = this.tubeService.FindById(id);

            if (tube == null)
            {
                return(this.RedirectToAction("Index", "Home"));
            }

            tube.Views++;
            this.tubeService.Save();

            var model = new TubeDetailsViewModel
            {
                Title       = tube.Title,
                Author      = tube.Author,
                Views       = tube.Views,
                Description = tube.Description
            };

            return(this.View(model));
        }
예제 #2
0
        public IActionResult Details(int id)
        {
            if (!this.User.IsAuthenticated)
            {
                return(this.RedirectToAction(LoggedOutHomePage));
            }

            TubeDetailsViewModel tubeDetails;

            using (var db = new MeTubeDbContext())
            {
                var tube = db.Tubes.Find(id);
                if (tube == null)
                {
                    return(this.RedirectToAction(LoggedInHomePage));
                }

                tube.Views++;
                db.SaveChanges();

                tubeDetails = new TubeDetailsViewModel
                {
                    Title       = tube.Title,
                    Author      = tube.Author,
                    Description = tube.Description,
                    YoutubeId   = tube.YoutubeId,
                    Views       = tube.Views
                };
            }

            this.ViewData["title"]       = tubeDetails.Title;
            this.ViewData["author"]      = tubeDetails.Author;
            this.ViewData["description"] = tubeDetails.Description;
            this.ViewData["youtubeId"]   = tubeDetails.YoutubeId;
            this.ViewData["views"]       = $"{tubeDetails.Views} View{(tubeDetails.Views == 1 ? "" : "s")}";

            return(this.View());
        }
예제 #3
0
        public ICollection <TubeDetailsViewModel> GetAllUserTubes(string username)
        {
            var userId = this.context.Users.FirstOrDefault(u => u.Username == username).Id;

            var tubes = this.context.Tubes.Where(t => t.UploaderId == userId).ToArray();

            var tubeViewModels = new List <TubeDetailsViewModel>();

            for (var i = 0; i < tubes.Length; i++)
            {
                var tubeViewModel = new TubeDetailsViewModel
                {
                    Author = tubes[i].Author,
                    Id     = tubes[i].Id,
                    Title  = tubes[i].Title,
                    Index  = i + 1
                };

                tubeViewModels.Add(tubeViewModel);
            }

            return(tubeViewModels);
        }