protected void Page_Load(object sender, EventArgs e) { accountingMasterPage = (AccountingMasterPage)Page.Master; accountingMasterPage.InitializeMasterPageComponents(); tenant = (Tenant)Session["tenant"]; if (!String.IsNullOrEmpty(Request["action"])) { action = Request["action"]; } if (!String.IsNullOrEmpty(Request["currPage"])) { currentPage = int.Parse(Request["currPage"]); } if (!String.IsNullOrEmpty(Request["detailType"])) { detailType = Request["detailType"]; } int printerId = 0; DateTime startDate = DateTime.Now; DateTime endDate = DateTime.Now; try { printerId = int.Parse(Request.QueryString["printerId"]); startDate = DateTime.Parse(Request.QueryString["startDate"]); endDate = DateTime.Parse(Request.QueryString["endDate"]); } catch (System.FormatException) { // Remove todos os controles da página reportSurface.Controls.Clear(); // Mostra aviso de inconsistência nos parâmetros WarningMessage.Show(reportSurface, ArgumentBuilder.GetWarning()); return; } Dictionary <String, Object> reportData = DeviceCostDetailsReport.GetReportData(detailType); lblTitle.Text = (String)reportData["title"]; PrinterDAO printerDAO = new PrinterDAO(accountingMasterPage.dataAccess.GetConnection()); Printer printer = printerDAO.GetPrinter(tenant.id, printerId); lblDeviceName.Text = "Impressora: " + printer.alias; GenerateReport(printerId, startDate, endDate, detailType); }
public override void BuildReport() { Dictionary <String, Object> reportData = GetReportData(detailType); TenantDAO tenantDAO = new TenantDAO(sqlConnection); Tenant tenant = tenantDAO.GetTenant(tenantId); PrinterDAO printerDAO = new PrinterDAO(sqlConnection); Printer printer = printerDAO.GetPrinter(tenantId, printerId); DeviceCostDetailDAO deviceCostDetailDAO = new DeviceCostDetailDAO(sqlConnection); List <Object> deviceCostDetails = deviceCostDetailDAO.GetDeviceCostDetails(tenantId, printerId, startDate, endDate, detailType); reportBuilder.OpenMedia(reportMedia); // Abre a mídia para o output do relatório Dictionary <String, Object> reportFilter = new Dictionary <String, Object>(); reportFilter.Add("tenantId", tenantId); reportFilter.Add("printerId", printerId); reportFilter.Add("startDate", startDate); reportFilter.Add("endDate", endDate); reportFilter.Add("detailType", detailType); reportBuilder.SetReportHeadings(reportData["title"] + ". " + "Impressora: " + printer.name, tenant.alias, reportFilter); String[] columnNames = (String[])reportData["columnNames"]; int[] columnWidths = (int[])reportData["columnWidths"]; int rowCount = deviceCostDetails.Count; reportBuilder.CreateDataTable(columnNames, columnWidths, rowCount); if (reportBuilder.IsNavigable()) { Dictionary <String, Object> exportOptions = ExportFormatContext.GetExportOptions(tenantId, sqlConnection); reportBuilder.SetNavigationData(this.GetType().Name, rowCount, exportOptions); // neste caso recordCount = rowCount reportBuilder.SetReportPage(action, currentPage); } for (int rowIndex = 0; rowIndex < rowCount; rowIndex++) { DeviceCostDetail deviceCostDetail = (DeviceCostDetail)deviceCostDetails[rowIndex]; reportBuilder.InsertRow(rowIndex, GetDetailRow(deviceCostDetail, detailType)); } reportBuilder.InsertFooter(GetFooterCells(detailType)); reportBuilder.CloseMedia(); }
protected void Page_Load(object sender, EventArgs e) { settingsMasterPage = (SettingsMasterPage)Page.Master; settingsMasterPage.InitializeMasterPageComponents(); int printerId; Boolean isNumeric = int.TryParse(Request.QueryString["printerId"], out printerId); if (!isNumeric) { EmbedClientScript.ShowErrorMessage(this, "Os parâmetros passados para a página não estão em um formato válido.", true); return; } Tenant tenant = (Tenant)Session["tenant"]; printerDAO = new PrinterDAO(settingsMasterPage.dataAccess.GetConnection()); Printer printer = printerDAO.GetPrinter(tenant.id, printerId); // Não permite a criação de impressoras pois o usuário não pode fazer isso diretamente if (printer == null) { EmbedClientScript.ShowErrorMessage(this, "Falha ao obter os dados da impressora.", true); return; } lblTitle.Text = "Dados da impressora " + printer.name; SettingsInput settingsInput = new SettingsInput(settingsArea, null); settingsInput.AddHidden("txtId", printer.id.ToString()); settingsInput.AddHidden("txtTenantId", printer.tenantId.ToString()); settingsInput.AddHidden("txtName", printer.name); settingsInput.Add("txtAlias", "Nome amigável", printer.alias); settingsInput.Add("txtBwPageCost", "Custo página Pb", String.Format("{0:0.000}", printer.pageCost)); settingsInput.Add("txtColorPageCost", "Custo página Cor", String.Format("{0:0.000}", printer.pageCost + printer.colorCostDiff)); settingsInput.AddCheckBox("chkBwPrinter", "Monocromática", printer.bwPrinter); }