public IEntityAuditQuery <TEntity> AddOrder(IAuditOrder order) { hasOrder = true; var orderData = order.GetData(auditConfiguration); var propertyName = CriteriaTools.DeterminePropertyName(AuditConfiguration, versionsReader, entityName, orderData.Item1); queryBuilder.AddOrder(propertyName, orderData.Item2); return(this); }
public IEntityAuditQuery <TEntity> AddOrder(IAuditOrder order) { _hasOrders = true; var orderData = order.GetData(_auditConfiguration); var propertyName = CriteriaTools.DeterminePropertyName(_auditConfiguration, _auditReader, _entityName, orderData.Item1); _queryBuilder.AddOrder(_alias, propertyName, orderData.Item2); return(this); }
public IAuditQuery AddOrder(IAuditOrder order) { hasOrder = true; Pair <String, Boolean> orderData = order.getData(verCfg); qb.AddOrder(orderData.First, orderData.Second); return(this); }
public IEntityAuditQuery <TEntity> AddOrder(IAuditOrder order) { _hasOrder = true; var orderData = order.GetData(AuditConfiguration); var propertyName = CriteriaTools.DeterminePropertyName(AuditConfiguration, _versionsReader, EntityName, orderData.Item1); QueryBuilder.AddOrder(QueryConstants.ReferencedEntityAlias, propertyName, orderData.Item2); return(this); }
public IAuditQuery AddOrder(IAuditOrder order) { HasOrder = true; var orderData = order.GetData(VerCfg); var propertyName = CriteriaTools.DeterminePropertyName(VerCfg, VersionsReader, EntityName, orderData.Item1); QueryBuilder.AddOrder(propertyName, orderData.Item2); return(this); }
protected void AddOrders() { if (_hasOrder) { return; } var revisionPropertyPath = AuditConfiguration.AuditEntCfg.RevisionNumberPath; QueryBuilder.AddOrder(QueryConstants.ReferencedEntityAlias, revisionPropertyPath, true); }
protected override void FillResult(IList result) { var verEntCfg = VerCfg.AuditEntCfg; /* * The query that should be executed in the versions table: * SELECT e (unless another projection is specified) FROM ent_ver e, rev_entity r WHERE * e.revision_type != DEL (if selectDeletedEntities == false) AND * e.revision = r.revision AND * (all specified conditions, transformed, on the "e" entity) * ORDER BY e.revision ASC (unless another order or projection is specified) */ if (!_selectDeletedEntities) { // e.revision_type != DEL AND QueryBuilder.RootParameters.AddWhereWithParam(verEntCfg.RevisionTypePropName, "<>", RevisionType.Deleted); } // all specified conditions, transformed foreach (var criterion in Criterions) { criterion.AddToQuery(VerCfg, VersionsReader, EntityName, QueryBuilder, QueryBuilder.RootParameters); } if (!HasProjection() && !HasOrder) { var revisionPropertyPath = verEntCfg.RevisionNumberPath; QueryBuilder.AddOrder(QueryConstants.ReferencedEntityAlias, revisionPropertyPath, true); } if (!_selectEntitiesOnly) { QueryBuilder.AddFrom(VerCfg.AuditEntCfg.RevisionInfoEntityFullClassName(), QueryConstants.RevisionAlias, true); QueryBuilder.RootParameters.AddWhere(VerCfg.AuditEntCfg.RevisionNumberPath, true, "=", QueryConstants.RevisionAlias + ".id", false); } if (HasProjection()) { BuildAndExecuteQuery(result); return; } var internalResult = new ArrayList(); BuildAndExecuteQuery(internalResult); var revisionTypePropertyName = verEntCfg.RevisionTypePropName; foreach (var resultRow in internalResult) { IDictionary versionsEntity; object revisionData = null; if (_selectEntitiesOnly) { versionsEntity = (IDictionary)resultRow; } else { var arrayResultRow = (Object[])resultRow; versionsEntity = (IDictionary)arrayResultRow[0]; revisionData = arrayResultRow[1]; } var revision = revisionNumber(versionsEntity); var entity = EntityInstantiator.CreateInstanceFromVersionsEntity(EntityName, versionsEntity, revision); result.Add(_selectEntitiesOnly ? entity : new[] { entity, revisionData, versionsEntity[revisionTypePropertyName] }); } }