public int GetAdvancedSearchPersonCountByImperativeRequest(PersonSearchProxy proxy, ImperativeRequestLoadState IRLS, ImperativeRequest imperativeRequest, decimal userId, decimal managerId, PersonCategory searchCat) { { const string PersonDetailAlias = "prsDtl"; const string WorkGroupAlias = "wg"; const string RuleGroupAlias = "rg"; const string CalculationDateRangeGroupAlias = "cdrg"; const string DepartmentAlias = "dep"; const string OrganizationUnitAlias = "organ"; ICriteria crit = base.NHibernateSession.CreateCriteria(typeof(Person)); Junction disjunction = Restrictions.Disjunction(); crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonDetail), PersonDetailAlias); crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().IsDeleted), false)); //فعال if (proxy.PersonActivateState != null) { crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().Active), (bool)proxy.PersonActivateState)); } //کد پرسنلی if (!Utility.Utility.IsEmpty(proxy.PersonCode)) { crit.Add(Restrictions.Like(Utility.Utility.GetPropertyName(() => new Person().BarCode), proxy.PersonCode, MatchMode.Anywhere)); } //نام if (!Utility.Utility.IsEmpty(proxy.FirstName)) { crit.Add(Restrictions.Like(Utility.Utility.GetPropertyName(() => new Person().FirstName), proxy.FirstName, MatchMode.Anywhere)); } //نام خانوادگی if (!Utility.Utility.IsEmpty(proxy.LastName)) { crit.Add(Restrictions.Like(Utility.Utility.GetPropertyName(() => new Person().LastName), proxy.LastName, MatchMode.Anywhere)); } //نام پدر if (!Utility.Utility.IsEmpty(proxy.FatherName)) { crit.Add(Restrictions.Like(PersonDetailAlias + "." + Utility.Utility.GetPropertyName(() => new PersonDetail().FatherName), proxy.FatherName, MatchMode.Anywhere)); } //جنسیت if (!Utility.Utility.IsEmpty(proxy.Sex)) { crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().Sex), proxy.Sex)); } //شروع تاریخ تولد if (!Utility.Utility.IsEmpty(proxy.FromBirthDate)) { crit.Add(Restrictions.Ge(PersonDetailAlias + "." + Utility.Utility.GetPropertyName(() => new PersonDetail().BirthDate), proxy.FromBirthDate)); } //پایان تاریخ تولد if (!Utility.Utility.IsEmpty(proxy.ToBirthDate)) { crit.Add(Restrictions.Le(PersonDetailAlias + "." + Utility.Utility.GetPropertyName(() => new PersonDetail().BirthDate), proxy.ToBirthDate)); } //شروع تاریخ استخدام if (!Utility.Utility.IsEmpty(proxy.FromEmploymentDate)) { crit.Add(Restrictions.Ge(Utility.Utility.GetPropertyName(() => new Person().EmploymentDate), proxy.FromEmploymentDate)); } //پایان تاریخ استخدام if (!Utility.Utility.IsEmpty(proxy.ToEmploymentDate)) { crit.Add(Restrictions.Ge(Utility.Utility.GetPropertyName(() => new Person().EndEmploymentDate), proxy.ToEmploymentDate)); } //شماره کارت if (!Utility.Utility.IsEmpty(proxy.CartNumber)) { crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().CardNum), proxy.CartNumber)); } //نظام وضیفه if (!Utility.Utility.IsEmpty(proxy.Military)) { crit.Add(Restrictions.Eq(PersonDetailAlias + "." + Utility.Utility.GetPropertyName(() => new PersonDetail().MilitaryStatus), proxy.Military)); } //تحصیلات if (!Utility.Utility.IsEmpty(proxy.Education)) { crit.Add(Restrictions.Like(Utility.Utility.GetPropertyName(() => new Person().Education), proxy.Education, MatchMode.Anywhere)); } //تاهل if (!Utility.Utility.IsEmpty(proxy.MaritalStatus)) { crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().MaritalStatus), proxy.MaritalStatus)); } //بخش if (!Utility.Utility.IsEmpty(proxy.DepartmentId)) { crit.CreateAlias("department", DepartmentAlias); if (proxy.IncludeSubDepartments) { disjunction.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().Department).ToLower(), new Department() { ID = (decimal)proxy.DepartmentId })); disjunction.Add(Restrictions.Like(DepartmentAlias + "." + Utility.Utility.GetPropertyName(() => new Department().ParentPath), "," + proxy.DepartmentId.ToString() + ",", MatchMode.Anywhere)); } else { crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().Department).ToLower(), new Department() { ID = (decimal)proxy.DepartmentId })); } } //پست سازمانی if (!Utility.Utility.IsEmpty(proxy.OrganizationUnitId)) { crit.CreateAlias("OrganizationUnitList", OrganizationUnitAlias); crit.Add(Restrictions.Eq(OrganizationUnitAlias + "." + Utility.Utility.GetPropertyName(() => new OrganizationUnit().ID), (decimal)proxy.OrganizationUnitId)); } //گروه کاری if (!Utility.Utility.IsEmpty(proxy.WorkGroupId)) { crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonWorkGroupList), WorkGroupAlias); crit.Add(Restrictions.Eq(WorkGroupAlias + "." + Utility.Utility.GetPropertyName(() => new AssignWorkGroup().WorkGroup), new WorkGroup() { ID = (decimal)proxy.WorkGroupId })); if (!Utility.Utility.IsEmpty(proxy.WorkGroupFromDate)) { crit.Add(Restrictions.Le(WorkGroupAlias + "." + Utility.Utility.GetPropertyName(() => new AssignWorkGroup().FromDate), proxy.WorkGroupFromDate)); } } //گروه قوانین if (!Utility.Utility.IsEmpty(proxy.RuleGroupId)) { crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonRuleCatAssignList), RuleGroupAlias); crit.Add(Restrictions.Eq(RuleGroupAlias + "." + Utility.Utility.GetPropertyName(() => new PersonRuleCatAssignment().RuleCategory), new RuleCategory() { ID = (decimal)proxy.RuleGroupId })); if (!Utility.Utility.IsEmpty(proxy.RuleGroupFromDate)) { crit.Add(Restrictions.Le(RuleGroupAlias + "." + Utility.Utility.GetPropertyName(() => new PersonRuleCatAssignment().FromDate), proxy.RuleGroupFromDate)); } if (!Utility.Utility.IsEmpty(proxy.RuleGroupToDate)) { crit.Add(Restrictions.Ge(RuleGroupAlias + "." + Utility.Utility.GetPropertyName(() => new PersonRuleCatAssignment().ToDate), proxy.RuleGroupToDate)); } } //محدوده محاسبات if (!Utility.Utility.IsEmpty(proxy.CalculationDateRangeId)) { crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonRangeAssignList), CalculationDateRangeGroupAlias); crit.Add(Restrictions.Eq(CalculationDateRangeGroupAlias + "." + Utility.Utility.GetPropertyName(() => new PersonRangeAssignment().CalcDateRangeGroup), new CalculationRangeGroup() { ID = (decimal)proxy.CalculationDateRangeId })); if (!Utility.Utility.IsEmpty(proxy.CalculationFromDate)) { crit.Add(Restrictions.Le(CalculationDateRangeGroupAlias + "." + Utility.Utility.GetPropertyName(() => new PersonRangeAssignment().FromDate), proxy.CalculationFromDate)); } } //ایستگاه کنترل if (!Utility.Utility.IsEmpty(proxy.ControlStationId)) { crit.Add(Restrictions.Eq("controlStation", new ControlStation() { ID = (decimal)proxy.ControlStationId })); } //نوع استخدام if (!Utility.Utility.IsEmpty(proxy.EmploymentType)) { crit.Add(Restrictions.Eq("employmentType", new EmploymentType() { ID = (decimal)proxy.EmploymentType })); } //جستجو در بین مدیران و اپراتورها if (proxy.SearchInCategory != PersonCategory.Public && !Utility.Utility.IsEmpty(proxy.SearchInCategory)) { if (proxy.SearchInCategory == PersonCategory.Manager) { IList <Person> personList = new ManagerRepository(false).GetAllManager(); var ids = from person in personList select person.ID; IList <decimal> idList = ids.ToList <decimal>(); crit.Add(Restrictions.In(Utility.Utility.GetPropertyName(() => new Person().ID), idList.ToArray())); } } crit.Add(Expression.Sql(" prs_Id in (select * from fn_GetAccessiblePersons(?,?,?))", new object[] { managerId, userId, (int)searchCat }, new IType[] { NHibernateUtil.Decimal, NHibernateUtil.Decimal, NHibernateUtil.Int32 })); if (!disjunction.ToString().Equals("()")) { crit.Add(disjunction); } if (IRLS == ImperativeRequestLoadState.Applied || IRLS == ImperativeRequestLoadState.NotApplied) { IList <decimal> ImperativeRequestIDsList = this.NHibernateSession.QueryOver <ImperativeRequest>() .Where(impReq => impReq.Precard.ID == imperativeRequest.Precard.ID && impReq.IsLocked && impReq.Year == imperativeRequest.Year && impReq.Month == imperativeRequest.Month) .Select(impReq => impReq.ID) .List <decimal>(); if (imperativeRequest.IsLocked) { crit.Add(Restrictions.In(Utility.Utility.GetPropertyName(() => new Person().ID), ImperativeRequestIDsList.ToArray())); } else { crit.Add(Restrictions.Not(Restrictions.In(Utility.Utility.GetPropertyName(() => new Person().ID), ImperativeRequestIDsList.ToArray()))); } } crit.SetProjection(Projections.Count(Utility.Utility.GetPropertyName(() => new Person().ID))); if (!Utility.Utility.IsEmpty(crit.ToString())) { object count = crit.UniqueResult(); return((int)count); } return(0); } }
public IList <Person> GetAdvancedSearchPersonByImperativeRequest(PersonSearchProxy proxy, ImperativeRequestLoadState IRLS, ImperativeRequest imperativeRequest, decimal userId, decimal managerId, PersonCategory searchCat, int pageIndex, int pageSize) { const string PersonDetailAlias = "prsDtl"; const string WorkGroupAlias = "wg"; const string RuleGroupAlias = "rg"; const string CalculationDateRangeGroupAlias = "cdrg"; const string DepartmentAlias = "dep"; const string OrganizationUnitAlias = "organ"; const string PersonTASpecAlias = "prsTs"; const string ContractAlias = "con"; const string GradeAlias = "grade"; const string EmploymentAlias = "emp"; ICriteria crit = base.NHibernateSession.CreateCriteria(typeof(Person)); Junction disjunction = Restrictions.Disjunction(); crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().IsDeleted), false)); crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonDetailList), PersonDetailAlias); //فعال if (proxy.PersonActivateState != null) { crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().Active), (bool)proxy.PersonActivateState)); } //کد پرسنلی if (!Utility.Utility.IsEmpty(proxy.PersonCode)) { crit.Add(Restrictions.Like(Utility.Utility.GetPropertyName(() => new Person().BarCode), proxy.PersonCode, MatchMode.Anywhere)); } //نام if (!Utility.Utility.IsEmpty(proxy.FirstName)) { crit.Add(Restrictions.Like(Utility.Utility.GetPropertyName(() => new Person().FirstName), proxy.FirstName, MatchMode.Anywhere)); } //نام خانوادگی if (!Utility.Utility.IsEmpty(proxy.LastName)) { crit.Add(Restrictions.Like(Utility.Utility.GetPropertyName(() => new Person().LastName), proxy.LastName, MatchMode.Anywhere)); } //نام پدر if (!Utility.Utility.IsEmpty(proxy.FatherName)) { crit.Add(Restrictions.Like(PersonDetailAlias + "." + Utility.Utility.GetPropertyName(() => new PersonDetail().FatherName), proxy.FatherName, MatchMode.Anywhere)); } //جنسیت ,پیش فرض آن از واسط کاربر -1 است if (!Utility.Utility.IsEmpty(proxy.Sex) && proxy.Sex >= 0) { crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().Sex), proxy.Sex)); } //شماره کارت if (!Utility.Utility.IsEmpty(proxy.CartNumber)) { crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().CardNum), proxy.CartNumber)); } //نظام وضیفه , پیش فرض آن از واسط کاربر 0 است if (!Utility.Utility.IsEmpty(proxy.Military) && proxy.Military > 0) { crit.Add(Restrictions.Eq(PersonDetailAlias + "." + Utility.Utility.GetPropertyName(() => new PersonDetail().MilitaryStatus), proxy.Military)); } //تحصیلات if (!Utility.Utility.IsEmpty(proxy.Education)) { crit.Add(Restrictions.Like(Utility.Utility.GetPropertyName(() => new Person().Education), proxy.Education, MatchMode.Anywhere)); } //تاهل , پیش فرض آن از واسط کاربر 0 است if (!Utility.Utility.IsEmpty(proxy.MaritalStatus) && proxy.MaritalStatus > 0) { crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().MaritalStatus), proxy.MaritalStatus)); } //شروع تاریخ تولد if (!Utility.Utility.IsEmpty(proxy.FromBirthDate)) { crit.Add(Restrictions.Ge(PersonDetailAlias + "." + Utility.Utility.GetPropertyName(() => new PersonDetail().BirthDate), proxy.FromBirthDate)); } //پایان تاریخ تولد if (!Utility.Utility.IsEmpty(proxy.ToBirthDate)) { crit.Add(Restrictions.Le(PersonDetailAlias + "." + Utility.Utility.GetPropertyName(() => new PersonDetail().BirthDate), proxy.ToBirthDate)); } //شروع تاریخ استخدام if (!Utility.Utility.IsEmpty(proxy.FromEmploymentDate)) { crit.Add(Restrictions.Ge(Utility.Utility.GetPropertyName(() => new Person().EmploymentDate), proxy.FromEmploymentDate)); } //پایان تاریخ استخدام if (!Utility.Utility.IsEmpty(proxy.ToEmploymentDate)) { crit.Add(Restrictions.Ge(Utility.Utility.GetPropertyName(() => new Person().EndEmploymentDate), proxy.ToEmploymentDate)); } //بخش //if (!Utility.Utility.IsEmpty(proxy.DepartmentId)) //{ // crit.CreateAlias("department", DepartmentAlias); // if (proxy.IncludeSubDepartments) // { // disjunction.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().Department).ToLower(), new Department() { ID = (decimal)proxy.DepartmentId })); // disjunction.Add(Restrictions.Like(DepartmentAlias + "." + Utility.Utility.GetPropertyName(() => new Department().ParentPath), "," + proxy.DepartmentId.ToString() + ",", MatchMode.Anywhere)); // } // else // { // crit.Add(Restrictions.Eq(Utility.Utility.GetPropertyName(() => new Person().Department).ToLower(), new Department() { ID = (decimal)proxy.DepartmentId })); // } //} if (!Utility.Utility.IsEmpty(proxy.DepartmentListId)) { crit.CreateAlias("department", DepartmentAlias); if (proxy.IncludeSubDepartments) { disjunction.Add(Restrictions.In(DepartmentAlias + "." + Utility.Utility.GetPropertyName(() => new Department().ID), proxy.DepartmentListId.ToArray())); foreach (decimal item in proxy.DepartmentListId) { disjunction.Add(Restrictions.Like(DepartmentAlias + "." + Utility.Utility.GetPropertyName(() => new Department().ParentPath), "," + item.ToString() + ",", MatchMode.Anywhere)); } } else { crit.Add(Restrictions.In(DepartmentAlias + "." + Utility.Utility.GetPropertyName(() => new Department().ID), proxy.DepartmentListId.ToArray())); } } //پست سازمانی if (!Utility.Utility.IsEmpty(proxy.OrganizationUnitId)) { crit.CreateAlias("OrganizationUnitList", OrganizationUnitAlias); crit.Add(Restrictions.Eq(OrganizationUnitAlias + "." + Utility.Utility.GetPropertyName(() => new OrganizationUnit().ID), (decimal)proxy.OrganizationUnitId)); } //گروه کاری if (!Utility.Utility.IsEmpty(proxy.WorkGroupId)) { crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonWorkGroupList), WorkGroupAlias); crit.Add(Restrictions.Eq(WorkGroupAlias + "." + Utility.Utility.GetPropertyName(() => new AssignWorkGroup().WorkGroup), new WorkGroup() { ID = (decimal)proxy.WorkGroupId })); if (!Utility.Utility.IsEmpty(proxy.WorkGroupFromDate)) { crit.Add(Restrictions.Le(WorkGroupAlias + "." + Utility.Utility.GetPropertyName(() => new AssignWorkGroup().FromDate), proxy.WorkGroupFromDate)); } } //رتبه if (!Utility.Utility.IsEmpty(proxy.GradeId)) { crit.CreateAlias("grade", GradeAlias); crit.Add(Restrictions.Eq(GradeAlias + "." + Utility.Utility.GetPropertyName(() => new Grade().ID), (decimal)proxy.GradeId)); } //گروه قوانین if (!Utility.Utility.IsEmpty(proxy.RuleGroupId)) { crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonRuleCatAssignList), RuleGroupAlias); crit.Add(Restrictions.Eq(RuleGroupAlias + "." + Utility.Utility.GetPropertyName(() => new PersonRuleCatAssignment().RuleCategory), new RuleCategory() { ID = (decimal)proxy.RuleGroupId })); if (!Utility.Utility.IsEmpty(proxy.RuleGroupFromDate)) { crit.Add(Restrictions.Le(RuleGroupAlias + "." + Utility.Utility.GetPropertyName(() => new PersonRuleCatAssignment().FromDate), proxy.RuleGroupFromDate)); } if (!Utility.Utility.IsEmpty(proxy.RuleGroupToDate)) { crit.Add(Restrictions.Ge(RuleGroupAlias + "." + Utility.Utility.GetPropertyName(() => new PersonRuleCatAssignment().ToDate), proxy.RuleGroupToDate)); } } //محدوده محاسبات if (!Utility.Utility.IsEmpty(proxy.CalculationDateRangeId)) { crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonRangeAssignList), CalculationDateRangeGroupAlias); crit.Add(Restrictions.Eq(CalculationDateRangeGroupAlias + "." + Utility.Utility.GetPropertyName(() => new PersonRangeAssignment().CalcDateRangeGroup), new CalculationRangeGroup() { ID = (decimal)proxy.CalculationDateRangeId })); if (!Utility.Utility.IsEmpty(proxy.CalculationFromDate)) { crit.Add(Restrictions.Le(CalculationDateRangeGroupAlias + "." + Utility.Utility.GetPropertyName(() => new PersonRangeAssignment().FromDate), proxy.CalculationFromDate)); } } ////ایستگاه کنترل //if (!Utility.Utility.IsEmpty(proxy.ControlStationId)) //{ // crit.Add(Restrictions.Eq("controlStation", new ControlStation() { ID = (decimal)proxy.ControlStationId })); //} if (!Utility.Utility.IsEmpty(proxy.ControlStationListId)) { List <ControlStation> controlStationList = new List <ControlStation>(); foreach (decimal item in proxy.ControlStationListId) { controlStationList.Add(new ControlStation() { ID = item }); } crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonTASpecList), PersonTASpecAlias); crit.Add(Restrictions.In(PersonTASpecAlias + "." + Utility.Utility.GetPropertyName(() => new PersonTASpec().ControlStation), controlStationList)); } //نوع استخدام //if (!Utility.Utility.IsEmpty(proxy.EmploymentType)) //{ // crit.Add(Restrictions.Eq("employmentType", new EmploymentType() { ID = (decimal)proxy.EmploymentType })); //} if (!Utility.Utility.IsEmpty(proxy.EmploymentTypeListId)) { crit.CreateAlias("employmentType", EmploymentAlias); crit.Add(Restrictions.In(EmploymentAlias + "." + Utility.Utility.GetPropertyName(() => new EmploymentType().ID), proxy.EmploymentTypeListId.ToArray())); } // گروه واسط کاربری if (!Utility.Utility.IsEmpty(proxy.UIValidationGroupListId)) { List <UIValidationGroup> uiValidationGroupList = new List <UIValidationGroup>(); foreach (decimal item in proxy.UIValidationGroupListId) { uiValidationGroupList.Add(new UIValidationGroup() { ID = item }); } crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonTASpecList), PersonTASpecAlias); crit.Add(Restrictions.In(PersonTASpecAlias + "." + Utility.Utility.GetPropertyName(() => new PersonTASpec().UIValidationGroup), uiValidationGroupList)); } //قرارداد if (!Utility.Utility.IsEmpty(proxy.ContractId)) { crit.CreateAlias(Utility.Utility.GetPropertyName(() => new Person().PersonContractAssignmentList), ContractAlias); crit.Add(Restrictions.Eq(ContractAlias + "." + Utility.Utility.GetPropertyName(() => new PersonContractAssignment().Contract), new Contract() { ID = (decimal)proxy.ContractId })); crit.Add(Restrictions.Eq(ContractAlias + "." + Utility.Utility.GetPropertyName(() => new PersonContractAssignment().IsDeleted), false)); if (!Utility.Utility.IsEmpty(proxy.ContractFromDate)) { crit.Add(Restrictions.Ge(ContractAlias + "." + Utility.Utility.GetPropertyName(() => new PersonContractAssignment().FromDate), Utility.Utility.ToMildiDateTime(proxy.ContractFromDate))); } if (!Utility.Utility.IsEmpty(proxy.RuleGroupToDate)) { crit.Add(Restrictions.Le(ContractAlias + "." + Utility.Utility.GetPropertyName(() => new PersonContractAssignment().ToDate), Utility.Utility.ToMildiDateTime(proxy.ContractToDate))); } } //جستجو در بین مدیران و اپراتورها if (proxy.SearchInCategory != PersonCategory.Public && !Utility.Utility.IsEmpty(proxy.SearchInCategory)) { if (proxy.SearchInCategory == PersonCategory.Manager) { IList <Person> personList = new ManagerRepository(false).GetAllManager(); var ids = from person in personList select person.ID; IList <decimal> idList = ids.ToList <decimal>(); crit.Add(Restrictions.In(Utility.Utility.GetPropertyName(() => new Person().ID), idList.ToArray())); } } IList <Person> list = new List <Person>(); crit.Add(Expression.Sql(" prs_Id in (select * from fn_GetAccessiblePersons(?,?,?))", new object[] { managerId, userId, (int)searchCat }, new IType[] { NHibernateUtil.Decimal, NHibernateUtil.Decimal, NHibernateUtil.Int32 })); if (!disjunction.ToString().Equals("()")) { crit.Add(disjunction); } if (IRLS == ImperativeRequestLoadState.Applied || IRLS == ImperativeRequestLoadState.NotApplied) { IList <decimal> ImperativeRequestIDsList = this.NHibernateSession.QueryOver <ImperativeRequest>() .Where(impReq => impReq.Precard.ID == imperativeRequest.Precard.ID && impReq.IsLocked && impReq.Year == imperativeRequest.Year && impReq.Month == imperativeRequest.Month) .Select(impReq => impReq.ID) .List <decimal>(); if (imperativeRequest.IsLocked) { crit.Add(Restrictions.In(Utility.Utility.GetPropertyName(() => new Person().ID), ImperativeRequestIDsList.ToArray())); } else { crit.Add(Restrictions.Not(Restrictions.In(Utility.Utility.GetPropertyName(() => new Person().ID), ImperativeRequestIDsList.ToArray()))); } } if (!Utility.Utility.IsEmpty(crit.ToString())) { if (pageIndex == 0 && pageSize == 0) { list = crit .List <Person>(); } else { list = crit .SetFirstResult(pageIndex * pageSize) .SetMaxResults(pageSize) .List <Person>(); } } return(list); }