public ActionResult songReport() { var query = from s in db.Songs select s; List <Song> allSongs = query.ToList(); List <SongReportViewModel> songReports = new List <SongReportViewModel>(); foreach (Song s in allSongs) { SongReportViewModel sivm = new SongReportViewModel(); var query2 = from pi in db.PurchaseItems where pi.Purchase.isPurchased == true && pi.PurchaseItemSong.SongID == s.SongID select pi; List <PurchaseItem> songPurchaseItem = query2.ToList(); Int32 purchaseCount = 0; Decimal totalRevenue = 0; foreach (PurchaseItem pi in songPurchaseItem) { purchaseCount += 1; totalRevenue += pi.PurchaseItemPrice; } sivm.purchaseCount = purchaseCount; sivm.songRevenue = totalRevenue; sivm.Song = s; songReports.Add(sivm); } songReports = songReports.OrderByDescending(x => x.songRevenue).ToList(); return(View(songReports)); }
public ActionResult SongReport() { List <SongReportViewModel> SongReportViewModels = new List <SongReportViewModel>(); List <Song> songlist = db.Songs.ToList(); foreach (Song song in db.Songs) { Int32 SaleCount; SaleCount = 0; Decimal TotalRevenue; TotalRevenue = 0.00m; List <OrderDetail> OrderDetails = db.OrderDetails.Where(x => x.Product.ContentID == song.ContentID).ToList(); foreach (OrderDetail orderdetail in OrderDetails) { SaleCount += 1; TotalRevenue += orderdetail.ExtendedPrice; } SongReportViewModel songreport = new SongReportViewModel(); songreport.SongName = song.SongName; songreport.Revenue = TotalRevenue; songreport.SalesCount = SaleCount; SongReportViewModels.Add(songreport); } ViewBag.SongReports = SongReportViewModels; return(View()); }