/// <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(ChannelOwnerFieldIndex 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;
            }
            return(DAOFactory.CreateChannelOwnerDAO().GetScalar(fields, this.Transaction, filter, relations, groupByClause));
        }
        /// <summary> Retrieves in this ChannelOwnerCollection object all ChannelOwnerEntity objects which have data in common with the specified related Entities.
        /// If one is omitted, that entity is not used as a filter. All current elements in the collection are removed from the collection.</summary>
        /// <param name="campaignInstance">CampaignEntity instance to use as a filter for the ChannelOwnerEntity objects to return</param>
        /// <param name="channelInstance">ChannelEntity instance to use as a filter for the ChannelOwnerEntity objects to return</param>
        /// <param name="maxNumberOfItemsToReturn"> The maximum number of items to return with this retrieval query.</param>
        /// <param name="sortClauses">The order by specifications for the sorting of the resultset. When not specified, no sorting is applied.</param>
        /// <param name="filter">Extra filter to limit the resultset. Predicate expression can be null, in which case it will be ignored.</param>
        /// <param name="pageNumber">The page number to retrieve.</param>
        /// <param name="pageSize">The page size of the page to retrieve.</param>
        /// <returns>true if succeeded, false otherwise</returns>
        public virtual bool GetMultiManyToOne(IEntity campaignInstance, IEntity channelInstance, long maxNumberOfItemsToReturn, ISortExpression sortClauses, IPredicateExpression filter, int pageNumber, int pageSize)
        {
            bool validParameters = false;

            validParameters |= (campaignInstance != null);
            validParameters |= (channelInstance != null);
            if (!validParameters)
            {
                return(GetMulti(filter, maxNumberOfItemsToReturn, sortClauses, null, pageNumber, pageSize));
            }
            if (!this.SuppressClearInGetMulti)
            {
                this.Clear();
            }
            return(DAOFactory.CreateChannelOwnerDAO().GetMulti(this.Transaction, this, maxNumberOfItemsToReturn, sortClauses, this.EntityFactoryToUse, filter, campaignInstance, channelInstance, pageNumber, pageSize));
        }
Example #3
0
 /// <summary> Creates the DAO instance for this type</summary>
 /// <returns></returns>
 protected override IDao CreateDAOInstance()
 {
     return(DAOFactory.CreateChannelOwnerDAO());
 }
        /// <summary> Retrieves Entity rows in a datatable which match the specified filter. It will always create a new connection to the database.</summary>
        /// <param name="selectFilter">A predicate or predicate expression which should be used as filter for the entities to retrieve.</param>
        /// <param name="maxNumberOfItemsToReturn"> The maximum number of items to return with this retrieval query.</param>
        /// <param name="sortClauses">The order by specifications for the sorting of the resultset. When not specified, no sorting is applied.</param>
        /// <param name="relations">The set of relations to walk to construct to total query.</param>
        /// <param name="pageNumber">The page number to retrieve.</param>
        /// <param name="pageSize">The page size of the page to retrieve.</param>
        /// <returns>DataTable with the rows requested.</returns>
        public static DataTable GetMultiAsDataTable(IPredicate selectFilter, long maxNumberOfItemsToReturn, ISortExpression sortClauses, IRelationCollection relations, int pageNumber, int pageSize)
        {
            ChannelOwnerDAO dao = DAOFactory.CreateChannelOwnerDAO();

            return(dao.GetMultiAsDataTable(maxNumberOfItemsToReturn, sortClauses, selectFilter, relations, pageNumber, pageSize));
        }
 /// <summary> Updates in the persistent storage all ChannelOwner entities which have data in common with the specified related Entities. If one is omitted, that entity is not used as a filter.
 /// Which fields are updated in those matching entities depends on which fields are <i>changed</i> in the passed in entity entityWithNewValues. The new values of these fields are read from entityWithNewValues. </summary>
 /// <param name="entityWithNewValues">ChannelOwnerEntity instance which holds the new values for the matching entities to update. Only changed fields are taken into account</param>
 /// <param name="campaignInstance">CampaignEntity instance to use as a filter for the ChannelOwnerEntity objects to return</param>
 /// <param name="channelInstance">ChannelEntity instance to use as a filter for the ChannelOwnerEntity objects to return</param>
 /// <returns>Amount of entities affected, if the used persistent storage has rowcounting enabled.</returns>
 public int UpdateMultiManyToOne(ChannelOwnerEntity entityWithNewValues, IEntity campaignInstance, IEntity channelInstance)
 {
     return(DAOFactory.CreateChannelOwnerDAO().UpdateMulti(entityWithNewValues, this.Transaction, campaignInstance, channelInstance));
 }
 /// <summary> Deletes from the persistent storage all ChannelOwner entities which have data in common with the specified related Entities. If one is omitted, that entity is not used as a filter.</summary>
 /// <remarks>Runs directly on the persistent storage. It will not delete entity objects from the current collection.</remarks>
 /// <param name="campaignInstance">CampaignEntity instance to use as a filter for the ChannelOwnerEntity objects to return</param>
 /// <param name="channelInstance">ChannelEntity instance to use as a filter for the ChannelOwnerEntity objects to return</param>
 /// <returns>Amount of entities affected, if the used persistent storage has rowcounting enabled.</returns>
 public int DeleteMultiManyToOne(IEntity campaignInstance, IEntity channelInstance)
 {
     return(DAOFactory.CreateChannelOwnerDAO().DeleteMulti(this.Transaction, campaignInstance, channelInstance));
 }