/// <summary> /// Find all ReceiptOut 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(ReceiptOut)); 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> /// /// </summary> /// <param name="criteria"></param> /// <returns></returns> private int Count(ObjectCriteria criteria) { ISession session = HibernateTemplate.SessionFactory.OpenSession(); try { ICriteria hibernateCriteria = session.CreateCriteria(typeof(ReceiptOut)).SetProjection(Projections.RowCount()); ; if (criteria != null) { IDictionary<string, SubObjectCriteria> map = criteria.GetSubCriteria(); if (map.Count > 0) { foreach (string key in map.Keys) { hibernateCriteria.CreateAlias(key, key); } foreach (ICriterion criterion in criteria.GetWhere()) { hibernateCriteria.Add(criterion); } SubObjectCriteria subCriteria; foreach (string key in map.Keys) { map.TryGetValue(key, out subCriteria); foreach (ICriterion criterion in subCriteria.GetWhere()) { hibernateCriteria.Add(criterion); } } } else { foreach (ICriterion criterion in criteria.GetWhere()) { hibernateCriteria.Add(criterion); } } } return ((int)hibernateCriteria.List()[0]); } finally { if (session != null) { session.Disconnect(); } } }
/// <summary> /// Find all ReceiptOut 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(ReceiptOut)); 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; }
public object SelectSpecificType(ObjectCriteria criteria, IProjection type) { ISession session = HibernateTemplate.SessionFactory.OpenSession(); try { ICriteria hibernateCriteria = session.CreateCriteria(typeof(DepartmentStock)).SetProjection(type); ; if (criteria != null) { IDictionary<string, SubObjectCriteria> map = criteria.GetSubCriteria(); if (map.Count > 0) { foreach (string key in map.Keys) { hibernateCriteria.CreateAlias(key, key); } foreach (ICriterion criterion in criteria.GetWhere()) { hibernateCriteria.Add(criterion); } SubObjectCriteria subCriteria; foreach (string key in map.Keys) { map.TryGetValue(key, out subCriteria); foreach (ICriterion criterion in subCriteria.GetWhere()) { hibernateCriteria.Add(criterion); } } } else { foreach (ICriterion criterion in criteria.GetWhere()) { hibernateCriteria.Add(criterion); } } } return (hibernateCriteria.List()[0]); } finally { if (session != null) { session.Disconnect(); } } }
/// <summary> /// Find all Department from database. No pagination. /// </summary> /// <param name="criteria"></param> /// <returns></returns> public IList FindAll(ObjectCriteria criteria) { return (IList)HibernateTemplate.Execute( delegate(ISession session) { try { ICriteria hibernateCriteria = session.CreateCriteria(typeof(Department)); 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 { } } ); }
/// <summary> /// Find all ProductMaster from database. No pagination. /// </summary> /// <param name="criteria"></param> /// <returns></returns> public IList FindAll(ObjectCriteria criteria) { ISession session = DbUtility.getSession(HibernateTemplate); try { ICriteria hibernateCriteria = session.CreateCriteria(typeof(ProductMaster)); 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()); } } if(criteria.MaxResult > 0 ) { hibernateCriteria.SetMaxResults(criteria.MaxResult); } return hibernateCriteria.List(); } finally { if (session != null) { session.Close(); } } }