Exemple #1
0
 public TisEntityParameterInfoExternal(
     EntityParameterInfo oEntityParameterInfo,
     ITisEntityReflection oReflectionExternal)
 {
     m_oParameterInfo      = oEntityParameterInfo;
     m_oReflectionExternal = oReflectionExternal;
 }
Exemple #2
0
        private static EntityParameterInfo[] GetParameters(
            Type oType,
            FieldInfo[] AggregatedChildren)
        {
            ArrayBuilder oParamData = new ArrayBuilder();

            // Array of all parameter names - to detect collisions
            IList <string> oParamNames = new List <string>();

            //
            //	Add parameters that belong directly to the provided Type
            //

            PropertyInfo[] ParamProperties = GetParameterProperties(oType);

            foreach (PropertyInfo oParamProperty in ParamProperties)
            {
                EntityParameterInfo oParamInfo = new EntityParameterInfo(
                    oParamProperty,
                    null // DeclaringAggregatedObject
                    );

                oParamData.Add(oParamInfo);

                oParamNames.Add(oParamInfo.ParameterName);
            }

            //
            // Add aggregated object parameters
            //

            foreach (FieldInfo oAggregatedChild in AggregatedChildren)
            {
                PropertyInfo[] ChildParamProperties =
                    GetParameterProperties(oAggregatedChild.FieldType);

                foreach (PropertyInfo oParamProperty in ChildParamProperties)
                {
                    EntityParameterInfo oChildParamInfo = new EntityParameterInfo(
                        oParamProperty,
                        oAggregatedChild     // DeclaringAggregatedObject
                        );

                    string sParamName = oChildParamInfo.ParameterName;

                    if (!oParamNames.Contains(sParamName))
                    {
                        // Add only if no parameter with same name already added

                        oParamData.Add(oChildParamInfo);

                        oParamNames.Add(sParamName);
                    }
                }
            }

            return((EntityParameterInfo[])oParamData.GetArray(
                       typeof(EntityParameterInfo)));
        }
Exemple #3
0
        public ITisEntityParameterInfo GetParameterInfo(string sParameterName)
        {
            EntityParameterInfo oParamInfo =
                TypeInfo.GetEntityParameterInfo(sParameterName);

            if (oParamInfo == null)
            {
                return(null);
            }

            return(new TisEntityParameterInfoExternal(
                       oParamInfo,
                       m_oReflectionExternal));
        }
        public EntityParameterInfo GetEntityParameterInfo(
            Type oType,
            string sParamName)
        {
            EntityTypeInfo oEntityTypeInfo = GetEntityTypeInfo(oType);

            EntityParameterInfo oParamData =
                oEntityTypeInfo.GetEntityParameterInfo(sParamName);

            if (oParamData == null)
            {
                throw new TisException(
                          "Parameter [{0}] not exists in type [{1}]",
                          sParamName,
                          oType);
            }

            return(oParamData);
        }