private void btnOk_Click(object sender, EventArgs e) { Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor; if (Validation()) { bool useAccess = false; int projectcode = 0; List <Atend.Base.Equipment.EConsol> list = new List <Atend.Base.Equipment.EConsol>(); ArrayList consoluse = new ArrayList(); ArrayList consolexis = new ArrayList(); ArrayList consolcount = new ArrayList(); ArrayList ConsolProjCode = new ArrayList(); ArrayList DelConsol = new ArrayList(); Atend.Base.Equipment.EConsol eConsol = new Atend.Base.Equipment.EConsol(); int Existance = 0; Atend.Base.Equipment.EPole ePole = new Atend.Base.Equipment.EPole(); Atend.Base.Equipment.EPoleTip ePoletip = new Atend.Base.Equipment.EPoleTip(); //ed.WriteMessage("IsSqlSelected={0}\n", gvPoleTip.SelectedRows[0].Cells[2].Value.ToString()); Atend.Base.Equipment.EHalter halt = new Atend.Base.Equipment.EHalter(); if (Convert.ToBoolean(gvPoleTip.Rows[gvPoleTip.CurrentRow.Index].Cells[2].Value) == true) { ePoletip = Atend.Base.Equipment.EPoleTip.SelectByXCode(new Guid(gvPoleTip.Rows[gvPoleTip.CurrentRow.Index].Cells[0].Value.ToString())); ePole = Atend.Base.Equipment.EPole.SelectByXCode(ePoletip.PoleXCode); useAccess = false; if (ePoletip.HalterCount != 0) { halt = Atend.Base.Equipment.EHalter.SelectByXCode(ePoletip.HalterXID); } } else { ePoletip = Atend.Base.Equipment.EPoleTip.AccessSelectByCode(Convert.ToInt32(gvPoleTip.Rows[gvPoleTip.CurrentRow.Index].Cells[1].Value.ToString()));//gvPoleTip.SelectedRows[0].Cells[1].Value ePole = Atend.Base.Equipment.EPole.AccessSelectByCode(ePoletip.PoleCode); useAccess = true; if (ePoletip.HalterCount != 0) { halt = Atend.Base.Equipment.EHalter.AccessSelectByCode(ePoletip.HalterID); } } foreach (DataRow dr in dtLastConsol.Rows) { DelConsol.Add(dr["Code"].ToString()); } //if (ePole.Shape == 0) //{ // ed.WriteMessage("**********I AM IN Shape=0\n"); // shape = 0; // Atend.Global.Acad.DrawEquips.AcDrawCirclePole ACDCP = new Atend.Global.Acad.DrawEquips.AcDrawCirclePole(); // ACDCP.ePole = ePole; // ACDCP.ePoleTip = ePoletip; // ACDCP.UseAccess = useAccess; // ACDCP.ProjectCode = Convert.ToInt32(cboProjCode.SelectedValue); // ACDCP.Existance = Convert.ToByte(cboIsExist.SelectedValue); // ACDCP.HalterExistance = Convert.ToByte(cboHIsExistance.SelectedValue); // ACDCP.HalterProjectCode = Convert.ToInt32(cboHProjectCode.SelectedValue); // ACDCP.Height = Convert.ToInt32(txtHeight.Text); // ACDCP.eHalter = halt; // //Atend.Base.Acad.AcadGlobal.CirclePoleData.eConsols.Clear(); // //Atend.Base.Acad.AcadGlobal.CirclePoleData.eConsolCount.Clear(); // //Atend.Base.Acad.AcadGlobal.CirclePoleData.eConsolExistance.Clear(); // ed.WriteMessage("oo\n"); // ACDCP.eConsols.Clear(); // //Atend.Base.Acad.AcadGlobal.CirclePoleData.eConsolUseAccess.Clear(); // //Atend.Base.Acad.AcadGlobal.CirclePoleData.eConsolProjectCode.Clear(); // //Atend.Base.Acad.AcadGlobal.CirclePoleData.dPoleInfo.HalterCount = ePoletip.HalterCount; // //Atend.Base.Acad.AcadGlobal.CirclePoleData.dPoleInfo.HalterType = ePoletip.HalterID; // //Atend.Base.Acad.AcadGlobal.CirclePoleData.dPoleInfo.Factor = ePoletip.Factor; // //Atend.Base.Acad.AcadGlobal.CirclePoleData.Existance = Convert.ToByte(cboIsExist.SelectedValue); // //Atend.Base.Acad.AcadGlobal.CirclePoleData.UseAccess = useAccess; // //Atend.Base.Acad.AcadGlobal.CirclePoleData.ePole = ePole; // //Atend.Base.Acad.AcadGlobal.CirclePoleData.ePoleTip = ePoletip; // //Atend.Base.Acad.AcadGlobal.CirclePoleData.ProjectCode = Convert.ToInt32(cboProjCode.SelectedValue); // foreach (DataRow dr in dtgvPoleConsol.Rows) // { // if (Convert.ToInt32(dr["Count"].ToString()) != 0) // { // //DataGridViewComboBoxCell c = (DataGridViewComboBoxCell)gvConsol.Rows[i].Cells[3]; // //Existance = Convert.ToInt32(c.Value); // //DataGridViewComboBoxCell cPCode = (DataGridViewComboBoxCell)gvConsol.Rows[i].Cells[5]; // //projectcode = Convert.ToInt32(cPCode.Value); // if (Convert.ToBoolean(dr["IsSql"].ToString())) // { // ed.WriteMessage("LocalConsolXCODE={0}\n", dr["XCode"].ToString()); // eConsol = Atend.Base.Equipment.EConsol.SelectByXCode(new Guid( // dr["XCode"].ToString())); // ed.WriteMessage("Consol.NAme={0}\n", eConsol.Name); // ACDCP.eConsols.Add(eConsol); // ed.WriteMessage("HH\n"); // ACDCP.eConsolUseAccess.Add(false); // ed.WriteMessage("AA\n"); // ACDCP.eConsolCount.Add(Convert.ToInt32(dr["Count"].ToString())); // ed.WriteMessage("Ab\n"); // ACDCP.eConsolExistance.Add(Convert.ToInt32(dr["IsExistance"].ToString())); // ed.WriteMessage("Ac\n"); // ACDCP.eConsolProjectCode.Add(Convert.ToInt32(dr["ProjectCode"].ToString())); // } // else // { // ed.WriteMessage("Access Consol\n"); // eConsol = Atend.Base.Equipment.EConsol.AccessSelectByCode(Convert.ToInt32( // dr["AccessCode"].ToString())); // ACDCP.eConsols.Add(eConsol); // ACDCP.eConsolUseAccess.Add(true); // ACDCP.eConsolCount.Add(Convert.ToInt32(dr["Count"].ToString())); // ed.WriteMessage("eConsolExistance={0}\n", Existance); // ACDCP.eConsolExistance.Add(Convert.ToInt32(dr["IsExistance"].ToString())); // ACDCP.eConsolProjectCode.Add(Convert.ToInt32(dr["ProjectCode"].ToString())); // } // } // } // ed.WriteMessage("Consol.Count={0}\n", Atend.Base.Acad.AcadGlobal.CirclePoleData.eConsols.Count); // if (ACDCP.UpdatePoleDataTip(objID, DelConsol, NodeCode)) // { // AllowClose = true; // return; // } //} //else //{ // shape = 1; // ed.WriteMessage("TYPE={0}\n", ePole.Type); // if (ePole.Type == 2) // { // Atend.Global.Acad.DrawEquips.AcDrawPolygonPole ACDP = new Atend.Global.Acad.DrawEquips.AcDrawPolygonPole(); // ed.WriteMessage("***************Type=2\n"); // Type = 2; // //Atend.Base.Acad.AcadGlobal.PolygonPoleData.eConsols.Clear(); // //Atend.Base.Acad.AcadGlobal.PolygonPoleData.eConsolCount.Clear(); // //Atend.Base.Acad.AcadGlobal.PolygonPoleData.eConsolExistance.Clear(); // //Atend.Base.Acad.AcadGlobal.PolygonPoleData.eConsols.Clear(); // //Atend.Base.Acad.AcadGlobal.PolygonPoleData.eConsolUseAccess.Clear(); // //Atend.Base.Acad.AcadGlobal.PolygonPoleData.eConsolProjectCode.Clear(); // //Atend.Base.Acad.AcadGlobal.PolygonPoleData.dPoleInfo.HalterCount = ePoletip.HalterCount; // //Atend.Base.Acad.AcadGlobal.PolygonPoleData.dPoleInfo.HalterType = ePoletip.HalterID; // //Atend.Base.Acad.AcadGlobal.PolygonPoleData.dPoleInfo.Factor = ePoletip.Factor; // ACDP.Existance = Convert.ToByte(cboIsExist.SelectedValue); // ACDP.UseAccess = useAccess; // ACDP.ProjectCode = Convert.ToInt32(cboProjCode.SelectedValue); // ACDP.ePole = ePole; // ACDP.ePoleTip = ePoletip; // ACDP.HalterExistance = Convert.ToByte(cboHIsExistance.SelectedValue); // ACDP.HalterProjectCode = Convert.ToInt32(cboHProjectCode.SelectedValue); // ACDP.Height = Convert.ToInt32(txtHeight.Text); // ACDP.eHalter = halt; // foreach (DataRow dr in dtgvPoleConsol.Rows) // { // if (Convert.ToInt32(dr["Count"].ToString()) != 0) // { // //DataGridViewComboBoxCell c = (DataGridViewComboBoxCell)gvConsol.Rows[i].Cells[3]; // //Existance = Convert.ToInt32(c.Value); // //DataGridViewComboBoxCell cPCode = (DataGridViewComboBoxCell)gvConsol.Rows[i].Cells[5]; // //projectcode = Convert.ToInt32(cPCode.Value); // ed.WriteMessage("***IsSQL={0}\n",dr["IsSql"].ToString()); // if (Convert.ToBoolean(dr["IsSql"].ToString())) // { // eConsol = Atend.Base.Equipment.EConsol.SelectByXCode(new Guid( // dr["XCode"].ToString())); // ACDP.eConsols.Add(eConsol); // ACDP.eConsolUseAccess.Add(false); // ACDP.eConsolCount.Add(Convert.ToInt32(dr["Count"].ToString())); // ed.WriteMessage("eConsolExistance={0}\n", Existance); // ACDP.eConsolExistance.Add(Convert.ToInt32(dr["IsExistance"].ToString())); // ACDP.eConsolProjectCode.Add(Convert.ToInt32(dr["ProjectCode"].ToString())); // } // else // { // eConsol = Atend.Base.Equipment.EConsol.AccessSelectByCode(Convert.ToInt32( // dr["AccessCode"].ToString())); // ACDP.eConsols.Add(eConsol); // ACDP.eConsolUseAccess.Add(true); // ACDP.eConsolCount.Add(Convert.ToInt32(dr["Count"].ToString())); // ed.WriteMessage("eConsolExistance={0}\n", Existance); // ACDP.eConsolExistance.Add(Convert.ToInt32(dr["IsExistance"].ToString())); // ACDP.eConsolProjectCode.Add(Convert.ToInt32(dr["ProjectCode"].ToString())); // } // } // } // if (ACDP.UpdatePoleDataTip(objID, DelConsol, NodeCode)) // { // AllowClose = true; // return; // } // //ed.WriteMessage("Consol.Count={0}\n", Atend.Base.Acad.AcadGlobal.PolygonPoleData.eConsols.Count); // } // //if (ePole.Type == 3) // //{ //Type = 3; Atend.Global.Acad.DrawEquips.AcDrawPole ADP = new Atend.Global.Acad.DrawEquips.AcDrawPole(); //Atend.Base.Acad.AcadGlobal.PoleData.eConsols.Clear(); //Atend.Base.Acad.AcadGlobal.PoleData.eConsolCount.Clear(); //Atend.Base.Acad.AcadGlobal.PoleData.eConsolExistance.Clear(); //Atend.Base.Acad.AcadGlobal.PoleData.eConsols.Clear(); //Atend.Base.Acad.AcadGlobal.PoleData.eConsolUseAccess.Clear(); //Atend.Base.Acad.AcadGlobal.PoleData.eConsolProjectCode.Clear(); //Atend.Base.Acad.AcadGlobal.PoleData.dPoleInfo.HalterCount = ePoletip.HalterCount; //Atend.Base.Acad.AcadGlobal.PoleData.dPoleInfo.HalterType = ePoletip.HalterID; //Atend.Base.Acad.AcadGlobal.PoleData.dPoleInfo.Factor = ePoletip.Factor; Atend.Base.Base.BEquipStatus status = Atend.Base.Base.BEquipStatus.SelectByCode(Convert.ToInt32(cboIsExist.SelectedValue.ToString())); ADP.Existance = status.ACode; if (cboProjCode.Items.Count == 0) { ADP.ProjectCode = 0; } else { ADP.ProjectCode = Convert.ToInt32(cboProjCode.SelectedValue); } ADP.UseAccess = useAccess; ADP.ePoleTip = ePoletip; ADP.ePole = ePole; Atend.Base.Base.BEquipStatus statusHalter = Atend.Base.Base.BEquipStatus.SelectByCode(Convert.ToInt32(cboHIsExistance.SelectedValue.ToString())); ADP.HalterExist = statusHalter.ACode; if (cboHProjectCode.Items.Count == 0) { ADP.HalterProjectCode = 0; } else { ADP.HalterProjectCode = Convert.ToInt32(cboHProjectCode.SelectedValue); } ADP.Height = Convert.ToInt32(txtHeight.Text); ADP.eHalter = halt; ADP.eHalterCount = Convert.ToInt32(txtHalterCount.Text); foreach (DataRow dr in dtgvPoleConsol.Rows) { if (Convert.ToInt32(dr["Count"].ToString()) != 0) { //DataGridViewComboBoxCell c = (DataGridViewComboBoxCell)gvConsol.Rows[i].Cells[3]; //Existance = Convert.ToInt32(c.Value); //DataGridViewComboBoxCell cPCode = (DataGridViewComboBoxCell)gvConsol.Rows[i].Cells[5]; //projectcode = Convert.ToInt32(cPCode.Value); if (Convert.ToBoolean(dr["IsSql"].ToString())) { eConsol = Atend.Base.Equipment.EConsol.SelectByXCode(new Guid( dr["XCode"].ToString())); ADP.eConsols.Add(eConsol); ADP.eConsolUseAccess.Add(false); ADP.eConsolCount.Add(Convert.ToInt32(dr["Count"].ToString())); Atend.Base.Base.BEquipStatus status2 = Atend.Base.Base.BEquipStatus.SelectByCode(Convert.ToInt32(dr["IsExistance"].ToString())); ADP.eConsolExistance.Add(status2.ACode); if (dr["ProjectCode"].ToString() == "") { ADP.eConsolProjectCode.Add(0); } else { ADP.eConsolProjectCode.Add(Convert.ToInt32(dr["ProjectCode"].ToString())); } } else { eConsol = Atend.Base.Equipment.EConsol.AccessSelectByCode(Convert.ToInt32( dr["AccessCode"].ToString())); ADP.eConsols.Add(eConsol); ADP.eConsolUseAccess.Add(true); ADP.eConsolCount.Add(Convert.ToInt32(dr["Count"].ToString())); Atend.Base.Base.BEquipStatus status2 = Atend.Base.Base.BEquipStatus.SelectByCode(Convert.ToInt32(dr["IsExistance"].ToString())); ADP.eConsolExistance.Add(status2.ACode); if (dr["ProjectCode"].ToString() == "") { ADP.eConsolProjectCode.Add(0); } else { ADP.eConsolProjectCode.Add(Convert.ToInt32(dr["ProjectCode"].ToString())); } } } } if (ADP.UpdatePoleDataTip(objID, DelConsol, NodeCode)) { AllowClose = true; return; } //} //} //AllowClose = true; } else { AllowClose = false; } }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~ methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~// ///// <summary> ///// Save all data before start AutoPoleInstallation ///// </summary> ///// <returns></returns> //private bool PrepareData() //{ // Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor; // OleDbConnection aConnection = new OleDbConnection(Atend.Control.ConnectionString.AccessCnString); // OleDbTransaction aTransaction; // try // { // aConnection.Open(); // aTransaction = aConnection.BeginTransaction(); // try // { // if (!selectedPole.AccessInsert(aTransaction, aConnection, true, true)) // { // throw new System.Exception("selectedPole.AccessInsert"); // } // if (SelectedBranch.ProductType == (int)Atend.Control.Enum.ProductType.Conductor) // { // if (!SelectedConsol.AccessInsert(aTransaction, aConnection, true, true)) // { // throw new System.Exception("SelectedConsol.AccessInsert"); // } // if (!SelectedConsolTension.AccessInsert(aTransaction, aConnection, true, true)) // { // throw new System.Exception("SelectedConsolTension.AccessInsert"); // } // } // else if (SelectedBranch.ProductType == (int)Atend.Control.Enum.ProductType.SelfKeeper) // { // if (!SelectedClamp.AccessInsert(aTransaction, aConnection, true, true)) // { // throw new System.Exception("SelectedClamp.AccessInsert"); // } // if (!SelectedClampTension.AccessInsert(aTransaction, aConnection, true, true)) // { // throw new System.Exception("SelectedClampTension.AccessInsert"); // } // } // } // catch (System.Exception ex2) // { // ed.WriteMessage("ERROR PrepareData: {0} \n", ex2.Message); // aTransaction.Rollback(); // aConnection.Close(); // return false; // } // } // catch (System.Exception ex1) // { // ed.WriteMessage("ERROR PrepareData: {0} \n", ex1.Message); // aConnection.Close(); // return false; // } // aTransaction.Commit(); // aConnection.Close(); // return true; //} public bool PoleInstallationWithoutForbiddenArea(Guid SelectedPoleDpackageCode) { Editor ed = Application.DocumentManager.MdiActiveDocument.Editor; bool Answer = true; List <ObjectIdCollection> _AllConsols = new List <ObjectIdCollection>(); ObjectIdCollection _AllClamps = new ObjectIdCollection(); double _SectionLength = 0; double _SpanLength = 0; int _SectionCount = SectionCalculation(out _SectionLength); int _SpanCount = SpanCalculation(_SectionLength, out _SpanLength); Atend.Base.Acad.AT_INFO CurrentBranchInfo = Atend.Base.Acad.AT_INFO.SelectBySelectedObjectId(BranchEntity.ObjectId); ObjectIdCollection t = new ObjectIdCollection(); try { Atend.Global.Acad.DrawEquips.AcDrawPole _AcDrawPole = null; Atend.Global.Acad.DrawEquips.AcDrawCirclePole _AcDrawCirclePole = null; Atend.Global.Acad.DrawEquips.AcDrawPolygonPole _AcDrawPolygonPole = null; if (_SpanLength != -1) { CalculateSectionPoints(branchEntity.StartPoint, branchEntity.EndPoint, _SectionCount); Atend.Base.Design.DPackage PolePack = Atend.Base.Design.DPackage.AccessSelectByNodeCode(SelectedPoleDpackageCode); //Start Pole consols or clamp if (SelectedBranch.ProductType == (int)Atend.Control.Enum.ProductType.Conductor) { t.Add(GetStartConsolOrClamp()); _AllConsols.Add(t); } else { _AllClamps.Add(GetStartConsolOrClamp()); } for (int SectionCounter = 0; SectionCounter < _SectionCount; SectionCounter++) { SpanPoints.Clear(); CalculateSpanPoints(SectionPoints[SectionCounter], SectionPoints[SectionCounter + 1], _SpanCount); for (int SpanCounter = 1; SpanCounter < _SpanCount; SpanCounter++) { Atend.Base.Design.DPoleInfo PoleInfo = new Atend.Base.Design.DPoleInfo(); PoleInfo.HalterCount = 0; PoleInfo.HalterType = 0; PoleInfo.Factor = 0; if (SelectedBranch.ProductType == (int)Atend.Control.Enum.ProductType.Conductor) { #region Counductor //ed.WriteMessage("~~~~~~~~{0}~~~~~~~~~~~~~~GO TO SHAPE~~~~~~~~~~~{1}~~~~~~~~~~~~~~\n", SelectedPole.Shape, SelectedPole.Type); if (SelectedPole.Shape == 0) { //ed.WriteMessage("~~~~~~~~~~~~~~~~~~~~~~TWO~~~~~~~~~~~~~~~~~~~~~~~~~\n"); _AcDrawCirclePole = new Atend.Global.Acad.DrawEquips.AcDrawCirclePole(); #region POLECircle _AcDrawCirclePole.UseAccess = true; _AcDrawCirclePole.ePole = SelectedPole; _AcDrawCirclePole.ProjectCode = PolePack.ProjectCode; _AcDrawCirclePole.Existance = Convert.ToByte(PolePack.IsExistance); _AcDrawCirclePole.dPoleInfo = PoleInfo; _AcDrawCirclePole.eConsols.Add(SelectedConsol); _AcDrawCirclePole.eConsolCount.Add(2); _AcDrawCirclePole.eConsolExistance.Add(Convert.ToByte(PolePack.IsExistance)); _AcDrawCirclePole.eConsolProjectCode.Add(PolePack.ProjectCode); _AcDrawCirclePole.eConsolUseAccess.Add(false); _AcDrawCirclePole.eHalterCount = 0; if (!_AcDrawCirclePole.DrawPoleCircle(SpanPoints[SpanCounter], GetStartPoleAngle() + 90, out t)) { throw new System.Exception("failor while drawing pole"); } _AllConsols.Add(t); #endregion } else if (SelectedPole.Shape == 1) { if (SelectedPole.Type == 2)//pertic { //ed.WriteMessage("~~~~~~~~~~~~~~~~~~~~~~THREE~~~~~~~~~~~~~~~~~~~~~~~~~\n"); _AcDrawPolygonPole = new Atend.Global.Acad.DrawEquips.AcDrawPolygonPole(); #region PolePolygon _AcDrawPolygonPole.UseAccess = true; _AcDrawPolygonPole.ePole = SelectedPole; _AcDrawPolygonPole.ProjectCode = PolePack.ProjectCode; _AcDrawPolygonPole.Existance = Convert.ToByte(PolePack.IsExistance); _AcDrawPolygonPole.dPoleInfo = PoleInfo; _AcDrawPolygonPole.eConsols.Add(SelectedConsol); _AcDrawPolygonPole.eConsolCount.Add(2); _AcDrawPolygonPole.eConsolExistance.Add(Convert.ToByte(PolePack.IsExistance)); _AcDrawPolygonPole.eConsolProjectCode.Add(PolePack.ProjectCode); _AcDrawPolygonPole.eConsolUseAccess.Add(false); _AcDrawPolygonPole.eHalterCount = 0; if (!_AcDrawPolygonPole.DrawPolePolygon(SpanPoints[SpanCounter], GetStartPoleAngle() + 90, out t)) { throw new System.Exception("failor while drawing pole"); } _AllConsols.Add(t); #endregion } else { //ed.WriteMessage("~~~~~~~~~~~~~~~~~~~~~~ONE~~~~~~~~~~~~~~~~~~~~~~~~~\n"); _AcDrawPole = new Atend.Global.Acad.DrawEquips.AcDrawPole(); #region Pole _AcDrawPole.UseAccess = true; _AcDrawPole.ePole = SelectedPole; _AcDrawPole.ProjectCode = PolePack.ProjectCode; _AcDrawPole.Existance = Convert.ToByte(PolePack.IsExistance); _AcDrawPole.dPoleInfo = PoleInfo; _AcDrawPole.eConsols.Add(SelectedConsol); _AcDrawPole.eConsolCount.Add(2); _AcDrawPole.eConsolExistance.Add(Convert.ToByte(PolePack.IsExistance)); _AcDrawPole.eConsolProjectCode.Add(PolePack.ProjectCode); _AcDrawPole.eConsolUseAccess.Add(false); _AcDrawPole.eHalterCount = 0; if (!_AcDrawPole.DrawPole(SpanPoints[SpanCounter], GetStartPoleAngle() + 90, out t)) { throw new System.Exception("failor while drawing pole"); } _AllConsols.Add(t); #endregion } } #endregion }//end of if (SelectedBranch.ProductType == (int)Atend.Control.Enum.ProductType.Conductor) else if (SelectedBranch.ProductType == (int)Atend.Control.Enum.ProductType.SelfKeeper) { #region Selfkeeper if (SelectedPole.Shape == 0) { //ed.WriteMessage("~~~~~~~~~~~~~~~~~~~~~~TWO~~~~~~~~~~~~~~~~~~~~~~~~~\n"); _AcDrawCirclePole = new Atend.Global.Acad.DrawEquips.AcDrawCirclePole(); #region POLECircle _AcDrawCirclePole.UseAccess = true; _AcDrawCirclePole.ePole = SelectedPole; _AcDrawCirclePole.ProjectCode = PolePack.ProjectCode; _AcDrawCirclePole.Existance = Convert.ToByte(PolePack.IsExistance); _AcDrawCirclePole.dPoleInfo = PoleInfo; _AcDrawCirclePole.eConsols = new List <Atend.Base.Equipment.EConsol>(); _AcDrawCirclePole.eConsolCount = new ArrayList(); _AcDrawCirclePole.eConsolExistance = new ArrayList(); _AcDrawCirclePole.eConsolProjectCode = new ArrayList(); _AcDrawCirclePole.eConsolUseAccess = new ArrayList(); _AcDrawCirclePole.eHalterCount = 0; if (!_AcDrawCirclePole.DrawPoleCircle(SpanPoints[SpanCounter], GetStartPoleAngle() + 90, out t)) { throw new System.Exception("failor while drawing pole"); } //_AllClamps.Add(t[0]); #endregion } else if (SelectedPole.Shape == 1) { if (SelectedPole.Type == 2)//pertic { //ed.WriteMessage("~~~~~~~~~~~~~~~~~~~~~~THREE~~~~~~~~~~~~~~~~~~~~~~~~~\n"); _AcDrawPolygonPole = new Atend.Global.Acad.DrawEquips.AcDrawPolygonPole(); #region PolePolygon _AcDrawPolygonPole.UseAccess = true; _AcDrawPolygonPole.ePole = SelectedPole; _AcDrawPolygonPole.ProjectCode = PolePack.ProjectCode; _AcDrawPolygonPole.Existance = Convert.ToByte(PolePack.IsExistance); _AcDrawPolygonPole.dPoleInfo = PoleInfo; _AcDrawPolygonPole.eConsols = new List <Atend.Base.Equipment.EConsol>(); _AcDrawPolygonPole.eConsolCount = new ArrayList(); _AcDrawPolygonPole.eConsolExistance = new ArrayList(); _AcDrawPolygonPole.eConsolProjectCode = new ArrayList(); _AcDrawPolygonPole.eConsolUseAccess = new ArrayList(); _AcDrawPolygonPole.eHalterCount = 0; if (!_AcDrawPolygonPole.DrawPolePolygon(SpanPoints[SpanCounter], GetStartPoleAngle() + 90, out t)) { throw new System.Exception("failor while drawing pole"); } //_AllClamps.Add(t[0]); #endregion } else { //ed.WriteMessage("~~~~~~~~~~~~~~~~~~~~~~ONE~~~~~~~~~~~~~~~~~~~~~~~~~\n"); _AcDrawPole = new Atend.Global.Acad.DrawEquips.AcDrawPole(); #region Pole _AcDrawPole.UseAccess = true; _AcDrawPole.ePole = SelectedPole; _AcDrawPole.ProjectCode = PolePack.ProjectCode; _AcDrawPole.Existance = Convert.ToByte(PolePack.IsExistance); _AcDrawPole.dPoleInfo = PoleInfo; _AcDrawPole.eConsols = new List <Atend.Base.Equipment.EConsol>(); _AcDrawPole.eConsolCount = new ArrayList(); _AcDrawPole.eConsolExistance = new ArrayList(); _AcDrawPole.eConsolProjectCode = new ArrayList(); _AcDrawPole.eConsolUseAccess = new ArrayList(); _AcDrawPole.eHalterCount = 0; if (!_AcDrawPole.DrawPole(SpanPoints[SpanCounter], GetStartPoleAngle() + 90, out t)) { throw new System.Exception("failor while drawing pole"); } //_AllClamps.Add(t[0]); #endregion } } #endregion Atend.Global.Acad.DrawEquips.AcDrawKalamp _AcDrawKalamp = new Atend.Global.Acad.DrawEquips.AcDrawKalamp(); _AcDrawKalamp.eClamp = SelectedClamp; _AcDrawKalamp.Existance = PolePack.IsExistance; _AcDrawKalamp.ProjectCode = PolePack.ProjectCode; _AcDrawKalamp.UseAccess = false; _AllClamps.Add(_AcDrawKalamp.DrawKalamp(Atend.Global.Acad.UAcad.CenterOfEntity(Atend.Global.Acad.UAcad.GetEntityByObjectID(t[0])), t[0])); } //end of else if (SelectedBranch.ProductType == (int)Atend.Control.Enum.ProductType.SelfKeeper) } //end of span if (SectionCounter + 1 != _SectionCount) { //ed.WriteMessage("~~~~~~~~~~~~<<<SECTION>>>~~~~~~~~~~~~~\n"); if (_AcDrawPole != null) { //ed.WriteMessage("~~~~~~~~~~~~~~~~~~~~~~ONE~~~~~~~~~~~~~~~~~~~~~~~~~\n"); if (CurrentBranchInfo.NodeType != (int)Atend.Control.Enum.ProductType.SelfKeeper) { _AcDrawPole.eConsols = new List <Atend.Base.Equipment.EConsol>(); _AcDrawPole.eConsols.Add(SelectedConsolTension); _AcDrawPole.eConsols.Add(SelectedConsolTension); _AcDrawPole.eConsolCount = new ArrayList(); _AcDrawPole.eConsolCount.Add(2); _AcDrawPole.eConsolCount.Add(2); _AcDrawPole.eConsolExistance = new ArrayList(); _AcDrawPole.eConsolExistance.Add(Convert.ToByte(PolePack.IsExistance)); _AcDrawPole.eConsolExistance.Add(Convert.ToByte(PolePack.IsExistance)); _AcDrawPole.eConsolProjectCode = new ArrayList(); _AcDrawPole.eConsolProjectCode.Add(PolePack.ProjectCode); _AcDrawPole.eConsolProjectCode.Add(PolePack.ProjectCode); _AcDrawPole.eConsolUseAccess = new ArrayList(); _AcDrawPole.eConsolUseAccess.Add(false); _AcDrawPole.eConsolUseAccess.Add(false); } else { _AcDrawPole.eConsols = new List <Atend.Base.Equipment.EConsol>(); _AcDrawPole.eConsolCount = new ArrayList(); _AcDrawPole.eConsolExistance = new ArrayList(); _AcDrawPole.eConsolProjectCode = new ArrayList(); _AcDrawPole.eConsolUseAccess = new ArrayList(); } _AcDrawPole.eHalterCount = 0; if (!_AcDrawPole.DrawPole(SectionPoints[SectionCounter + 1], GetStartPoleAngle(), out t)) { throw new System.Exception("failor while drawing pole"); } } else if (_AcDrawCirclePole != null) { //ed.WriteMessage("~~~~~~~~~~~~~~~~~~~~~~TWO~~~~~~~~~~~~~~~~~~~~~~~~~\n"); if (CurrentBranchInfo.NodeType != (int)Atend.Control.Enum.ProductType.SelfKeeper) { _AcDrawCirclePole.eConsols = new List <Atend.Base.Equipment.EConsol>(); _AcDrawCirclePole.eConsols.Add(SelectedConsolTension); _AcDrawCirclePole.eConsols.Add(SelectedConsolTension); _AcDrawCirclePole.eConsolCount = new ArrayList(); _AcDrawCirclePole.eConsolCount.Add(2); _AcDrawCirclePole.eConsolCount.Add(2); _AcDrawCirclePole.eConsolExistance = new ArrayList(); _AcDrawCirclePole.eConsolExistance.Add(Convert.ToByte(PolePack.IsExistance)); _AcDrawCirclePole.eConsolExistance.Add(Convert.ToByte(PolePack.IsExistance)); _AcDrawCirclePole.eConsolProjectCode = new ArrayList(); _AcDrawCirclePole.eConsolProjectCode.Add(PolePack.ProjectCode); _AcDrawCirclePole.eConsolProjectCode.Add(PolePack.ProjectCode); _AcDrawCirclePole.eConsolUseAccess = new ArrayList(); _AcDrawCirclePole.eConsolUseAccess.Add(false); _AcDrawCirclePole.eConsolUseAccess.Add(false); } else { _AcDrawCirclePole.eConsols = new List <Atend.Base.Equipment.EConsol>(); _AcDrawCirclePole.eConsolCount = new ArrayList(); _AcDrawCirclePole.eConsolExistance = new ArrayList(); _AcDrawCirclePole.eConsolProjectCode = new ArrayList(); _AcDrawCirclePole.eConsolUseAccess = new ArrayList(); } _AcDrawCirclePole.eHalterCount = 0; if (!_AcDrawCirclePole.DrawPoleCircle(SectionPoints[SectionCounter + 1], GetStartPoleAngle(), out t)) { throw new System.Exception("failor while drawing pole"); } } else if (_AcDrawPolygonPole != null) { //ed.WriteMessage("~~~~~~~~~~~~~~~~~~~~~~THREE~~~~~~~~~~~~~~~~~~~~~~~~~\n"); if (CurrentBranchInfo.NodeType != (int)Atend.Control.Enum.ProductType.SelfKeeper) { _AcDrawPolygonPole.eConsols = new List <Atend.Base.Equipment.EConsol>(); _AcDrawPolygonPole.eConsols.Add(SelectedConsolTension); _AcDrawPolygonPole.eConsols.Add(SelectedConsolTension); _AcDrawPolygonPole.eConsolCount = new ArrayList(); _AcDrawPolygonPole.eConsolCount.Add(2); _AcDrawPolygonPole.eConsolCount.Add(2); _AcDrawPolygonPole.eConsolExistance = new ArrayList(); _AcDrawPolygonPole.eConsolExistance.Add(Convert.ToByte(PolePack.IsExistance)); _AcDrawPolygonPole.eConsolExistance.Add(Convert.ToByte(PolePack.IsExistance)); _AcDrawPolygonPole.eConsolProjectCode = new ArrayList(); _AcDrawPolygonPole.eConsolProjectCode.Add(PolePack.ProjectCode); _AcDrawPolygonPole.eConsolProjectCode.Add(PolePack.ProjectCode); _AcDrawPolygonPole.eConsolUseAccess = new ArrayList(); _AcDrawPolygonPole.eConsolUseAccess.Add(false); _AcDrawPolygonPole.eConsolUseAccess.Add(false); } else { _AcDrawPolygonPole.eConsols = new List <Atend.Base.Equipment.EConsol>(); _AcDrawPolygonPole.eConsolCount = new ArrayList(); _AcDrawPolygonPole.eConsolExistance = new ArrayList(); _AcDrawPolygonPole.eConsolProjectCode = new ArrayList(); _AcDrawPolygonPole.eConsolUseAccess = new ArrayList(); } ////ed.WriteMessage("### BBB ### \n"); _AcDrawPolygonPole.eHalterCount = 0; if (!_AcDrawPolygonPole.DrawPolePolygon(SectionPoints[SectionCounter + 1], GetStartPoleAngle(), out t)) { throw new System.Exception("failor while drawing pole"); } //ed.WriteMessage("### GGG ### \n"); } if (CurrentBranchInfo.NodeType == (int)Atend.Control.Enum.ProductType.Conductor) { _AllConsols.Add(t); } else if (CurrentBranchInfo.NodeType == (int)Atend.Control.Enum.ProductType.SelfKeeper) { Atend.Global.Acad.DrawEquips.AcDrawKalamp _AcDrawKalamp = new Atend.Global.Acad.DrawEquips.AcDrawKalamp(); _AcDrawKalamp.eClamp = SelectedClampTension; _AcDrawKalamp.Existance = PolePack.IsExistance; _AcDrawKalamp.ProjectCode = PolePack.ProjectCode; _AcDrawKalamp.UseAccess = false; _AllClamps.Add(_AcDrawKalamp.DrawKalamp(Atend.Global.Acad.UAcad.CenterOfEntity(Atend.Global.Acad.UAcad.GetEntityByObjectID(t[0])), t[0])); } _AcDrawCirclePole = null; _AcDrawPole = null; _AcDrawPolygonPole = null; // ed.WriteMessage("~~~~~~~~~~~~<<<NOT SECTION>>>~~~~~~~~~~~~~\n"); }//change section } //End Pole consols if (CurrentBranchInfo.NodeType == (int)Atend.Control.Enum.ProductType.Conductor) { t = new ObjectIdCollection(); t.Add(GetEndConsolOrClamp()); _AllConsols.Add(t); } else if (CurrentBranchInfo.NodeType == (int)Atend.Control.Enum.ProductType.SelfKeeper) { //_AllClamps.Add(t[0]); _AllClamps.Add(GetEndConsolOrClamp()); } #region Do Branch Operation Here if (CurrentBranchInfo.NodeType == (int)Atend.Control.Enum.ProductType.Conductor) { #region Conductor Operation //delete conductor if (Atend.Global.Acad.DrawEquips.AcDrawConductor.DeleteConductorData(branchEntity.ObjectId)) { Atend.Global.Acad.DrawEquips.AcDrawConductor.DeleteConductor(branchEntity.ObjectId); } //ed.WriteMessage("~~~~~~ start sim keshi ~~~~~~~~~\n"); ObjectId LastConsol = ObjectId.Null, StartConsol = ObjectId.Null; for (int ii = 0; ii < _AllConsols.Count - 1; ii++) { //ed.WriteMessage("~~~~~~~~~~~~~~~~~~~~~~~~\n"); ObjectIdCollection o1 = _AllConsols[ii]; //foreach (ObjectId oii in o1) //{ // ed.WriteMessage("oi:{0}\n", oii); //} if (o1.Count == 1) { StartConsol = o1[0]; } else { if (o1[1] == LastConsol) { StartConsol = o1[0]; } else { StartConsol = o1[1]; } } ObjectIdCollection o2 = _AllConsols[ii + 1]; LastConsol = o2[0]; //ed.WriteMessage("Start:{0} , End:{1} \n", StartConsol, LastConsol); Atend.Global.Acad.DrawEquips.AcDrawConductor _AcDrawConductor = new Atend.Global.Acad.DrawEquips.AcDrawConductor(); _AcDrawConductor.UseAccess = true; //ed.WriteMessage("111 \n"); _AcDrawConductor.eConductorTip = Atend.Base.Equipment.EConductorTip.AccessSelectByCode(CurrentBranchInfo.ProductCode); //ed.WriteMessage("112 \n"); ///////////_AcDrawConductor.eConductors.Add(Atend.Base.Equipment.EConductor.AccessSelectByCode(_AcDrawConductor.eConductorTip.NeutralProductCode)); //ed.WriteMessage("113 \n"); //////////_AcDrawConductor.eConductors.Add(Atend.Base.Equipment.EConductor.AccessSelectByCode(5)); //ed.WriteMessage("114 \n"); /////////_AcDrawConductor.eConductors.Add(Atend.Base.Equipment.EConductor.AccessSelectByCode(5)); //ed.WriteMessage("115 \n"); Atend.Base.Design.DBranch _DBranch = Atend.Base.Design.DBranch.AccessSelectByCode(new Guid(CurrentBranchInfo.NodeCode)); if (_DBranch.Code != Guid.Empty) { _AcDrawConductor.Existance = _DBranch.IsExist; //ed.WriteMessage("116 \n"); _AcDrawConductor.ProjectCode = _DBranch.ProjectCode; //ed.WriteMessage("i will go to draw sim \n"); } else { _AcDrawConductor.Existance = 0; //ed.WriteMessage("116 \n"); _AcDrawConductor.ProjectCode = 0; //ed.WriteMessage("i will go to draw sim \n"); } _AcDrawConductor.DrawConductor(Atend.Global.Acad.UAcad.CenterOfEntity(Atend.Global.Acad.UAcad.GetEntityByObjectID(StartConsol)), Atend.Global.Acad.UAcad.CenterOfEntity(Atend.Global.Acad.UAcad.GetEntityByObjectID(LastConsol)), StartConsol, LastConsol, _SpanLength); //ed.WriteMessage("Start:{0} , End:{1} \n", StartConsol, LastConsol); } //ed.WriteMessage("~~~~~~ end sim keshi ~~~~~~~~~\n"); #endregion } else if (CurrentBranchInfo.NodeType == (int)Atend.Control.Enum.ProductType.SelfKeeper) { #region SelfKeeper Operation if (Atend.Global.Acad.DrawEquips.AcDrawSelfKeeper.DeleteSelfKeeperData(branchEntity.ObjectId)) { //ed.WriteMessage("delete data io{0}\n", branchEntity.ObjectId); if (Atend.Global.Acad.DrawEquips.AcDrawSelfKeeper.DeleteSelfKeeper(branchEntity.ObjectId, true)) { //ed.WriteMessage("delete graphic \n"); for (int ClampCounter = 0; ClampCounter < _AllClamps.Count - 1; ClampCounter++) { //ed.WriteMessage("draw self keeper \n"); //ed.WriteMessage("ANSWER={0} \n", oi); Atend.Global.Acad.DrawEquips.AcDrawSelfKeeper _AcDrawSelfKeeper = new Atend.Global.Acad.DrawEquips.AcDrawSelfKeeper(); _AcDrawSelfKeeper.UseAccess = true; _AcDrawSelfKeeper.eSelfKeeperTip = Atend.Base.Equipment.ESelfKeeperTip.AccessSelectByCode(SelectedBranch.ProductCode); _AcDrawSelfKeeper.Existance = SelectedBranch.IsExist; _AcDrawSelfKeeper.ProjectCode = SelectedBranch.ProjectCode; _AcDrawSelfKeeper.DrawSelfKeeper(Atend.Global.Acad.UAcad.CenterOfEntity(Atend.Global.Acad.UAcad.GetEntityByObjectID(_AllClamps[ClampCounter])), Atend.Global.Acad.UAcad.CenterOfEntity(Atend.Global.Acad.UAcad.GetEntityByObjectID(_AllClamps[ClampCounter + 1])), _AllClamps[ClampCounter], _AllClamps[ClampCounter + 1], _SpanLength); } } else { throw new System.Exception("while deleting self keeper"); } } else { throw new System.Exception("while deleting self keeper"); } #endregion } #endregion } else { ed.WriteMessage("طول اسپن قابل محاسبه نمی باشد" + "\n"); Answer = false; } } catch (System.Exception ex) { ed.WriteMessage("Error While Pole installation : {0} \n", ex.Message); Answer = false; } return(Answer); }