/// <summary> Gets a scalar value, calculated with the aggregate and expression specified. the field index specified is the field the expression and aggregate are applied on.</summary>
        /// <param name="fieldIndex">Field index of field to which to apply the aggregate function and expression</param>
        /// <param name="expressionToExecute">The expression to execute. Can be null</param>
        /// <param name="aggregateToApply">Aggregate function to apply. </param>
        /// <param name="filter">The filter to apply to retrieve the scalar</param>
        /// <param name="relations">The relations to walk</param>
        /// <param name="groupByClause">The groupby clause to apply to retrieve the scalar</param>
        /// <returns>the scalar value requested</returns>
        public virtual object GetScalar(AttributeValueFieldIndex fieldIndex, IExpression expressionToExecute, AggregateFunction aggregateToApply, IPredicate filter, IRelationCollection relations, IGroupByCollection groupByClause)
        {
            EntityFields fields = new EntityFields(1);

            fields[0] = EntityFieldFactory.Create(fieldIndex);
            if ((fields[0].ExpressionToApply == null) || (expressionToExecute != null))
            {
                fields[0].ExpressionToApply = expressionToExecute;
            }
            if ((fields[0].AggregateFunctionToApply == AggregateFunction.None) || (aggregateToApply != AggregateFunction.None))
            {
                fields[0].AggregateFunctionToApply = aggregateToApply;
            }
            AttributeValueDAO dao = DAOFactory.CreateAttributeValueDAO();

            return(dao.GetScalar(fields, base.Transaction, filter, relations, groupByClause));
        }
 /// <summary>Creates a new IEntityField instance for usage in the EntityFields object for the AttributeValueEntity.  Which EntityField is created is specified by fieldIndex</summary>
 /// <param name="fieldIndex">The field which IEntityField instance should be created</param>
 /// <returns>The IEntityField instance for the field specified in fieldIndex</returns>
 public static IEntityField Create(AttributeValueFieldIndex fieldIndex)
 {
     IFieldInfo info = FieldInfoProviderSingleton.GetInstance().GetFieldInfo("AttributeValueEntity", (int)fieldIndex);
     return new EntityField(info, PersistenceInfoProviderSingleton.GetInstance().GetFieldPersistenceInfo(info.ContainingObjectName, info.Name));
 }
Ejemplo n.º 3
0
        /// <summary>Creates a new IEntityField instance for usage in the EntityFields object for the AttributeValueEntity.  Which EntityField is created is specified by fieldIndex</summary>
        /// <param name="fieldIndex">The field which IEntityField instance should be created</param>
        /// <returns>The IEntityField instance for the field specified in fieldIndex</returns>
        public static IEntityField Create(AttributeValueFieldIndex fieldIndex)
        {
            IFieldInfo info = FieldInfoProviderSingleton.GetInstance().GetFieldInfo("AttributeValueEntity", (int)fieldIndex);

            return(new EntityField(info, PersistenceInfoProviderSingleton.GetInstance().GetFieldPersistenceInfo(info.ContainingObjectName, info.Name)));
        }
 /// <summary> Returns true if the original value for the field with the fieldIndex passed in, read from the persistent storage was NULL, false otherwise.
 /// Should not be used for testing if the current value is NULL, use <see cref="TestCurrentFieldValueForNull"/> for that.</summary>
 /// <param name="fieldIndex">Index of the field to test if that field was NULL in the persistent storage</param>
 /// <returns>true if the field with the passed in index was NULL in the persistent storage, false otherwise</returns>
 public bool TestOriginalFieldValueForNull(AttributeValueFieldIndex fieldIndex)
 {
     return base.Fields[(int)fieldIndex].IsNull;
 }
 /// <summary>Returns true if the current value for the field with the fieldIndex passed in represents null/not defined, false otherwise.
 /// Should not be used for testing if the original value (read from the db) is NULL</summary>
 /// <param name="fieldIndex">Index of the field to test if its currentvalue is null/undefined</param>
 /// <returns>true if the field's value isn't defined yet, false otherwise</returns>
 public bool TestCurrentFieldValueForNull(AttributeValueFieldIndex fieldIndex)
 {
     return base.CheckIfCurrentFieldValueIsNull((int)fieldIndex);
 }
 /// <summary> Gets a scalar value, calculated with the aggregate and expression specified. the field index specified is the field the expression and aggregate are applied on.</summary>
 /// <param name="fieldIndex">Field index of field to which to apply the aggregate function and expression</param>
 /// <param name="expressionToExecute">The expression to execute. Can be null</param>
 /// <param name="aggregateToApply">Aggregate function to apply. </param>
 /// <param name="filter">The filter to apply to retrieve the scalar</param>
 /// <param name="groupByClause">The groupby clause to apply to retrieve the scalar</param>
 /// <returns>the scalar value requested</returns>
 public object GetScalar(AttributeValueFieldIndex fieldIndex, IExpression expressionToExecute, AggregateFunction aggregateToApply, IPredicate filter, IGroupByCollection groupByClause)
 {
     return(GetScalar(fieldIndex, expressionToExecute, aggregateToApply, filter, null, groupByClause));
 }
 /// <summary> Gets a scalar value, calculated with the aggregate and expression specified. the field index specified is the field the expression and aggregate are applied on.</summary>
 /// <param name="fieldIndex">Field index of field to which to apply the aggregate function and expression</param>
 /// <param name="expressionToExecute">The expression to execute. Can be null</param>
 /// <param name="aggregateToApply">Aggregate function to apply. </param>
 /// <returns>the scalar value requested</returns>
 public object GetScalar(AttributeValueFieldIndex fieldIndex, IExpression expressionToExecute, AggregateFunction aggregateToApply)
 {
     return(GetScalar(fieldIndex, expressionToExecute, aggregateToApply, null, null, null));
 }
 /// <summary> Gets a scalar value, calculated with the aggregate. the field index specified is the field the aggregate are applied on.</summary>
 /// <param name="fieldIndex">Field index of field to which to apply the aggregate function and expression</param>
 /// <param name="aggregateToApply">Aggregate function to apply. </param>
 /// <returns>the scalar value requested</returns>
 public object GetScalar(AttributeValueFieldIndex fieldIndex, AggregateFunction aggregateToApply)
 {
     return(GetScalar(fieldIndex, null, aggregateToApply, null, null, null));
 }