public void MostSellableItemsReport() { DateCriteriaForm rf = new DateCriteriaForm(); rf.onSuccessfulDateSelect += new EventHandler(child_onDateSelect); rf.ShowDialog(); using (var db = new posdbEntities()) { var query = (from c in db.salesorderdetails join d in db.salesorders on c.OrderID equals d.OrderID join p in db.products on c.ProductID equals p.ProductID join cat in db.categories on p.CategoryID equals cat.CategoryID where d.SaleDate >= AppConfig.ReportCriteria_FromDate && d.SaleDate <= AppConfig.ReportCriteria_ToDate select new { OrderID = c.OrderID, CategoryID = p.CategoryID, CategoryName = cat.CategoryName, ProductName = p.ProductName, SaleQuantity = c.Quantity, SaleAmount = c.SalePrice }).ToList(); var query2 = (from a in query group a by new { a.CategoryName, a.ProductName } into g select new { CategoryName = g.Key.CategoryName, ProductName = g.Key.ProductName, TotalQuantitySold = g.Sum(p => p.SaleQuantity), SaleAmount = g.Sum(p => p.SaleAmount) } ).ToList(); var resultList = query2.OrderByDescending(i => i.SaleAmount).Take(5); DataSet ds = new DataSet("MostSellableItemsDataSet"); DataTable dt = new DataTable("MostSellableItemsTable"); dt.Columns.Add("CategoryName"); dt.Columns.Add("ProductName"); dt.Columns.Add("TotalQuantitySold"); dt.Columns.Add("SaleAmount"); ds.Tables.Add(dt); Microsoft.Reporting.WinForms.ReportDataSource rds = new Microsoft.Reporting.WinForms.ReportDataSource("MostSellableItemsDataSet", resultList); reportViewer1.LocalReport.ReportPath = @"../../Reports/Sales_Reports/MostSellableItemsReport.rdlc"; reportViewer1.LocalReport.DataSources.Clear(); reportViewer1.LocalReport.DataSources.Add(rds); reportViewer1.LocalReport.Refresh(); reportViewer1.LocalReport.EnableExternalImages = true; string imagePath = @"file:///" + AppConfig.imagefile; ReportParameter parameter = new ReportParameter("ImagePathParameter", imagePath); reportViewer1.LocalReport.SetParameters(parameter); reportViewer1.RefreshReport(); } }
public void salesReportMonthly() { DateCriteriaForm rf = new DateCriteriaForm(); rf.onSuccessfulDateSelect += new EventHandler(child_onDateSelect); rf.ShowDialog(); using (var db = new posdbEntities()) { var query = (from c in db.salesorders where c.SaleDate >= AppConfig.ReportCriteria_FromDate && c.SaleDate <= AppConfig.ReportCriteria_ToDate group c by c.date_month_string into g select new { SaleDate = g.Key, SaleAmount = g.Sum(p => p.SaleAmount) }).ToList(); Microsoft.Reporting.WinForms.ReportDataSource rds = new Microsoft.Reporting.WinForms.ReportDataSource("SalesDataSet", query.ToList()); reportViewer1.LocalReport.ReportPath = @"../../Reports/Sales_Reports/SalesReportMonthly.rdlc"; reportViewer1.LocalReport.DataSources.Clear(); reportViewer1.LocalReport.DataSources.Add(rds); reportViewer1.LocalReport.Refresh(); reportViewer1.LocalReport.EnableExternalImages = true; string imagePath = @"file:///" + AppConfig.imagefile; ReportParameter parameter = new ReportParameter("ImagePathParameter", imagePath); reportViewer1.LocalReport.SetParameters(parameter); reportViewer1.RefreshReport(); } }