Exemple #1
0
        public CableInfo(Database.DbElement aCable)
        {
            //if given cable is valid in db:
            if (aCable.IsValid)
            {
                //get name of given cable
                mCableName = aCable.GetAsString(Database.DbAttributeInstance.NAMN);

                //get cable component name
                if (aCable.IsAttributeValid(Database.DbAttributeInstance.SPRE))
                {
                    Database.DbElement _spref = aCable.GetElement(Database.DbAttributeInstance.SPRE);
                    if (_spref.IsValid)
                    {
                        mComponentName = _spref.GetAsString(Database.DbAttributeInstance.NAMN);
                    }
                }

                Database.DbElement _staref = aCable.GetElement(Database.DbAttributeInstance.STAREF);
                if (_staref.IsValid)
                {
                    if (_staref.GetElementType() == Database.DbElementTypeInstance.SCELCONNECTION)
                    {
                        mStartElconn = MiscUtilities.GetElemPresName(_staref);
                        mStartEqui   = MiscUtilities.GetElemPresName(_staref.Owner);
                    }
                    else
                    {
                        mStartEqui = MiscUtilities.GetElemPresName(_staref);
                    }
                }

                Database.DbElement _endref = aCable.GetElement(Database.DbAttributeInstance.ENDREF);
                if (_endref.IsValid)
                {
                    if (_endref.GetElementType() == Database.DbElementTypeInstance.SCELCONNECTION)
                    {
                        mEndElconn = MiscUtilities.GetElemPresName(_endref);
                        mEndEqui   = MiscUtilities.GetElemPresName(_endref.Owner);
                    }
                    else
                    {
                        mEndEqui = MiscUtilities.GetElemPresName(_endref);
                    }
                }

                Database.DbElement [] _cores = aCable.Members(Database.DbElementTypeInstance.SCCORE);

                //get informaton about cores
                foreach (Database.DbElement _core in _cores)
                {
                    CoreInfo _coreInf = new CoreInfo(_core, this);
                    mCores.Add(_coreInf);
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// public constructor
        /// </summary>
        /// <param name="aCore">database core element to get information from</param>
        public CoreInfo(Database.DbElement aCore, CableInfo aCableInfo)
        {
            mStartElconn = aCableInfo.StartElconn;
            mStartEqui   = aCableInfo.StartEqui;
            mEndElconn   = aCableInfo.EndElconn;
            mEndEqui     = aCableInfo.EndEqui;

            if (aCore.IsValid)
            {
                // get core name
                mCoreName = aCore.GetAsString(Database.DbAttributeInstance.NAMN);

                // get information about elements connected to core head
                Database.DbElement _elconn = aCore.GetElement(Database.DbAttributeInstance.STAREF);
                if (_elconn.IsValid)
                {
                    mStartElconn = MiscUtilities.GetElemPresName(_elconn);
                    mStartEqui   = MiscUtilities.GetElemPresName(_elconn.Owner);
                }

                int _point = aCore.GetInteger(Database.DbAttributeInstance.STAPOI);
                if (_point == 0)
                {
                    mStartPin = UNSET_TEXT;
                }
                else
                {
                    mStartPin = string.Format(PIN_TEMPLATE, _point.ToString());
                }

                // get information about elements connected to core tail
                _elconn = aCore.GetElement(Database.DbAttributeInstance.ENDREF);
                if (_elconn.IsValid)
                {
                    mEndElconn = MiscUtilities.GetElemPresName(_elconn);
                    mEndEqui   = MiscUtilities.GetElemPresName(_elconn.Owner);
                }

                _point = aCore.GetInteger(Database.DbAttributeInstance.ENDPOI);
                if (_point == 0)
                {
                    mEndPin = UNSET_TEXT;
                }
                else
                {
                    mEndPin = string.Format(PIN_TEMPLATE, _point.ToString());
                }
            }
        }