/// <summary> /// Find all EmployeeMoney from database. No pagination. /// </summary> /// <param name="criteria"></param> /// <returns></returns> public IList FindAll(ObjectCriteria criteria) { ISession session = HibernateTemplate.SessionFactory.OpenSession(); try { ICriteria hibernateCriteria = session.CreateCriteria(typeof(EmployeeMoney)); if (criteria != null) { IDictionary<string, SubObjectCriteria> map = criteria.GetSubCriteria(); if (map.Count > 0) { foreach (string key in map.Keys) { hibernateCriteria.CreateAlias(key, key); } AddCriteriaAndOrder(hibernateCriteria, criteria.GetWhere(), criteria.GetOrder()); foreach (string key in map.Keys) { SubObjectCriteria subCriteria = null; map.TryGetValue(key, out subCriteria); AddCriteriaAndOrder(hibernateCriteria, subCriteria.GetWhere(), subCriteria.GetOrder()); } } else { AddCriteriaAndOrder(hibernateCriteria, criteria.GetWhere(), criteria.GetOrder()); } } return hibernateCriteria.List(); } finally { if (session != null) { session.Disconnect(); } } }
/// <summary> /// Find all EmployeeMoney from database. Has pagination. /// </summary> /// <param name="criteria"></param> /// <returns></returns> public QueryResult FindPaging(ObjectCriteria criteria) { QueryResult queryResult = new QueryResult(); if (criteria == null) { return null; } ISession session = HibernateTemplate.SessionFactory.OpenSession(); try { int page = criteria.PageIndex; int pageSize = criteria.PageSize; queryResult.Page = page; int count = Count(criteria); if (count == 0) { return null; } queryResult.TotalPage = (((count % pageSize == 0) ? (count / pageSize) : (count / pageSize + 1))); ICriteria hibernateCriteria = session.CreateCriteria(typeof(EmployeeMoney)); IDictionary<string, SubObjectCriteria> map = criteria.GetSubCriteria(); if (map.Count > 0) { foreach (string key in map.Keys) { hibernateCriteria.CreateAlias(key, key); } AddCriteriaAndOrder(hibernateCriteria, criteria.GetWhere(), criteria.GetOrder()); SubObjectCriteria subCriteria = null; foreach (string key in map.Keys) { map.TryGetValue(key, out subCriteria); AddCriteriaAndOrder(hibernateCriteria, subCriteria.GetWhere(), subCriteria.GetOrder()); } } else { AddCriteriaAndOrder(hibernateCriteria, criteria.GetWhere(), criteria.GetOrder()); } hibernateCriteria.SetFirstResult((page - 1) * pageSize); hibernateCriteria.SetMaxResults(pageSize); IList list = hibernateCriteria.List(); if (list.Count == 0) { return null; } else { queryResult.Result = list; } } finally { if (session != null) { session.Disconnect(); } } return queryResult; }