public long CountByResultRecipient(OrderSearchCriteria orderSearchCriteria, ResultRecipientSearchCriteria recipientSearchCriteria) { var query = GetBaseResultRecipientQuery(orderSearchCriteria, recipientSearchCriteria); query.Selects.Add(new HqlSelect("count(*)")); return(ExecuteHqlUnique <long>(query)); }
private static HqlProjectionQuery GetBaseResultRecipientQuery(OrderSearchCriteria orderSearchCriteria, ResultRecipientSearchCriteria recipientSearchCriteria) { var hqlFrom = new HqlFrom(typeof(Order).Name, "o"); hqlFrom.Joins.Add(new HqlJoin("o.ResultRecipients", "rr")); var query = new HqlProjectionQuery(hqlFrom); query.Conditions.AddRange(HqlCondition.FromSearchCriteria("rr", recipientSearchCriteria)); query.Conditions.AddRange(HqlCondition.FromSearchCriteria("o", orderSearchCriteria)); return query; }
private static IList <Order> GetOrderBatchByResultRecipient(ExternalPractitioner practitioner, Action <OrderSearchCriteria> priorityFilter, int batchSize, IPersistenceContext context) { var ordersWhere = new OrderSearchCriteria(); priorityFilter(ordersWhere); var recipientWhere = new ResultRecipientSearchCriteria(); recipientWhere.PractitionerContactPoint.In(practitioner.ContactPoints); return(context.GetBroker <IOrderBroker>().FindByResultRecipient(ordersWhere, recipientWhere, new SearchResultPage(0, batchSize))); }
private static T QueryOrders <T>(IEnumerable <ExternalPractitionerContactPoint> contactPoints, bool activeOnly, Converter <OrderSearchCriteria, ResultRecipientSearchCriteria, T> queryAction) { var recipientCriteria = new ResultRecipientSearchCriteria(); recipientCriteria.PractitionerContactPoint.In(contactPoints); var orderCriteria = new OrderSearchCriteria(); if (activeOnly) { // Active order search criteria orderCriteria.Status.In(new[] { OrderStatus.SC, OrderStatus.IP }); } return(queryAction(orderCriteria, recipientCriteria)); }
public long CountByResultRecipient(OrderSearchCriteria orderSearchCriteria, ResultRecipientSearchCriteria recipientSearchCriteria) { var query = GetBaseResultRecipientQuery(orderSearchCriteria, recipientSearchCriteria); query.Selects.Add(new HqlSelect("count(*)")); return ExecuteHqlUnique<long>(query); }
public IList<Order> FindByResultRecipient(OrderSearchCriteria orderSearchCriteria, ResultRecipientSearchCriteria recipientSearchCriteria, SearchResultPage page) { var query = GetBaseResultRecipientQuery(orderSearchCriteria, recipientSearchCriteria); query.Page = page; return ExecuteHql<Order>(query); }
public IList<Order> FindByResultRecipient(OrderSearchCriteria orderSearchCriteria, ResultRecipientSearchCriteria recipientSearchCriteria) { return FindByResultRecipient(orderSearchCriteria, recipientSearchCriteria, new SearchResultPage()); }
private static HqlProjectionQuery GetBaseResultRecipientQuery(OrderSearchCriteria orderSearchCriteria, ResultRecipientSearchCriteria recipientSearchCriteria) { var hqlFrom = new HqlFrom(typeof(Order).Name, "o"); hqlFrom.Joins.Add(new HqlJoin("o.ResultRecipients", "rr")); var query = new HqlProjectionQuery(hqlFrom); query.Conditions.AddRange(HqlCondition.FromSearchCriteria("rr", recipientSearchCriteria)); query.Conditions.AddRange(HqlCondition.FromSearchCriteria("o", orderSearchCriteria)); return(query); }
public IList <Order> FindByResultRecipient(OrderSearchCriteria orderSearchCriteria, ResultRecipientSearchCriteria recipientSearchCriteria, SearchResultPage page) { var query = GetBaseResultRecipientQuery(orderSearchCriteria, recipientSearchCriteria); query.Page = page; return(ExecuteHql <Order>(query)); }
public IList <Order> FindByResultRecipient(OrderSearchCriteria orderSearchCriteria, ResultRecipientSearchCriteria recipientSearchCriteria) { return(FindByResultRecipient(orderSearchCriteria, recipientSearchCriteria, new SearchResultPage())); }