private void GenerateReport(Dictionary <string, double> binnedPCIData)
        {
            // Set up the XL workbook and worksheet defaults.
            ReportGlobals.defaultWorkbookName = "ConditionCitywide";
            ReportGlobals.defaultSheetIndex   = 1;
            ReportGlobals.XLMgr.CreateNewWorkbook(ReportGlobals.defaultWorkbookName);

            // Create the header for the report.
            ReportGlobals.CreateReportHeader("Condition Citywide (Area)", "", Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\RoadCare3 Documents\Washington DC\ddot logo.gif", m_userName);

            // Create a two dimensional data object array to give to excel.
            object[,] conditionColumns = new object[2, binnedPCIData.Count];
            int i = 0;

            // Loop through the binned PCI data and set the first row to be headers for the data row
            foreach (string key in binnedPCIData.Keys)
            {
                conditionColumns[0, i] = key;
                i++;
            }
            // Now loop through and set the data row of the object array
            i = 0;
            foreach (string key in binnedPCIData.Keys)
            {
                conditionColumns[1, i] = binnedPCIData[key];
                i++;
            }
            // Get out to which column letter we are pasting data.
            int  asciiA          = Convert.ToInt32('A');
            int  endColumnNumber = asciiA + binnedPCIData.Count - 1;
            char endColumnLetter = Convert.ToChar(endColumnNumber);

            // Format data cells
            ReportGlobals.XLMgr.SetBorders("A7:" + endColumnLetter + "7", XlBordersIndex.xlEdgeTop, XlBorderWeight.xlMedium, XlLineStyle.xlContinuous);
            ReportGlobals.XLMgr.SetBorders("A7:" + endColumnLetter + "7", XlBordersIndex.xlEdgeBottom, XlBorderWeight.xlMedium, XlLineStyle.xlContinuous);
            ReportGlobals.XLMgr.SetBorders("A8:" + endColumnLetter + "8", XlBordersIndex.xlEdgeBottom, XlBorderWeight.xlMedium, XlLineStyle.xlContinuous);
            ReportGlobals.XLMgr.ChangeHorizontalAlignment("A7:" + endColumnLetter + "7", XlHAlign.xlHAlignCenter);

            // Set every other column to highlight starting with column A
            ReportGlobals.XLMgr.HighlightRanges('A', binnedPCIData.Count - 1, "7", "8", Color.FromArgb(197, 217, 241));
            // Add the data to the sheet
            ReportGlobals.XLMgr.SetValues("A7:" + endColumnLetter + "8", conditionColumns);
            ReportGlobals.XLMgr.AutoSizeColumns("A:" + endColumnLetter);

            // Now create the graph of the data
            string chartName = ReportGlobals.XLMgr.CreateVerticalBarChart("A7:" + endColumnLetter + "8", 'A', 200, 425, 315, XlRowCol.xlRows);
            // Fancy up the graph a bit...
            Chart pciCitywide = ReportGlobals.XLMgr.GetChart(chartName);

            pciCitywide.HasTitle        = true;
            pciCitywide.ChartTitle.Text = "City PCI of Total Area";
            ReportGlobals.XLMgr.SetXYAxisTitles("Condition", "Area", pciCitywide);
            ReportGlobals.XLMgr.SetSeriesTitle("PCI %", chartName, "0");
            ReportGlobals.SaveReport();
        }
Exemple #2
0
        public void CreateAssetInventoryReport()
        {
            string query = "";

            if (m_filters != "")
            {
                query = "SELECT OBJECTID, ROUTEID, MUN_SORT, ID_PREFIX, MP_SUFFIX, MAIN_LINE, MP_DIRECTI, ASSOC_ID_P, EXIT_NUMBE, RAMP_NUMBE, DISTRICT, MAINT_SHOP, ID_RTE_NO, COUNTY_NO, GPS_Date, Northing, Easting, POLE__, Pole_Heigh, BASE_TYPE, ARM_LENGTH, Num_Lights, BULB_TYPE, WATTAGE, COMMENT_, ON_OFF FROM " + m_assetName + " WHERE " + m_filters;
                //query = "SELECT ";
                //foreach(string columnName in m_assetColumns)
                //{
                //    query += columnName + ", ";
                //}
                //query = query.Substring(0, query.Length - 2);
                //query += " WHERE " + m_filters;
            }
            else
            {
                query = "SELECT OBJECTID, ROUTEID, MUN_SORT, ID_PREFIX, MP_SUFFIX, MAIN_LINE, MP_DIRECTI, ASSOC_ID_P, EXIT_NUMBE, RAMP_NUMBE, DISTRICT, MAINT_SHOP, ID_RTE_NO, COUNTY_NO, GPS_Date, Northing, Easting, POLE__, Pole_Heigh, BASE_TYPE, ARM_LENGTH, Num_Lights, BULB_TYPE, WATTAGE, COMMENT_, ON_OFF FROM " + m_assetName;
                //query = "SELECT ";
                //foreach(string columnName in m_assetColumns)
                //{
                //    query += columnName + ", ";
                //}
                //query = query.Substring(0, query.Length - 2);
                //query += " WHERE " + m_filters;
            }
            DataSet assetInfo = DBMgr.ExecuteQuery(query);

            int  numAssetColumns = assetInfo.Tables[0].Columns.Count;
            int  asciiA          = Convert.ToInt32('A');
            int  endColumnNumber = asciiA + numAssetColumns - 1;
            char endColumnLetter = Convert.ToChar(endColumnNumber);

            // Set up the XL workbook and worksheet defaults.
            ReportGlobals.defaultWorkbookName = "ASSET_REPORT";
            ReportGlobals.defaultSheetIndex   = 1;
            ReportGlobals.XLMgr.CreateNewWorkbook(ReportGlobals.defaultWorkbookName);
            ReportGlobals.XLMgr.FormatAllCellsAsText();

            CreateAssetInventoryHeader(@".\SHA.png", "", m_assetName + " Inventory Report", endColumnLetter);
            CreateAssetInventorySubHeader(endColumnLetter);
            PopulateAssetInventoryData(assetInfo, endColumnLetter);

            //CreateAssetInventoryFooter();
            ReportGlobals.SaveReport();
        }
        private void GenerateReport(List <BinnedData> pciBins)
        {
            // Set up the XL workbook and worksheet defaults.
            ReportGlobals.defaultWorkbookName = "ConditionCitywide";
            ReportGlobals.defaultSheetIndex   = 1;
            ReportGlobals.XLMgr.CreateNewWorkbook(ReportGlobals.defaultWorkbookName);

            // Create the header for the report.
            //ReportGlobals.CreateReportHeader("Condition Citywide (Area)", "", @"C:\Documents and Settings\cbecker\My Documents\RoadCare3 Documents\Washington DC\ddot logo.gif", m_userName);
            ReportGlobals.CreateReportHeader("Condition Citywide (Area)", "", "", m_userName);
            int startRow = 6;

            for (int i = 0; i < pciBins.Count; i++)
            {
                CreateFunctionalClassSection(pciBins[i].m_binnedPCIData, startRow.ToString(), pciBins[i].m_functionalClass);
                startRow += 3;
            }
            ReportGlobals.SaveReport();
        }