Exemple #1
0
        addCutSheetData(Microsoft.Office.Interop.Word.Table objCutSheetTable, List <ObjectId> objPnts)
        {
            bool functionReturnValue = false;

            if (objPnts.Count == 0)
            {
                return(false);
            }
            int k = 0;

            for (int i = 0; i < objPnts.Count; i++)
            {
                ObjectId objPnt = objPnts[i];

                ResultBuffer rb = objPnt.getXData("STAKE");
                if (rb == null)
                {
                    return(false);
                }
                TypedValue[] tvs = rb.AsArray();

                string strStation = String.Format("##+##.00", tvs[2].Value.ToString());
                string strPntDesc = objPnt.getCogoPntDesc();

                int    intPos    = 0;
                string strOffset = "";

                if (strPntDesc.Contains("O/S"))
                {
                    int pos = strPntDesc.IndexOf("O/S");
                    strOffset  = strPntDesc.Substring(0, intPos - 1);
                    strPntDesc = strPntDesc.Substring(intPos + 4);
                }

                Microsoft.Office.Interop.Word.Rows objRows = objCutSheetTable.Rows;
                Microsoft.Office.Interop.Word.Row  objRowNew;

                objRowNew = objCutSheetTable.Rows.Add();
                objRowNew = objCutSheetTable.Rows[objRows.Count - 1];

                objRowNew.Range.Font.Bold = 0;

                Microsoft.Office.Interop.Word.Cell objCell = objRowNew.Cells[8];
                objCell.WordWrap = true;

                objCell = objRowNew.Cells[1];
                objCell.Range.InsertBefore(strStation);

                objCell = objRowNew.Cells[2];
                objCell.Range.InsertBefore(Convert.ToString(objPnt.getCogoPntNumber().ToString()));
                objCell = objRowNew.Cells[3];
                objCell.Range.InsertBefore(String.Format("{0:F2}", objPnt.getCogoPntElevation()));
                objCell = objRowNew.Cells[7];

                if (intPos == 0)
                {
                    strOffset = "-";
                }

                objCell.Range.InsertBefore(strOffset);

                objCell = objRowNew.Cells[8];
                string strDesc = "";

                Microsoft.Office.Interop.Word.Selection objSelection;
                if (strPntDesc.Contains("\\U+0394"))
                {
                    int pos = strPntDesc.IndexOf("\\U+0394");
                    //Delta /\

                    objCell.Range.Select();
                    objSelection = objCutSheetTable.Application.Selection;

                    objSelection.StartOf(Microsoft.Office.Interop.Word.WdUnits.wdCell);
                    //****************!!!!!!!!!!!!!!!!!!!****************
                    objSelection.Delete();

                    objSelection.InsertSymbol(Font: "Arial", CharacterNumber: 916, Unicode: true);

                    strDesc = strPntDesc.Substring(0, intPos - 1);
                    //preceeding part of string
                    objCell.Range.InsertBefore(Convert.ToString(strDesc));
                    strDesc = strPntDesc.Substring(intPos + 7);
                    //following part of string
                    objCell.Range.InsertAfter(Convert.ToString(strDesc));
                }
                else if (strPntDesc.Contains("%%C"))
                {
                    intPos = strPntDesc.IndexOf("%%C");
                    //Diameter

                    objCell.Range.Select();
                    objSelection = objCutSheetTable.Application.Selection;

                    objSelection.StartOf(Microsoft.Office.Interop.Word.WdUnits.wdCell);
                    //****************!!!!!!!!!!!!!!!!!!!****************
                    objSelection.Delete();
                    objSelection.StartOf(Microsoft.Office.Interop.Word.WdUnits.wdCell);
                    objSelection.InsertSymbol(Font: "Arial", CharacterNumber: 934, Unicode: true);

                    strDesc = strPntDesc.Substring(0, intPos - 1);
                    objCell.Range.InsertBefore(Convert.ToString(strDesc));
                    strDesc = strPntDesc.Substring(intPos + 3);
                    objCell.Range.InsertAfter(Convert.ToString(strDesc));
                }
                else
                {
                    objCell.Range.InsertBefore(Convert.ToString(strPntDesc));
                }

                Point3d pnt3d = objPnt.getCogoPntCoordinates();
                objCell = objRowNew.Cells[9];
                objCell.Range.InsertBefore(String.Format("{0:F2}", pnt3d.Y));
                objCell = objRowNew.Cells[10];
                objCell.Range.InsertBefore(String.Format("{0}", pnt3d.X));

                k += 1;
            }

            Misc.logUsage("STAKE_EXPORT", k);

            functionReturnValue = true;
            return(functionReturnValue);
        }
Exemple #2
0
        addResultsToCutSheet(List <FieldData> fd, string strPath)
        {
            string strTxtTarget = FileManager.getFilesWithEditor("SELECT CUTSHEET", "UPDATE CUTSHEET", "Word Document (*.docx)|*.docx", strPath, "Select CutSheet to update: ");

            Microsoft.Office.Interop.Word.Application objWordApp = new Word();
            Microsoft.Office.Interop.Word.Document    objWordDoc = objWordApp.Documents.Open(strTxtTarget);

            objWordApp.Visible = true;

            Microsoft.Office.Interop.Word.Table objWordTable = objWordDoc.Tables[2];

            for (int i = 0; i < fd.Count; i++)
            {
                for (int j = 2; j <= objWordTable.Rows.Count; j++)
                {
                    Microsoft.Office.Interop.Word.Cell objWordCell = objWordTable.Cell(j, 2);
                    string strCellText = objWordCell.Range.Text;

                    string strPntNum = "";
                    int    k         = 1;
                    do
                    {
                        byte[] asciiBytes = Encoding.ASCII.GetBytes(strCellText.Substring(k, 1));
                        if (asciiBytes[0] == 13)
                        {
                            break;
                        }
                        strPntNum = strPntNum + strCellText.Substring(k, 1);
                        k         = k + 1;
                    } while (true);

                    string strGrade = "";
                    if (fd[i].PntNum == strPntNum)
                    {
                        objWordCell = objWordTable.Cell(j, 3);
                        strCellText = objWordCell.Range.Text;

                        k = 1;
                        do
                        {
                            byte[] asciiBytes = Encoding.ASCII.GetBytes(strCellText.Substring(k, 1));
                            if (asciiBytes[0] == 13)
                            {
                                break;
                            }
                            strGrade = strGrade + strCellText.Substring(k, 1);
                            k        = k + 1;
                        } while (true);

                        double dblGrade = double.Parse(strGrade);
                        double dblStake = System.Math.Round(fd[i].ElevStake, 4);

                        objWordCell = objWordTable.Cell(j, 4);
                        objWordCell.Range.InsertBefore(Convert.ToString(dblStake));

                        double dblDiff = System.Math.Round(dblGrade - dblStake, 2);

                        if (dblDiff < 0)
                        {
                            objWordCell = objWordTable.Cell(j, 5);
                            objWordCell.Range.InsertBefore(Convert.ToString(dblDiff * -1));
                        }
                        else
                        {
                            objWordCell = objWordTable.Cell(j, 6);
                            objWordCell.Range.InsertBefore(Convert.ToString(dblDiff));
                        }
                        break;
                    }
                }
            }
        }
Exemple #3
0
        setupCutSheet(List <string> strLayers)
        {
            string strProjNum = BaseObjs.jobNumber();

            string strDate = String.Format("{0}", DateTime.Today);

            string strFileName = string.Format("{0}_CutSheet{1}_{2}", strProjNum, strLayers, strDate);

            Microsoft.Office.Interop.Word.Document objCutSheet   = makeCutSheet(strFileName);
            Microsoft.Office.Interop.Word.Table    objWordTable1 = objCutSheet.Tables[1];

            Microsoft.Office.Interop.Word.Cell objCell = objWordTable1.Cell(6, 4);
            objCell.Range.InsertBefore(Convert.ToString(DateTime.Today));

            objCell = objWordTable1.Cell(7, 4);

            objCell.Range.InsertBefore(strProjNum);

            ProjectData varProjectData = Stake_GetProjectData.getProjectData(strProjNum);

            objCell = objWordTable1.Cell(8, 2);
            objCell.Range.InsertBefore(varProjectData.Name);

            objCell = objWordTable1.Cell(9, 2);
            objCell.Range.InsertBefore(varProjectData.Location);

            objCell = objWordTable1.Cell(10, 2);
            objCell.Range.InsertBefore(varProjectData.Coordinator);

            string strUserName = "";

            string strUser = Environment.UserName;

            switch (strUser)
            {
            case "john":
                strUserName = "******";
                break;

            case "luis":
                strUserName = "******";
                break;

            case "brianp":
                strUserName = "******";
                break;

            case "michael":
                strUserName = "******";
                break;

            case "briant":
                strUserName = "******";
                break;

            default:
                strUserName = strUser;
                break;
            }

            objCell = objWordTable1.Cell(9, 4);
            objCell.Range.InsertBefore(strUserName);

            return(objCutSheet);
        }