Estoy creando una consulta, que tendrá resultados diferentes en
función de los parámetros recibidos y si la situación se cumple, va a
crear un filtro y una cantidad fija de los resultados de esta
situación. El filtro está listo, pero no saben cómo establecer la
cantidad en estas situaciones. A continuación se muestra la consulta:
public IEnumerable<ConeSlab> ConsultarPlacasAcompanhamento(String
codigoLaminador, Int16 placasAEnfornar, Boolean placasEnfornadas,
Int16 placasDesenfornadas, Boolean placasRejeitadas)
{
try
{
var criteria = DetachedCriteria.For<ConeSlab>()
.CreateAlias("Cone", "C")
.CreateAlias("Slab.SlabPDO", "SP")
.Add(Restrictions.Eq("C.Mill", codigoLaminador))
.Add(Restrictions.IsNotNull("C.IdentBeginDtm"))
.Add(Restrictions.IsNotNull("SP.IdentBeginDtm"));
var ordem = "SP.IdentBeginDtm";
Junction disjunction = Restrictions.Disjunction();
//Identificadas
if (placasAEnfornar > 0)
{
ICriterion criterion = Restrictions.Conjunction()
.Add(Restrictions.IsNotNull("SP.IdentEndDtm"))
.Add(Restrictions.IsNull("SP.ChargeDtm"))
.Add(Restrictions.IsNull("SP.RejectDtm"));
**//How to set here?**
disjunction.Add(criterion);
}
//Enfornadas
if (placasEnfornadas)
{
ICriterion criterion = Restrictions.Conjunction()
.Add(Restrictions.IsNotNull("SP.ChargeDtm"))
.Add(Restrictions.IsNull("SP.DischDtm"))
.Add(Restrictions.IsNull("SP.RejectDtm"));
disjunction.Add(criterion);
}
//Desenfornadas
if (placasDesenfornadas > 0)
{
ICriterion criterion = Restrictions.Conjunction()
.Add(Restrictions.IsNotNull("SP.DischDtm"))
.Add(Restrictions.IsNull("SP.MillDtm"))
.Add(Restrictions.IsNull("SP.RejectDtm"));
**//How to set here?**
disjunction.Add(criterion);
}
//Rejeitadas
if (placasRejeitadas)
criteria.Add(Restrictions.IsNull("SP.RejectDtm"));
criteria.Add(disjunction);
return coneSlabRepository.GetListCriteria(criteria, 300,
Order.Desc(ordem));
}
catch (Exception ex)
{
Log.Error(AppStrings.EventNatureProgramacaoSequenciamento,
LibStrings.MessageExceptionQuery, ex);
throw new LoggedException(ex.Message);
}
}
Un ejemplo:
Tengo que mostrar a tan sólo 10 registros y 20 registros
Desenfornadas identificados. Si la condición es también Enfornadas
para mostrar, la pantalla se ve así:
- Todos los registros que satisfacen la condición de Enfornadas
- Identificados 10 registros
- 20 registros Desenformadas.
Por lo tanto, la cantidad no se puede establecer al final. Tendría
una manera de ajustar de forma individual?
--
Para escribir al Grupo, hágalo a esta dirección:
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano