Esempio n. 1
0
        private void BindDateTodtSectionNumber()
        {
            Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;

            Boolean chk = true;

            SectionCode.Clear();
            for (int i = 0; i < SelectedList.Count; i++)
            {
                chk = true;
                Atend.Global.Calculation.General.General.AutocadSelectedList cadInfo = (Atend.Global.Calculation.General.General.AutocadSelectedList)SelectedList[i];

                Atend.Base.Design.DPoleSection poleSection = Atend.Base.Design.DPoleSection.AccessSelectByProductCodeProductType(cadInfo.ProductGuid, cadInfo.ProductType);
                if (poleSection.SectionCode != Guid.Empty)
                {
                    if (SectionCode.Count != 0)
                    {
                        for (int j = 0; j < SectionCode.Count; j++)
                        {
                            if ((Guid)SectionCode[j] == poleSection.SectionCode)
                            {
                                chk = false;
                            }
                        }
                        if (chk)
                        {
                            SectionCode.Add(poleSection.SectionCode);
                        }
                    }
                    else
                    {
                        SectionCode.Add(poleSection.SectionCode);
                    }
                }
            }


            for (int i = 0; i < SectionCode.Count; i++)
            {
                Atend.Base.Design.DSection sectionNUmber = Atend.Base.Design.DSection.AccessSelectByCode((Guid)SectionCode[i]);
                System.Data.DataRow        dr            = dtSectionNumber.NewRow();
                ed.WriteMessage("Sec.Number={0},Sec.Code={1}\n", sectionNUmber.Number, sectionNUmber.Code);
                dr["SectionNumber"] = sectionNUmber.Number.ToString();
                dr["SectionCode"]   = sectionNUmber.Code.ToString();
                dtSectionNumber.Rows.Add(dr);
            }
        }
