public ActionResult GenerateWeekReport(int employeeId, string weekOfYear, DateTime fromDate, DateTime toDate) { try { ReportDocument rpt = new ReportDocument(); rpt.Load(Server.MapPath("~/Report/WeekReport.rpt")); DailyStatementDS ds = new DailyStatementDS(); string conn = System.Configuration.ConfigurationManager.ConnectionStrings["DailyStatementContext"].ConnectionString; // Get data from DailyInfoes string condition = String.Format("SELECT * FROM [dbo].[DailyInfoes] WHERE [EmployeeId] = {0} AND ([CreateDate] >= '{1}' AND [CreateDate] <= '{2}')", employeeId, fromDate.ToShortDateString(), toDate.ToShortDateString()); SqlDataAdapter da = new SqlDataAdapter(condition, conn); da.Fill(ds.DailyInfoes); // Get data from Employees condition = String.Format("SELECT * FROM [dbo].[Employees] WHERE [EmployeeId] = {0}", employeeId); da = new SqlDataAdapter(condition, conn); da.Fill(ds.Employees); // Get data from Projects condition = "SELECT * FROM [dbo].[Projects]"; da = new SqlDataAdapter(condition, conn); da.Fill(ds.Projects); // Get data from WorkCategories condition = "SELECT * FROM [dbo].[WorkCategories]"; da = new SqlDataAdapter(condition, conn); da.Fill(ds.WorkCategories); // Due to SetParameterValue always return error, so use datatable to store parameter ds.ParameterForWeekRpt.Rows.Add(employeeId, fromDate, toDate, weekOfYear); rpt.SetDataSource(ds); Stream stream = rpt.ExportToStream(ExportFormatType.PortableDocFormat); return File(stream, "application/pdf"); } catch (Exception e) { return Content(e.ToString()); } }
public ActionResult GenerateWorkHoursAnalysisReport(int year, int month, string company) { try { ReportDocument rpt = new ReportDocument(); rpt.Load(Server.MapPath("~/Report/WorkHoursAnalysisReport.rpt")); DailyStatementDS ds = new DailyStatementDS(); string conn = System.Configuration.ConfigurationManager.ConnectionStrings["DailyStatementContext"].ConnectionString; // Get data from DailyInfoes string condition = "SELECT * FROM [dbo].[DailyInfoes];"; SqlDataAdapter da = new SqlDataAdapter(condition, conn); da.Fill(ds.DailyInfoes); // Get data from Employees condition = "SELECT * FROM [dbo].[Employees];"; da = new SqlDataAdapter(condition, conn); da.Fill(ds.Employees); // Get data from Projects condition = "SELECT * FROM [dbo].[Projects];"; da = new SqlDataAdapter(condition, conn); da.Fill(ds.Projects); // Due to SetParameterValue always return error, so use datatable to store parameter ds.ParameterForAnalysisRpt.Rows.Add(year, month, company); rpt.SetDataSource(ds); Stream stream = rpt.ExportToStream(ExportFormatType.PortableDocFormat); return File(stream, "application/pdf"); } catch (Exception e) { return Content(e.ToString()); } }
public ActionResult GenerateProjectSummaryReport(int projectId = 0) { try { ReportDocument rpt = new ReportDocument(); rpt.Load(Server.MapPath("~/Report/ProjectSummaryReport.rpt")); DailyStatementDS ds = new DailyStatementDS(); string conn = System.Configuration.ConfigurationManager.ConnectionStrings["DailyStatementContext"].ConnectionString; // Get data from DailyInfoes string condition = String.Format("SELECT T1.* FROM [dbo].[DailyInfoes] T1 INNER JOIN [dbo].[Projects] T2 on T2.[ProjectId] = T1.[Project_ProjectId] WHERE (({0} = 0 AND T2.[ProjectId] >= 0) OR T2.[ProjectId] = {0})", projectId); SqlDataAdapter da = new SqlDataAdapter(condition, conn); da.Fill(ds.DailyInfoes); // Get data from WorkCategories condition = "SELECT * FROM [dbo].[WorkCategories]"; da = new SqlDataAdapter(condition, conn); da.Fill(ds.WorkCategories); // Get data from Projects condition = String.Format("SELECT * FROM [dbo].[Projects] WHERE (({0} = 0 AND [ProjectId] >= 0) OR [ProjectId] = {0})", projectId); da = new SqlDataAdapter(condition, conn); da.Fill(ds.Projects); // Get data from Predictions condition = String.Format("SELECT * FROM [dbo].[Predictions] WHERE (({0} = 0 AND [Project_ProjectId] >= 0) OR [Project_ProjectId] = {0})", projectId); da = new SqlDataAdapter(condition, conn); da.Fill(ds.Predictions); // Due to SetParameterValue always return error, so use datatable to store parameter ds.ParameterForProjectRpt.Rows.Add(projectId, null); rpt.SetDataSource(ds); Stream stream = rpt.ExportToStream(ExportFormatType.PortableDocFormat); return File(stream, "application/pdf"); } catch (Exception e) { return Content(e.ToString()); } }