private string GetQueryOrder(ISearchOrder so) { if (so.Ascending) { return(so.PropertyName); } else { return(so.PropertyName + " desc"); } }
public OrderController(IOrderRepository <Order> orderRepository, ISearchOrder searchOrder) { _orderRepository = orderRepository; _searchOrder = searchOrder; }
private static NHibernate.Criterion.Order GetOrder(ref ICriteria originalCriteria, Dictionary <string, ICriteria> aliases, ISearchOrder findOrder) { StringBuilder name = new StringBuilder(); string columnName = findOrder.PropertyName; if (columnName.Contains(":")) { int idx = columnName.LastIndexOf(':'); string prefixName = columnName.Substring(0, idx); columnName = columnName.Substring(idx + 1); string[] prefixNames = prefixName.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries); for (int j = 0; j < prefixNames.Length; ++j) { string prefixAlias = prefixNames[j]; if (!aliases.ContainsKey(prefixAlias)) { string preCriteria; ICriteria criteria; if (j == 0) { preCriteria = "Current"; } else { preCriteria = prefixNames[j - 1]; } NHibernate.SqlCommand.JoinType joinType; if (j == prefixNames.Length - 1) { joinType = GetJoinType(ref columnName); } else { joinType = GetJoinType(ref prefixNames[j - 1]); } criteria = CreateJoinCriteria(prefixAlias, preCriteria, aliases, joinType); aliases.Add(prefixAlias, criteria); originalCriteria = criteria; } if (j == prefixNames.Length - 1) { name.Append(prefixAlias).Append("."); } } } else { name.Append("Current").Append("."); } if (findOrder.Ascending) { return(NHibernate.Criterion.Order.Asc(name.ToString() + columnName)); } else { return(NHibernate.Criterion.Order.Desc(name.ToString() + columnName)); } }