Exemple #1
0
        private void ReportCumulativeValues(ISchematicInMemoryFeature schFeat1, ISchematicInMemoryFeature schFeat2, ISchematicInMemoryFeature schTargetFeat)
        {
            if (schFeat1 == null || schFeat2 == null || schTargetFeat == null)
            {
                return;
            }

            // assume the attribute field name is the same on every schematic feature link classes
            IFields linkFields = schFeat1.Fields;
            int     iIndex     = linkFields.FindField(m_lengthAttributeName);

            if (iIndex < 0)
            {
                return;             // attribute field does not exist
            }
            object value1 = schFeat1.get_Value(iIndex);

            linkFields = schFeat2.Fields;
            iIndex     = linkFields.FindField(m_lengthAttributeName);
            if (iIndex < 0)
            {
                return;             // attribute field does not exist
            }
            object value2 = schFeat2.get_Value(iIndex);

            double dValue1 = 0;
            double dValue2 = 0;

            if (!DBNull.Value.Equals(value1))
            {
                try
                {
                    dValue1 = Convert.ToDouble(value1);
                }
                catch { }
            }


            if (!DBNull.Value.Equals(value2))
            {
                try
                {
                    dValue2 = Convert.ToDouble(value2);
                }
                catch { }
            }


            // assume the values to be numeric
            double dlength = dValue1 + dValue2;

            linkFields = schTargetFeat.Fields;
            iIndex     = linkFields.FindField(m_lengthAttributeName);
            if (iIndex < 0)
            {
                return;             // attribute field does not exist
            }
            schTargetFeat.set_Value(iIndex, dlength);
        }
        private void ReportCumulativeValues(ISchematicInMemoryFeature schFeat1, ISchematicInMemoryFeature schFeat2, ISchematicInMemoryFeature schTargetFeat)
        {

            if (schFeat1 == null || schFeat2 == null || schTargetFeat == null)
                return;

            // assume the attribute field name is the same on every schematic feature link classes
            IFields linkFields = schFeat1.Fields;
            int iIndex = linkFields.FindField(m_lengthAttributeName);
            if (iIndex < 0) return; // attribute field does not exist
            object value1 = schFeat1.get_Value(iIndex);

            linkFields = schFeat2.Fields;
            iIndex = linkFields.FindField(m_lengthAttributeName);
            if (iIndex < 0) return; // attribute field does not exist
            object value2 = schFeat2.get_Value(iIndex);

            double dValue1 = 0;
            double dValue2 = 0;

            if (!DBNull.Value.Equals(value1))
            {
                try
                {
                    dValue1 = Convert.ToDouble(value1);
                }
                catch { }
            }


            if (!DBNull.Value.Equals(value2))
            {
                try
                {
                    dValue2 = Convert.ToDouble(value2);
                }
                catch{ }
            }


            // assume the values to be numeric
            double dlength    = dValue1 + dValue2;

            linkFields = schTargetFeat.Fields;
            iIndex = linkFields.FindField(m_lengthAttributeName);
            if (iIndex < 0) return; // attribute field does not exist
            schTargetFeat.set_Value(iIndex, dlength);
        }