/// <summary>
        /// Сформировать таблицу с данными измерений датчика.
        /// </summary>
        /// <param name="ParentDocument"> Родительский документ (из которого выгружаются данные).</param>
        /// <param name="SensorsNumber"> Заводской номер прибора. </param>
        /// <returns></returns>
        public Table GetSensorsTable(WordprocessingDocument ParentDocument, string SensorsNumber)
        {
            Table            table     = CalibrationLib.NewTable(ColumnsWidth, 108);
            List <TablesRow> TableRows = GetRows(ParentDocument, SensorsNumber);

            int i = 0;

            foreach (TablesRow Row in TableRows)
            {
                i++;
                switch (Row.Type)
                {
                case TablesRow.RowsType.Title:
                    table.Append(NewTitle(Row));
                    break;

                case TablesRow.RowsType.Subtitle:
                    table.Append(NewSubtitle(Row));
                    break;

                case TablesRow.RowsType.Header:
                    table.Append(NewHeader(Row));
                    break;

                case TablesRow.RowsType.SimpleRow:
                    table.Append(NewSimpleRow(Row));
                    break;

                case TablesRow.RowsType.Result:
                    table.Append(NewResult(Row));
                    break;
                }
            }
            return(table);
        }
        /// <summary>
        /// Сформировать таблицу с данными измерений датчика.
        /// </summary>
        /// <param name="ParentDocument"> Родительский документ (из которого выгружаются данные). </param>
        /// <param name="SensorsNumber"> Заводской номер датчика. </param>
        /// <returns></returns>
        public Table GetSensorsTable(WordprocessingDocument ParentDocument, string SensorsNumber)
        {
            const int TableWidth = 9782;

            int[] ColumnsWidth = new int [] { 1277, 284, 1275, 5103, 1666, 177 };

            Table            table     = CalibrationLib.NewTable(ColumnsWidth);
            List <TablesRow> TableRows = GetRows(ParentDocument, SensorsNumber);

            TableRow tableRow1 = CalibrationLib.NewTableRow((UInt32Value)198U);

            tableRow1.AddTableCell(ColumnsWidth[0], TableRows[0].Values[0], -113, -113, JustificationValues.Right, 8, 1, true, true);
            tableRow1.AddTableCell(ColumnsWidth[1], TableRows[0].Values[1], -113, -113, JustificationValues.Center, 8, 1, true, true);
            tableRow1.AddTableCell(ColumnsWidth[2], TableRows[0].Values[2], -113, -113, JustificationValues.Center, 8, 1, true, true).SetBorders(BorderValues.Nil, BorderValues.Nil, BorderValues.Single, BorderValues.Nil);
            tableRow1.AddTableCell(ColumnsWidth[3] + ColumnsWidth[4] + ColumnsWidth[5], TableRows[0].Values[3], -113, -113, JustificationValues.Left, 8, 3, true, true);

            TableRow tableRow2 = CalibrationLib.NewTableRow((UInt32Value)198U);

            tableRow2.AddTableCell(ColumnsWidth[0] + ColumnsWidth[1] + ColumnsWidth[2] + ColumnsWidth[3], TableRows[1].Values[0], -113, -113, JustificationValues.Left, 8, 4);
            tableRow2.AddTableCell(ColumnsWidth[4] + ColumnsWidth[5], TableRows[1].Values[1], -113, -113, JustificationValues.Center, 12, 2, false, true).SetBorders(BorderValues.Nil, BorderValues.Nil, BorderValues.Dotted, BorderValues.Nil);

            table.Append(tableRow1);
            table.Append(tableRow2);

            return(table);
        }
        /// <summary>
        /// Дополнить таблицу с данными измерений прибора.
        /// </summary>
        /// <param name="ParentDocument"> Родительский документ (из которого выгружаются данные). </param>
        /// <returns></returns>
        public Table AdditionDeviceTable(WordprocessingDocument ParentDocument, Table CurrentTable)
        {
            int TableWidth   = 9782;
            int ColumnsWidth = TableWidth / (ColumnsCount);

            int[] ColumnsWidthList = new int[ColumnsCount];
            for (int i = 0; i < ColumnsWidthList.Length; i++)
            {
                if (i == 0)
                {
                    ColumnsWidthList[i] = ColumnsWidth;
                }
                else
                {
                    ColumnsWidthList[i] = ColumnsWidth;
                }
            }

            Table table = CalibrationLib.NewTable(ColumnsWidthList);

            foreach (TablesRow Row in GetRows(ParentDocument))
            {
                if (Row.JoinToRow == 0)
                {
                    switch (Row.Type)
                    {
                    case TablesRow.RowsType.Title:
                        CurrentTable.Append(CreateTitle(Row, TableWidth));
                        break;

                    case TablesRow.RowsType.Header:
                        CurrentTable.Append(CreateHeader(Row, ColumnsWidthList));
                        break;

                    case TablesRow.RowsType.Subtitle:
                        CurrentTable.Append(CreateSubTitle(Row, TableWidth));
                        break;

                    case TablesRow.RowsType.SimpleRow:
                        CurrentTable.Append(CreateSimpleRow(Row, ColumnsWidthList));
                        break;

                    case TablesRow.RowsType.Result:
                        CurrentTable.Append(CreateResult(Row, TableWidth));
                        break;
                    }
                }
                else
                {
                    if (CurrentTable.Elements <TableRow>().Count() >= Row.JoinToRow)
                    {
                        TableRow CangingTableRow = CurrentTable.Elements <TableRow>().ElementAt(Row.JoinToRow - 1);
                        ChangingRow(Row, CangingTableRow);
                    }
                }
            }
            return(CurrentTable);
        }
        /// <summary>
        /// Сформировать таблицу с данными измерений прибора.
        /// </summary>
        /// <param name="ParentDocument"> Родительский документ (из которого выгружаются данные). </param>
        /// <returns></returns>
        public Table GetDeviceTable(WordprocessingDocument ParentDocument)
        {
            int TableWidth = 9782;
            //if (ColumnsWidthList)
            int ColumnsWidth = TableWidth / (ColumnsCount);

            int[] ColumnsWidthList = new int[ColumnsCount];
            for (int i = 0; i < ColumnsWidthList.Length; i++)
            {
                if (i == 0)
                {
                    ColumnsWidthList[i] = ColumnsWidth;
                }
                else
                {
                    ColumnsWidthList[i] = ColumnsWidth;
                }
            }

            Table table = CalibrationLib.NewTable(ColumnsWidthList);

            foreach (TablesRow Row in GetRows(ParentDocument))
            {
                switch (Row.Type)
                {
                case TablesRow.RowsType.Title:
                    table.Append(CreateTitle(Row, TableWidth));
                    break;

                case TablesRow.RowsType.Header:
                    table.Append(CreateHeader(Row, ColumnsWidthList));
                    break;

                case TablesRow.RowsType.Subtitle:
                    table.Append(CreateSubTitle(Row, TableWidth));
                    break;

                case TablesRow.RowsType.SimpleRow:
                    table.Append(CreateSimpleRow(Row, ColumnsWidthList));
                    break;

                case TablesRow.RowsType.Result:
                    table.Append(CreateResult(Row, TableWidth));
                    break;
                }
            }
            return(table);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Сформировать таблицу с данными измерений прибора.
        /// </summary>
        /// <param name="JsonData"> Данные в формате json.. </param>
        /// <returns></returns>
        public Table GetDeviceTable(RootObject JsonData)
        {
            int TableWidth   = 10065;
            int ColumnsWidth = TableWidth / (ColumnsCount);

            int[] ColumnsWidthList = new int[ColumnsCount];
            for (int i = 0; i < ColumnsWidthList.Length; i++)
            {
                if (i == 0)
                {
                    ColumnsWidthList[i] = ColumnsWidth;
                }
                else
                {
                    ColumnsWidthList[i] = ColumnsWidth;
                }
            }

            Table table = CalibrationLib.NewTable(ColumnsWidthList, 108);

            foreach (TablesRow Row in GetRows(JsonData))
            {
                switch (Row.Type)
                {
                case TablesRow.RowsType.Title:
                    table.Append(CreateTitle(Row, TableWidth));
                    break;

                case TablesRow.RowsType.Header:
                    table.Append(CreateHeader(Row, ColumnsWidthList));
                    break;

                case TablesRow.RowsType.Subtitle:
                    table.Append(CreateSubTitle(Row, TableWidth));
                    break;

                case TablesRow.RowsType.SimpleRow:
                    table.Append(CreateSimpleRow(Row, ColumnsWidthList));
                    break;

                case TablesRow.RowsType.Result:
                    table.Append(CreateResult(Row, TableWidth));
                    break;
                }
            }
            return(table);
        }