public static string GetReportView(RestCommand command, int reportViewID) { ReportView reportView = ReportViews.GetReportView(command.LoginUser, reportViewID); if (reportView.OrganizationID != command.Organization.OrganizationID) { throw new RestException(HttpStatusCode.Unauthorized); } return(reportView.GetXml("ReportView", true)); }
private DataTable GetTable(int reportID) { Report report = Reports.GetReport(UserSession.LoginUser, reportID); if (report == null) { return(null); } using (SqlConnection connection = new SqlConnection(GetReportConnectionString())) { DateTime start = DateTime.Now; ReportViews reportViews = new ReportViews(UserSession.LoginUser); ReportView reportView = reportViews.AddNewReportView(); reportView.UserID = UserSession.LoginUser.UserID; reportView.ReportID = report.ReportID; reportView.DateViewed = DateTime.UtcNow; _query = report.GetSqlOld(false, filterControl.ReportConditions); reportView.SQLExecuted = _query; report.LastSqlExecuted = _query; report.Collection.Save(); SqlCommand command = new SqlCommand(_query, connection); Report.CreateParameters(UserSession.LoginUser, command, UserSession.LoginUser.UserID); SqlDataAdapter adapter = new SqlDataAdapter(command); DataTable table = new DataTable(); connection.Open(); SqlTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadUncommitted); command.Transaction = transaction; try { adapter.Fill(table); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); reportView.ErrorMessage = ex.Message; DataUtils.LogException(UserSession.LoginUser, ex); } foreach (DataColumn column in table.Columns) { column.ColumnName = column.ColumnName.Replace(' ', '_'); } reportView.DurationToLoad = DateTime.Now.Subtract(start).TotalSeconds; reportView.Collection.Save(); return(table); } }
public static string GetReportViews(RestCommand command) { ReportViews reportViews = new ReportViews(command.LoginUser); reportViews.LoadByOrganizationID(command.Organization.OrganizationID); if (command.Format == RestFormat.XML) { return(reportViews.GetXml("ReportViews", "ReportView", true, command.Filters)); } else { throw new RestException(HttpStatusCode.BadRequest, "Invalid data format"); } }