/// <summary> /// Adds the time stamp when updating records. /// </summary> public override bool BeforeUpdate(QueryBuilder pQuery) { if (_onUpdate) { Stamp(pQuery, _fieldName); } return true; }
/// <summary> /// Constructor /// </summary> public Parameters(QueryBuilder pQuery, Model pModel) { _query = pQuery; _model = pModel; _settings = pModel.Settings; _source = pModel.DataSource; Data = new Dictionary<string, object>(); }
/// <summary> /// Sets the defaults for new records. /// </summary> public override bool BeforeInsert(QueryBuilder pQuery) { if (!Model.Data.Has(DeltaField)) { Model.Data[DeltaField] = 0; } return base.BeforeInsert(pQuery); }
/// <summary> /// Orders the result by a fieldname. /// </summary> public static iQueryBuilder OrderBy( this iQueryBuilder pQuery, string pFieldName, QueryBuilder.eDIR pDir = QueryBuilder.eDIR.ASC, bool pExpression = false) { QueryBuilder query = (QueryBuilder)pQuery; string str = pExpression ? pFieldName : query.Field(pFieldName); KeyValuePair<QueryBuilder.eDIR, string> pair = new KeyValuePair<QueryBuilder.eDIR, string>(pDir, str); query.Order.Add(pair); return pQuery; }
/// <summary> /// Adds the time stamp when creating records. /// </summary> public override bool BeforeInsert(QueryBuilder pQuery) { if (_onCreate) { Stamp(pQuery, _fieldName); } // add the timestamp to the ON DUPLICATE KEY part of the query if (!_onUpdate || !pQuery.OnDuplicateEnabled) { return true; } pQuery.OnDuplicate(); Stamp(pQuery, _fieldName); pQuery.OnInsert(); return true; }
/// <summary> /// Order clause /// </summary> public static string Order(QueryBuilder pQuery) { return string.Join(_COMMA, from orderBy in pQuery.Order select string.Format("{0} {1}", orderBy.Value, orderBy.Key)); }
/// <summary> /// Executes the query and returns the results. /// </summary> /// <param name="pQuery">The query to execute.</param> /// <returns>The query results</returns> public QueryResult Execute(QueryBuilder pQuery) { throw new NotImplementedException(); }
/// <summary> /// Place any pre-create logic in this callback. To abort creating of the /// record return false. /// </summary> /// <returns>True to create the record.</returns> public virtual bool BeforeInsert(QueryBuilder pQuery) { return true; }
/// <summary> /// Place any pre-deletion logic here. /// </summary> /// <returns>True to delete the record.</returns> public virtual bool BeforeDelete(QueryBuilder pQuery) { return true; }
/// <summary> /// Called before a find operation. /// </summary> public virtual void BeforeSelect(QueryBuilder pQuery) { }