//public ActionResult GameDetailsReport() //{ // using (CVGSModelsEntities cvgs = new CVGSModelsEntities()) // { // var v = cvgs.Games.ToList(); // return View("~/Views/Reports/GamesDetailsReport.cshtml", v); // } //} //public ActionResult MemberDetailsReport() //{ // using (CVGSModelsEntities cvgs = new CVGSModelsEntities()) // { // var v = cvgs.MemberDetails.ToList(); // return View("~/Views/Reports/MemberDetailsReport.cshtml", v); // } //} //public ActionResult MemberListReport() //{ // using (CVGSModelsEntities cvgs = new CVGSModelsEntities()) // { // var v = cvgs.MemberDetails.ToList(); // return View("~/Views/Reports/ListOfMembersReport.cshtml", v); // } //} public ActionResult Report(string id, string reportName, int? memberId, int? gameId) { List<MemberDetails> md = new List<MemberDetails>(); //ListOfGamesReport gd = new ListOfGamesReport(); List<GameDetailsReport> gd = new List<GameDetailsReport>(); //Member member = new Member(); ReportDataSource rd = new ReportDataSource(); string reportPath = reportName + ".rdlc"; LocalReport lr = new LocalReport(); string path = Path.Combine(Server.MapPath("~/Reports"), reportPath); string pageWidth = ""; if (System.IO.File.Exists(path)) { lr.ReportPath = path; } else { return View("Index"); } if (reportName == "MemberDetailsReport") { using (CVGSModelsEntities cvgs = new CVGSModelsEntities()) { var member = UoW.Members.GetAll().FirstOrDefault(m => m.UserId == memberId); string gender = ""; if (member.MemberDetails.IsMale.HasValue) { if (member.MemberDetails.IsMale.Value == true) { gender = "Male"; } else { gender = "Female"; } } string newsletter = ""; if (member.MemberDetails.ReceiveNewsletter.HasValue) { if (member.MemberDetails.ReceiveNewsletter.Value == true) { newsletter = "Yes"; } else { newsletter = "No"; } } string lastName = ""; string firstName = ""; string dateOfBirth = ""; string platformName = ""; string category = ""; string provinceStateName = ""; string country = ""; string postalZipCode = ""; string street1 = ""; string street2 = ""; string city = ""; if (member.MemberDetails.LastName != null) { lastName = member.MemberDetails.LastName; } if (member.MemberDetails.FirstName != null) { firstName = member.MemberDetails.FirstName; } if (member.MemberDetails.DateOfBirth != null) { dateOfBirth = member.MemberDetails.DateOfBirth.Value.ToString("MM/dd/yyyy"); } if (member.MemberDetails.PlatformId != null) { platformName = member.MemberDetails.Platform.PlatformName; } if (member.MemberDetails.CategoryId != null) { category = member.MemberDetails.Category.CategoryName; } if (member.MemberDetails.HomeAddress != null) { provinceStateName = member.MemberDetails.HomeAddress.ProvinceState.Name; country = member.MemberDetails.HomeAddress.Country.Name; postalZipCode = member.MemberDetails.HomeAddress.PostalZipCode; street1 = member.MemberDetails.HomeAddress.Street1; street2 = member.MemberDetails.HomeAddress.Street2; city = member.MemberDetails.HomeAddress.City; } var memberDetailsReport = new MemberDetailsReport() { UserId = member.UserId, LastName = lastName, FirstName = firstName, Email = member.Email, DateOfBirth = dateOfBirth, DisplayName = member.DisplayName, IsMale = gender, PlatformName = platformName, Category = category, ReceiveNewsletter = newsletter, MemberSince = member.MemberSince.ToString("MM/dd/yyyy"), Name = provinceStateName, Expr1 = country, PostalZipCode = postalZipCode, Street1 = street1, Street2 = street2, City = city, }; List<MemberDetailsReport> members = new List<MemberDetailsReport>(); members.Add(memberDetailsReport); rd = new ReportDataSource("DataSet1", members); pageWidth = "14in"; } } else if (reportName == "ListOfMembersReport") { using (CVGSModelsEntities cvgs = new CVGSModelsEntities()) { md = cvgs.MemberDetails.ToList(); rd = new ReportDataSource("DataSet1", md); pageWidth = "8.5in"; } } else if (reportName == "ListOfEmployeesReport") { var listOfEmployees = UoW.Employees.GetAll() .ToList() .Select(m => new ListOfEmployeesReport() { UserId = m.UserId, LastName = m.LastName, FirstName = m.FirstName, DisplayName = m.DisplayName }); using (CVGSModelsEntities cvgs = new CVGSModelsEntities()) { rd = new ReportDataSource("DataSet1", listOfEmployees); pageWidth = "8.5in"; } } else if (reportName == "ListOfGamesReport") { var listOfGames = UoW.Games.GetAll() .ToList() .Select(g => new ListOfGamesReport() { GameId = g.GameId, PlatformName = g.Platform.PlatformName, Title = g.Title }); using (CVGSModelsEntities cvgs = new CVGSModelsEntities()) { //gd.Add(listOfGames); rd = new ReportDataSource("DataSet1", listOfGames); pageWidth = "8.5in"; } } else if (reportName == "GameDetailsReport") { var game = UoW.Games.GetAll().FirstOrDefault(g => g.GameId == gameId); var gameDetailsReport = new GameDetailsReport() { GameId = game.GameId, Title = game.Title, PlatformName = game.Platform.PlatformName, CategoryName = game.Category.CategoryName, Price = game.Price, Name = game.Publisher.Name, ReleaseDate = game.ReleaseDate.ToString("MM/dd/yyyy"), Expr1 = game.ESRBRating.Name }; using (CVGSModelsEntities cvgs = new CVGSModelsEntities()) { List<GameDetailsReport> gameDetails = new List<GameDetailsReport>(); gameDetails.Add(gameDetailsReport); rd = new ReportDataSource("DataSet1", gameDetails); pageWidth = "9in"; } } else if (reportName == "SalesReport") { var salesReport = UoW.Orders.GetAll() .ToList() .Select(g => new SalesReport() { OrderDate = g.OrderDate, OrderId = g.OrderId, Total = g.Total, Username = g.Username }); using (CVGSModelsEntities cvgs = new CVGSModelsEntities()) { rd = new ReportDataSource("DataSet1", salesReport); pageWidth = "8.5in"; } } else if (reportName == "WishListReport") { var wishLists = UoW.WishLists.GetAll().ToList(); var distinctGames = wishLists.GroupBy(g => g.GameId); var wishListReport = new List<WishListReport>(); foreach (var game in distinctGames) { var list = new WishListReport(); foreach (var wishList in wishLists) { if (wishList.GameId == game.Key) { list.GameId = game.Key; list.Count += wishList.Count; list.Title = game.FirstOrDefault().Game.Title; } } wishListReport.Add(list); } using (CVGSModelsEntities cvgs = new CVGSModelsEntities()) { rd = new ReportDataSource("DataSet1", wishListReport); pageWidth = "8.5in"; } } lr.DataSources.Add(rd); string reportType = id; string mimeType; string encoding; string fileNameExtension; string deviceInfo = "<DeviceInfo>" + " <OutputFormat>" + id + "</OutputFormat>" + "<PageWidth>" + pageWidth + "</PageWidth>" + "<PageHeight>11.5in</PageHeight>" + "<MarginTop>0.5in</MarginTop>" + "<MarginLeft>0in</MarginLeft>" + "<MarginRight>0in</MarginRight>" + "<MarginBottom>0.5in</MarginBottom>" + "</DeviceInfo>"; Warning[] warnings; string[] streams; byte[] renderedBytes; renderedBytes = lr.Render( reportType, deviceInfo, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); return File(renderedBytes, mimeType); }
public ActionResult MemberDetailsReport() { int memberID = (int)Session["memberId"]; var member = UoW.Members.GetAll().FirstOrDefault(m => m.UserId == memberID); var dob = member.MemberDetails.DateOfBirth; var format = String.Format("{0:MM/dd/yyyy}", dob); var memberDetailsReport = new MemberDetailsReport() { UserId = member.UserId, LastName = member.MemberDetails.LastName, FirstName = member.MemberDetails.FirstName, Email = member.Email, DateOfBirth = format, Address = member.MemberDetails.HomeAddress }; return View(memberDetailsReport); }