/// <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(SalesPersonQuotaHistoryFieldIndex 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;
            }
            SalesPersonQuotaHistoryDAO dao = DAOFactory.CreateSalesPersonQuotaHistoryDAO();

            return(dao.GetScalar(fields, base.Transaction, filter, relations, 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>
 /// <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(SalesPersonQuotaHistoryFieldIndex 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(SalesPersonQuotaHistoryFieldIndex 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(SalesPersonQuotaHistoryFieldIndex fieldIndex, AggregateFunction aggregateToApply)
 {
     return(GetScalar(fieldIndex, null, aggregateToApply, null, null, null));
 }
 /// <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(SalesPersonQuotaHistoryFieldIndex fieldIndex)
 {
     return(base.CheckIfCurrentFieldValueIsNull((int)fieldIndex));
 }
 /// <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(SalesPersonQuotaHistoryFieldIndex fieldIndex)
 {
     return(base.Fields[(int)fieldIndex].IsNull);
 }