public virtual IEnumerable <IWarehouseState> Get(Dddml.Support.Criterion.ICriterion filter, IList <string> orders = null, int firstResult = 0, int maxResults = int.MaxValue) { var criteria = CurrentSession.CreateCriteria <WarehouseState>(); NHibernateUtils.CriteriaAddFilterAndOrdersAndSetFirstResultAndMaxResults(criteria, filter, orders, firstResult, maxResults); AddNotDeletedRestriction(criteria); return(criteria.List <WarehouseState>()); }
public virtual long GetCount(Dddml.Support.Criterion.ICriterion filter) { var criteria = CurrentSession.CreateCriteria<SellableInventoryItemState>(); criteria.SetProjection(Projections.RowCountInt64()); if (filter != null) { NHibernateICriterion hc = CriterionUtils.ToNHibernateCriterion(filter); criteria.Add(hc); } AddNotDeletedRestriction(criteria); return criteria.UniqueResult<long>(); }
public virtual long GetCount(Dddml.Support.Criterion.ICriterion filter) { var criteria = CurrentSession.CreateCriteria <AttributeSetInstanceExtensionFieldGroupState>(); criteria.SetProjection(Projections.RowCountInt64()); if (filter != null) { NHibernateICriterion hc = CriterionUtils.ToNHibernateCriterion(filter); criteria.Add(hc); } AddNotDeletedRestriction(criteria); return(criteria.UniqueResult <long>()); }
public virtual long GetCount <T>(Dddml.Support.Criterion.ICriterion filter) where T : class, IPartyState { var criteria = CurrentSession.CreateCriteria <T>(); criteria.SetProjection(Projections.RowCountInt64()); if (filter != null) { NHibernateICriterion hc = CriterionUtils.ToNHibernateCriterion(filter); criteria.Add(hc); } AddNotDeletedRestriction(criteria); return(criteria.UniqueResult <long>()); }
public static NHibernateICriterion ToNHibernateCriterion(Dddml.Support.Criterion.ICriterion criterion) { NHibernateICriterion cr = null; if (criterion is SimpleExpression) { var e = criterion as SimpleExpression; if (e.Op.Trim().Equals(Restrictions.OpEq, StringComparison.InvariantCultureIgnoreCase)) { cr = NHibernateRestrictions.Eq(e.PropertyName, e.Value); } if (e.Op.Trim().Equals(Restrictions.OpGt, StringComparison.InvariantCultureIgnoreCase)) { cr = NHibernateRestrictions.Gt(e.PropertyName, e.Value); } if (e.Op.Trim().Equals(Restrictions.OpLt, StringComparison.InvariantCultureIgnoreCase)) { cr = NHibernateRestrictions.Lt(e.PropertyName, e.Value); } if (e.Op.Trim().Equals(Restrictions.OpGe, StringComparison.InvariantCultureIgnoreCase)) { cr = NHibernateRestrictions.Ge(e.PropertyName, e.Value); } if (e.Op.Trim().Equals(Restrictions.OpLe, StringComparison.InvariantCultureIgnoreCase)) { cr = NHibernateRestrictions.Le(e.PropertyName, e.Value); } if (e.Op.Trim().Equals(Restrictions.OpLike, StringComparison.InvariantCultureIgnoreCase)) { cr = NHibernateRestrictions.Like(e.PropertyName, e.Value); } } else { if (criterion is InsensitiveLikeExpression) { var e = criterion as InsensitiveLikeExpression; cr = NHibernateRestrictions.InsensitiveLike(e.PropertyName, e.Value); } if (criterion is InExpression) { var e = criterion as InExpression; cr = NHibernateRestrictions.In(e.PropertyName, e.Values); } if (criterion is NullExpression) { var e = criterion as NullExpression; cr = NHibernateRestrictions.IsNull(e.PropertyName); } if (criterion is NotNullExpression) { var e = criterion as NotNullExpression; cr = NHibernateRestrictions.IsNotNull(e.PropertyName); } if (criterion is BetweenExpression) { var e = criterion as BetweenExpression; cr = NHibernateRestrictions.Between(e.PropertyName, e.Lo, e.Hi); } if (criterion is AndExpression) { var e = criterion as AndExpression; cr = NHibernateRestrictions.And(ToNHibernateCriterion(e.LeftHandSide), ToNHibernateCriterion(e.RightHandSide)); } if (criterion is OrExpression) { var e = criterion as OrExpression; cr = NHibernateRestrictions.Or(ToNHibernateCriterion(e.LeftHandSide), ToNHibernateCriterion(e.RightHandSide)); } if (criterion is NotExpression) { var e = criterion as NotExpression; cr = NHibernateRestrictions.Not(ToNHibernateCriterion(e.Criterion)); } if (criterion is Disjunction) { var e = criterion as Disjunction; var j = NHibernateRestrictions.Disjunction(); foreach (var c in e.Criteria) { j.Add(ToNHibernateCriterion(c)); } cr = j; } if (criterion is Conjunction) { var e = criterion as Conjunction; var j = NHibernateRestrictions.Conjunction(); foreach (var c in e.Criteria) { j.Add(ToNHibernateCriterion(c)); } cr = j; } if (criterion is EqPropertyExpression) { var e = criterion as EqPropertyExpression; cr = NHibernateRestrictions.EqProperty(e.LhsPropertyName, e.RhsPropertyName); } if (criterion is GtPropertyExpression) { var e = criterion as GtPropertyExpression; cr = NHibernateRestrictions.GtProperty(e.LhsPropertyName, e.RhsPropertyName); } if (criterion is LtPropertyExpression) { var e = criterion as LtPropertyExpression; cr = NHibernateRestrictions.LtProperty(e.LhsPropertyName, e.RhsPropertyName); } if (criterion is GePropertyExpression) { var e = criterion as GePropertyExpression; cr = NHibernateRestrictions.GeProperty(e.LhsPropertyName, e.RhsPropertyName); } if (criterion is LePropertyExpression) { var e = criterion as LePropertyExpression; cr = NHibernateRestrictions.LeProperty(e.LhsPropertyName, e.RhsPropertyName); } } if (cr == null) { throw new NotSupportedException(String.Format("Not supported criterion. type name: {0}, {1}", criterion.GetType().Name, criterion)); } return(cr); }