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); } }
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)); } }