Exemplo n.º 1
0
        public bool UpdateStreetBoxData(Guid EXCode)
        {
            Editor           ed = Application.DocumentManager.MdiActiveDocument.Editor;
            OleDbTransaction aTransaction;
            OleDbConnection  aConnection = new OleDbConnection(Atend.Control.ConnectionString.AccessCnString);

            try
            {
                aConnection.Open();
                aTransaction = aConnection.BeginTransaction();
                try
                {
                    StreetBoxPack = Atend.Base.Design.DPackage.AccessSelectByCode(EXCode);
                    if (!UseAccess)
                    {
                        if (!eStreetBox.AccessInsert(aTransaction, aConnection, true, true))
                        {
                            throw new System.Exception("eStreetBox.AccessInsert failed");
                        }
                        else
                        {
                            foreach (Atend.Base.Equipment.EStreetBoxPhuse sbPhuses in eStreetBoxPhuse)
                            {
                                if (!sbPhuses.AccessInsert(aTransaction, aConnection, true, true))
                                {
                                    throw new System.Exception("eStreetBoxPhuse.AccessInsert failed");
                                }
                            }
                        }

                        foreach (Atend.Base.Equipment.EStreetBoxPhuse SelectedStreetBoxPhuse in eStreetBoxPhuse)
                        {
                            Atend.Base.Equipment.EPhuse phuse = Atend.Base.Equipment.EPhuse.SelectByXCode(SelectedStreetBoxPhuse.PhuseXCode);
                            if (phuse.Code != -1)
                            {
                                if (!phuse.AccessInsert(aTransaction, aConnection, true, true))
                                {
                                    throw new System.Exception("ePhuse.AccesInsert failed");
                                }
                                SelectedStreetBoxPhuse.PhuseCode     = phuse.Code;
                                SelectedStreetBoxPhuse.StreetBoxCode = eStreetBox.Code;
                                if (!SelectedStreetBoxPhuse.AccessInsert(aTransaction, aConnection, true, true))
                                {
                                    throw new System.Exception("EStreetBoxPhuseInsert failed");
                                }
                            }
                            else
                            {
                                throw new System.Exception("EPhuse.SelectByXCode failed");
                            }
                        }
                    }
                    StreetBoxPack.IsExistance = Existance;
                    StreetBoxPack.ProductCode = eStreetBox.Code;
                    StreetBoxPack.ProjectCode = ProjectCode;
                    StreetBoxPack.Number      = "";
                    if (StreetBoxPack.AccessUpdate(aTransaction, aConnection))
                    {
                        Atend.Base.Acad.AT_INFO atinfo = Atend.Base.Acad.AT_INFO.SelectBySelectedObjectId(selectedObjectId);
                        atinfo.ProductCode = eStreetBox.Code;
                        atinfo.Insert();
                    }
                    else
                    {
                        throw new System.Exception("StreetBoxPack.AccessInsert2 failed");
                    }
                }
                catch (System.Exception ex1)
                {
                    ed.WriteMessage("ERROR UpdateStreetBox 01(transaction) : {0} \n", ex1.Message);
                    aTransaction.Rollback();
                    aConnection.Close();
                    return(false);
                }
            }
            catch (System.Exception ex)
            {
                ed.WriteMessage("ERROR UpdateStreetBox 01 : {0} \n", ex.Message);
                aConnection.Close();
                return(false);
            }
            aTransaction.Commit();
            DeleteStreetBox(selectedObjectId);
            DrawStreetBoxUpdate();
            aConnection.Close();
            return(true);
        }