Esempio n. 2
0
        private void btnSelect_Click(object sender, EventArgs e)
        {
            Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;

            SelectedList.Clear();
            SectionCode.Clear();
            int gvCount = gvNetCross.Rows.Count - 1;

            for (int i = gvCount; i >= 0; i--)
            {
                gvNetCross.Rows.RemoveAt(i);
            }
            //gvNetCross.Rows.Clear();
            gvNetCross.Refresh();
            section = new Atend.Global.Calculation.Section();
            section.DetermineSection();

            #region Select
            this.Hide();

            // ~~~~~~~~~~~~ Start Select Entities


            int PoleCounter = 0;

            int ConductorCounter = 0;

            PromptSelectionOptions pso = new PromptSelectionOptions();

            pso.MessageForAdding = "Select area where you want: \n";

            PromptSelectionResult psr = ed.GetSelection(pso);

            if (psr.Status == PromptStatus.OK)
            {
                SelectionSet ss = psr.Value;

                ObjectId[] SelectedObjectID = ss.GetObjectIds();

                foreach (ObjectId so in SelectedObjectID)
                {
                    Atend.Base.Acad.AT_INFO at_info = Atend.Base.Acad.AT_INFO.SelectBySelectedObjectId(so);
                    if (at_info.ParentCode != "NONE" && (at_info.NodeType == (int)Atend.Control.Enum.ProductType.Pole || at_info.NodeType == (int)Atend.Control.Enum.ProductType.PoleTip))
                    {
                        Atend.Global.Calculation.General.General.AutocadSelectedList Item =
                            new Atend.Global.Calculation.General.General.AutocadSelectedList();

                        Item.ProductGuid    = new Guid(at_info.NodeCode);
                        Item.ProductType    = at_info.NodeType;
                        Item.ConductorAngle = 0;

                        string PoleNumber = "";
                        Atend.Base.Acad.AT_SUB poleSub = Atend.Base.Acad.AT_SUB.SelectBySelectedObjectId(so);
                        foreach (ObjectId oi in poleSub.SubIdCollection)
                        {
                            Atend.Base.Acad.AT_INFO subinfo =
                                Atend.Base.Acad.AT_INFO.SelectBySelectedObjectId(oi);
                            if (subinfo.ParentCode != "NONE" && subinfo.NodeType == (int)Atend.Control.Enum.ProductType.Comment)
                            {
                                MText dbt = Atend.Global.Acad.UAcad.GetEntityByObjectID(oi) as MText;
                                if (dbt != null)
                                {
                                    PoleNumber = dbt.Contents;
                                }
                            }
                        }

                        Item.PoleNumber = PoleNumber;
                        SelectedList.Add(Item);
                        PoleCounter++;
                    }
                    else if (at_info.ParentCode != "NONE" && at_info.NodeType == (int)Atend.Control.Enum.ProductType.Conductor)
                    {
                        Atend.Global.Calculation.General.General.AutocadSelectedList Item =
                            new Atend.Global.Calculation.General.General.AutocadSelectedList();

                        Item.ProductGuid    = new Guid(at_info.NodeCode);
                        Item.ProductType    = (int)Atend.Control.Enum.ProductType.Conductor;
                        Item.ConductorAngle = 0;
                        Item.PoleNumber     = "";
                        SelectedList.Add(Item);
                        ConductorCounter++;
                    }
                    else if (at_info.ParentCode != "NONE" && at_info.NodeType == (int)Atend.Control.Enum.ProductType.SelfKeeper)
                    {
                        Atend.Global.Calculation.General.General.AutocadSelectedList Item =
                            new Atend.Global.Calculation.General.General.AutocadSelectedList();

                        Item.ProductGuid    = new Guid(at_info.NodeCode);
                        Item.ProductType    = (int)Atend.Control.Enum.ProductType.SelfKeeper;
                        Item.ConductorAngle = 0;
                        Item.PoleNumber     = "";
                        SelectedList.Add(Item);
                        ConductorCounter++;
                    }
                }

                lblPole.Text      = PoleCounter.ToString();
                lblConductor.Text = ConductorCounter.ToString();
                ed.WriteMessage("Finish\n");
            }
            else
            {
                lblPole.Text      = "0";
                lblConductor.Text = "0";
            }

            // ~~~~~~~~~~~~ End Select Entities


            this.Show();


            #endregion

            //**********************
            ed.WriteMessage("~~~~~~~~~~after select \n");

            dtSectionNumber = new System.Data.DataTable();
            System.Data.DataColumn dcColumn  = new System.Data.DataColumn("Name");
            System.Data.DataColumn dcColumn1 = new System.Data.DataColumn("Code");
            dtSectionNumber.Columns.Add(dcColumn);
            dtSectionNumber.Columns.Add(dcColumn1);

            Boolean chk = true;
            //ed.WriteMessage("SelectedList.Count= " + SelectedList.Count.ToString() + "\n");

            for (int i = 0; i < SelectedList.Count; i++)
            {
                chk = true;
                Atend.Global.Calculation.General.General.AutocadSelectedList cadInfo = (Atend.Global.Calculation.General.General.AutocadSelectedList)SelectedList[i];
                //ed.WriteMessage("Guid= "+cadInfo.ProductGuid.ToString()+"ProductType = "+cadInfo.ProductType.ToString()+"\n");

                Atend.Base.Design.DPoleSection poleSection = Atend.Base.Design.DPoleSection.AccessSelectByProductCodeProductType(cadInfo.ProductGuid, cadInfo.ProductType);
                //ed.WriteMessage("PoleSection.SectionCode Is= "+poleSection.SectionCode.ToString()+"\n");
                if (SectionCode.Count != 0)
                {
                    for (int j = 0; j < SectionCode.Count; j++)
                    {
                        if ((Guid)SectionCode[j] == poleSection.SectionCode)
                        {
                            chk = false;
                        }
                    }
                    if (chk)
                    {
                        //    ed.WriteMessage("Add To SectionCode,SectionCode Is={0}\n", poleSection.SectionCode);
                        SectionCode.Add(poleSection.SectionCode);
                    }
                }
                else
                {
                    //  ed.WriteMessage("Add To SectionCode Else,SectionCode Is={0}\n", poleSection.SectionCode);
                    SectionCode.Add(poleSection.SectionCode);
                }
                //ed.WriteMessage("SectionCodeList.Count= "+SectionCode.Count.ToString()+"\n");
            }

            //ed.WriteMessage("Finish Full SectionCode\n");
            ////Add  SectionNumber To DataTable

            for (int i = 0; i < SectionCode.Count; i++)
            {
                //ed.WriteMessage("**Sec.Code={0}\n", SectionCode[i].ToString());

                Atend.Base.Design.DSection sectionNUmber = Atend.Base.Design.DSection.AccessSelectByCode((Guid)SectionCode[i]);
                System.Data.DataRow        dr            = dtSectionNumber.NewRow();
                ed.WriteMessage("Sec.Number={0},Sec.Code={1}\n", sectionNUmber.Number, sectionNUmber.Code);
                dr["Name"] = sectionNUmber.Number.ToString();
                dr["Code"] = sectionNUmber.Code.ToString();
                dtSectionNumber.Rows.Add(dr);
            }
            //ed.WriteMessage("Finsh Add  SectionNumber To DataTable\n");
            ////BindDataToGrid In Combo Box For NetCross



            DataGridViewComboBoxColumn c = (DataGridViewComboBoxColumn)gvNetCross.Columns["Column2"];
            c.DisplayMember = "Name";
            c.ValueMember   = "Code";

            c.DataSource = Atend.Base.Calculating.CNetWorkCross.AccessSelectAll();
            c.Selected   = true;
            gvNetCross.AutoGenerateColumns = false;
            gvNetCross.DataSource          = dtSectionNumber;

            //Bind Data To ComboBoxSelect Section

            cboSelectSection.DisplayMember = "Name";
            cboSelectSection.ValueMember   = "Code";
            cboSelectSection.DataSource    = dtSectionNumber;

            //*************************
        }