makeCutSheet(string strDocName) { string strPath = Path.GetDirectoryName(BaseObjs.docFullName); string strPathX = string.Format("{0}\\Survey\\Cutsheets\\Staking\\", strPath); string strFileName = strPathX + strDocName; if (!File.Exists(strPathX)) { try { Directory.CreateDirectory(strPath); } catch (System.Exception) { if (!Directory.Exists(strPath + "\\Survey")) { Directory.CreateDirectory(strPath + "\\Survey"); } if (!Directory.Exists(strPath + "\\Survey\\Cutsheets")) { Directory.CreateDirectory(strPath + "\\Survey\\Cutsheets"); } Directory.CreateDirectory(strPath + "\\Survey\\Cutsheets\\Staking"); } } if (File.Exists(strFileName + ".docx") == true) { DialogResult response = System.Windows.Forms.MessageBox.Show(string.Format("File {0}.docx exists! Make Backup??", strFileName), "FILE EXISTS", MessageBoxButtons.YesNo); switch (response) { case DialogResult.Yes: File.Copy(strFileName + ".docx", strFileName + "_bak" + ".docx", true); break; case DialogResult.No: File.Delete(strFileName + ".docx"); break; } } Microsoft.Office.Interop.Word.Application objWordApp = new Microsoft.Office.Interop.Word.Application(); objWordApp.Visible = true; Microsoft.Office.Interop.Word.Document objWordDoc = objWordApp.Documents.Add("R:\\TSet\\Template\\SURVEY\\Staking\\CutSheet.dotx"); objWordDoc.Activate(); objWordDoc.SaveAs(strFileName); return(objWordDoc); }
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; } } } }
processCutsheetData(string strSource) { List <CmdControls> cCntls = fExport.cntls; List <DataSet> varDataSet = fExport.dataSet; List <DataSet> varDataSum = fExport.dataSum; System.Windows.Forms.Button cmdBtn = default(System.Windows.Forms.Button); List <ObjectId> objCutSheetPnts = new List <ObjectId>(); List <uint> lngPntNums = new List <uint>(); uint lngPntNum = 0; CogoPointCollection objPnts = Autodesk.Civil.ApplicationServices.CivilApplication.ActiveDocument.CogoPoints; ObjectId objPnt = ObjectId.Null; List <string> strLayers = new List <string>(); switch (strSource) { case "EXPORTPOINTS": for (int i = 0; i < cCntls.Count; i++) { if (cCntls[i].chkBox1.Checked) { strLayers.Add(cCntls[i].chkBox1.Text); cmdBtn = cCntls[i].cmdBtn; switch (cmdBtn.Text.Substring(11, 3)) { case "SRT": varDataSet = fExport.dataSet; lngPntNums = varDataSet[i].Nums; break; case "SUM": varDataSum = fExport.dataSum; lngPntNums = varDataSum[i].Nums; break; } //do partial if (cCntls[i].chkBox2.Checked) { for (int j = int.Parse(cCntls[i].tBxLowerB.Text); j <= int.Parse(cCntls[i].tBxUpperB.Text); j++) { for (int k = 0; k < lngPntNums.Count; k++) { lngPntNum = lngPntNums[k]; if ((uint)j == lngPntNum) { try { objPnt = objPnts.GetPointByPointNumber(lngPntNum); objCutSheetPnts.Add(objPnt); } catch (System.Exception) { } break; } } } //do full list } else { for (int k = 0; k < lngPntNums.Count; k++) { lngPntNum = lngPntNums[k]; try { objPnt = objPnts.GetPointByPointNumber(lngPntNum); objCutSheetPnts.Add(objPnt); } catch (System.Exception) { } } } } } break; case "POINTLIST": for (int j = 0; j < fPoints.lbxPoints.CheckedItems.Count; j++) { lngPntNum = (uint)fPoints.lbxPoints.Items[j]; try { objPnt = objPnts.GetPointByPointNumber(lngPntNum); objCutSheetPnts.Add(objPnt); } catch (System.Exception) { } } fPoints.Hide(); break; } Microsoft.Office.Interop.Word.Document objCutSheet = setupCutSheet(strLayers); Microsoft.Office.Interop.Word.Table objCutSheetTable = objCutSheet.Tables[2]; if (addCutSheetData(objCutSheetTable, objCutSheetPnts)) { Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Cutsheet created at: " + objCutSheet.Path + "\\" + objCutSheet.Name); } else { Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Cutsheet operation failed - check if points were selected....."); } }
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); }