Exemplo n.º 2
0
        private bool SaveStreetBoxData()
        {
            Editor           ed          = Application.DocumentManager.MdiActiveDocument.Editor;
            OleDbConnection  aConnection = new OleDbConnection(Atend.Control.ConnectionString.AccessCnString);
            OleDbTransaction aTransaction;

            try
            {
                aConnection.Open();
                aTransaction = aConnection.BeginTransaction();

                try
                {
                    //Atend.Base.Equipment.EStreetBox sb = Atend.Base.Equipment.EStreetBox.AccessSelectByXCode(eStreetBox.XCode);
                    if (!UseAccess)
                    {
                        //if (sb.Code == -1)
                        {
                            if (!eStreetBox.AccessInsert(aTransaction, aConnection, true, true))
                            {
                                throw new System.Exception("eStreetBox.AccessInsert failed");
                            }
                        }
                        //}

                        //if (!UseAccess)
                        //{
                        foreach (Atend.Base.Equipment.EStreetBoxPhuse SelectedStreetBoxPhuse in eStreetBoxPhuse)
                        {
                            //ed.WriteMessage("@@{0}\n", SelectedStreetBoxPhuse.PhuseXCode);
                            //ed.WriteMessage("########## SelectedStreetBoxPhuse.PhuseXCode:{0}\n", SelectedStreetBoxPhuse.PhuseXCode);



                            Atend.Base.Equipment.EPhuse phuse = Atend.Base.Equipment.EPhuse.SelectByXCode(SelectedStreetBoxPhuse.PhuseXCode);
                            //ed.WriteMessage("########## phuse.Code:{0}\n", phuse.Code);
                            if (phuse.Code != -1)
                            {
                                Atend.Base.Equipment.EPhusePole _EPhusePole = Atend.Base.Equipment.EPhusePole.SelectByXCode(phuse.PhusePoleXCode);
                                if (_EPhusePole.Code != -1)
                                {
                                    //ed.WriteMessage("112\n");
                                    if (!_EPhusePole.AccessInsert(aTransaction, aConnection, true, true))
                                    {
                                        throw new System.Exception("AccessInsert failed PhusePole");
                                    }
                                }
                                else
                                {
                                    throw new System.Exception("Lack of data in StreetBox:Phuse:PhusePole");
                                }

                                phuse.PhusePoleCode = _EPhusePole.Code;
                                if (!phuse.AccessInsert(aTransaction, aConnection, true, true))
                                {
                                    throw new System.Exception("ePhuse.AccesInsert failed");
                                }
                                SelectedStreetBoxPhuse.PhuseCode     = phuse.Code;
                                SelectedStreetBoxPhuse.StreetBoxCode = eStreetBox.Code;
                                //if (sb.Code == -1)
                                //    SelectedStreetBoxPhuse.StreetBoxCode = eStreetBox.Code;
                                //else
                                //    SelectedStreetBoxPhuse.StreetBoxCode = sb.Code;
                                if (!SelectedStreetBoxPhuse.AccessInsert(aTransaction, aConnection, true, true))
                                {
                                    throw new System.Exception("EStreetBoxPhuseInsert failed");
                                }
                            }
                            else
                            {
                                throw new System.Exception("EPhuse.SelectByXCode failed");
                            }
                        }
                    }

                    StreetBoxPack             = new Atend.Base.Design.DPackage();
                    StreetBoxPack.Count       = 1;
                    StreetBoxPack.IsExistance = Existance;
                    StreetBoxPack.NodeCode    = Guid.Empty;
                    StreetBoxPack.Number      = "0";
                    StreetBoxPack.ParentCode  = Guid.Empty;
                    StreetBoxPack.ProjectCode = ProjectCode;
                    StreetBoxPack.ProductCode = eStreetBox.Code;
                    //if (sb.Code == -1)
                    //    StreetBoxPack.ProductCode = eStreetBox.Code;
                    //else
                    //    StreetBoxPack.ProductCode = sb.Code;
                    StreetBoxPack.Type = Convert.ToInt32(Atend.Control.Enum.ProductType.StreetBox);

                    if (!StreetBoxPack.AccessInsert(aTransaction, aConnection))
                    {
                        throw new System.Exception("StreetBoxPack.AccessInsert failed");
                    }
                }
                catch (System.Exception ex1)
                {
                    ed.WriteMessage("ERROR SaveStreetBoxData 02 :{0} \n", ex1.Message);
                    aTransaction.Rollback();
                    aConnection.Close();
                    return(false);
                }
            }
            catch (System.Exception ex)
            {
                ed.WriteMessage("ERROR SaveStreetBoxData 01 :{0} \n", ex.Message);
                aConnection.Close();
                return(false);
            }

            aTransaction.Commit();
            aConnection.Close();

            #region Not to Get Green

            Atend.Base.Acad.AcadGlobal.StreetBoxData.UseAccess = true;
            UseAccess = true;

            #endregion


            return(true);
        }