//Báo cáo các tuần trong năm của 1 Chuyên mục public ActionResult AllDetailReports(int catid) { var db = new VITVContext(); var gaContext = new GoogleAnalyticContext(); var vc = db.VideoCategories.Find(catid); if (vc == null) { return(Content("<b>Không có dữ liệu !</b>")); } List <AgeReport> ages = gaContext.AgeOverviews.Where(a => a.VideoCatId == catid).GroupBy(a => a.Name).Select( g => new AgeReport { Name = g.Key, SessionCount = g.Sum(a => a.SessionCount), NewUser = g.Sum(a => a.NewUser) } ).ToList(); List <GenderReport> genders = gaContext.GenderOverviews.Where(a => a.VideoCatId == catid).GroupBy(a => a.Name).Select( g => new GenderReport { Name = g.Key, SessionCount = g.Sum(a => a.SessionCount), NewUser = g.Sum(a => a.NewUser) } ).ToList(); List <SocialNetworkReport> socialNetworks = gaContext.SocialNetworkDetails.Where(a => a.VideoCatId == catid).GroupBy(a => a.Name).Select( g => new SocialNetworkReport { Name = g.Key, SessionCount = g.Sum(a => a.SessionCount), PageView = g.Sum(a => a.PageView) } ).ToList(); List <CityReport> cities = gaContext.Cities.Where(a => a.VideoCatId == catid).GroupBy(a => a.Name).Select( g => new CityReport { Name = g.Key, SessionCount = g.Sum(a => a.SessionCount), NewUser = g.Sum(a => a.NewUser) } ).ToList(); ViewBag.Ages = ages; ViewBag.Genders = genders; ViewBag.SocialNetworks = socialNetworks; ViewBag.Cities = cities; if (vc.Children != null && vc.Children.Count > 0) { //tro ve trang bao cao cho chuyen muc cha return(View("ParentCategoryReport", vc)); } return(View(vc)); }
public ActionResult VideoReport(int videoId) { var vitvContext = new VITVContext(); var video = _videoRepository.Find(videoId); var gaContext = new GoogleAnalyticContext(); List <AgeReport> ages = gaContext.Ages.Where(a => a.VideoId == videoId).GroupBy(a => a.Name).Select( g => new AgeReport { Name = g.Key, SessionCount = g.Sum(a => a.SessionCount), NewUser = g.Sum(a => a.NewUser), PageView = g.Sum(a => a.PageView) } ).ToList(); List <GenderReport> genders = gaContext.Genders.Where(a => a.VideoId == videoId).GroupBy(a => a.Name).Select( g => new GenderReport { Name = g.Key, SessionCount = g.Sum(a => a.SessionCount), NewUser = g.Sum(a => a.NewUser), PageView = g.Sum(a => a.PageView) } ).ToList(); List <SocialNetworkReport> socialNetworks = gaContext.SocialNetworkDetails.Where(a => a.VideoId == videoId).GroupBy(a => a.Name).Select( g => new SocialNetworkReport { Name = g.Key, SessionCount = g.Sum(a => a.SessionCount), PageView = g.Sum(a => a.PageView) } ).ToList(); List <CountryIsoCodeReport> countries = gaContext.CountryIsoCodes.Where(a => a.VideoId == videoId).GroupBy(a => new { Name = a.Name, FullName = a.FullName }).Select( g => new CountryIsoCodeReport { Name = g.Key.Name, FullName = g.Key.FullName, SessionCount = g.Sum(a => a.SessionCount), PageView = g.Sum(a => a.PageView), NewUser = g.Sum(a => a.NewUser) } ).ToList(); // g => new CityReport // { // Name = g.Key, // SessionCount = g.Sum(a => a.SessionCount), // NewUser = g.Sum(a => a.NewUser) // } //).ToList(); List <UserTypeReport> userTypes = gaContext.UserTypes.Where(a => a.VideoId == videoId).GroupBy(a => a.Name).Select( g => new UserTypeReport { Name = g.Key, SessionCount = g.Sum(a => a.SessionCount), PageView = g.Sum(a => a.PageView) } ).ToList(); List <OSReport> OSs = gaContext.OSs.Where(a => a.VideoId == videoId).GroupBy(a => a.Name).Select( g => new OSReport { Name = g.Key, SessionCount = g.Sum(a => a.SessionCount), NewUser = g.Sum(a => a.NewUser), PageView = g.Sum(a => a.PageView) } ).ToList(); ViewBag.Ages = ages; ViewBag.Genders = genders; ViewBag.SocialNetworks = socialNetworks; ViewBag.Countries = countries; ViewBag.UserTypes = userTypes; ViewBag.OSs = OSs; return(View(video)); }