Example #1
0
        internal void SetRuleFieldValue(ISpatialElement spatialElement)
        {
            if (m_fieldNameBased.HasValue && m_fieldNameBased.Value)
            {
                return;
            }
            object obj = EvaluateRuleDataValue();

            if (obj == null)
            {
                return;
            }
            if (!m_fieldNameBased.HasValue && Type.GetTypeCode(obj.GetType()) == TypeCode.String && ((string)obj).StartsWith("#", StringComparison.Ordinal))
            {
                m_ruleFieldName  = SpatialDataMapper.GetUniqueFieldName(m_mapVectorLayer.Name, ((string)obj).Remove(0, 1));
                m_coreRule.Field = m_ruleFieldName;
                m_fieldNameBased = true;
                return;
            }
            if (m_ruleFieldName == null)
            {
                m_ruleFieldName  = m_coreSpatialElementManager.AddRuleField(obj);
                m_fieldNameBased = false;
                m_coreRule.Field = m_ruleFieldName;
            }
            m_coreSpatialElementManager.AddFieldValue(spatialElement, m_ruleFieldName, obj);
        }
 private void ProcessNonSpatialFields(ISpatialElement spatialElement, FieldInfo[] nonSpatialFieldInfos)
 {
     if (nonSpatialFieldInfos == null)
     {
         return;
     }
     foreach (FieldInfo fieldInfo in nonSpatialFieldInfos)
     {
         if (!fieldInfo.DefinitionAdded)
         {
             fieldInfo.DefinitionAdded = AddFieldDefinition(fieldInfo.UniqueName, m_dataSetInstance.Row[fieldInfo.Index].Value);
         }
         m_spatialElementManager.AddFieldValue(spatialElement, fieldInfo.UniqueName, m_dataSetInstance.Row[fieldInfo.Index].Value);
     }
 }
Example #3
0
        private void ProcessNonSpatialFields(MapSpatialElement embeddedElement, ISpatialElement spatialElement)
        {
            MapFieldCollection mapFields = embeddedElement.MapFields;

            if (mapFields == null)
            {
                return;
            }
            MapFieldDefinitionCollection mapFieldDefinitions = m_mapVectorLayer.MapFieldDefinitions;

            if (mapFieldDefinitions == null)
            {
                return;
            }
            foreach (MapField item in mapFields)
            {
                MapFieldDefinition fieldDefinition = mapFieldDefinitions.GetFieldDefinition(item.Name);
                if (fieldDefinition == null)
                {
                    throw new RenderingObjectModelException(RPRes.rsMapInvalidFieldName(RPRes.rsObjectTypeMap, m_mapVectorLayer.MapDef.Name, m_mapVectorLayer.Name, item.Name));
                }
                m_spatialElementManager.AddFieldValue(spatialElement, GetUniqueFieldName(item.Name), GetFieldValue(item.Value, fieldDefinition.DataType));
            }
        }