/// <summary> /// /// </summary> /// <param name="total"></param> /// <param name="tenantId"></param> /// <param name="rname"></param> /// <param name="optype"></param> /// <param name="module"></param> /// <param name="ip"></param> /// <param name="stime"></param> /// <param name="etime"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public IEnumerable <SysLog> GetLogs(out int total, int tenantId, string rname, string optype, string module, string ip, DateTime?stime, DateTime?etime, int pageIndex, int pageSize) { var sqlwhere = string.Format(@"Sys_Users.Realname LIKE '%{0}%' AND Sys_Log.LogType = 0 AND Sys_Log.Description LIKE '%{1}%' AND Sys_Log.ModuleName LIKE '%{2}%' AND Sys_Log.ClientIp LIKE '%{3}%' AND Sys_Log.TenantId=@tid", rname.ReplaceSql(), optype.ReplaceSql(), module.ReplaceSql(), ip.ReplaceSql()); if (stime.HasValue) { sqlwhere += " AND Sys_Log.LogTime>='" + stime.Value.ToString("yyyy-MM-dd") + "'"; } if (etime.HasValue) { sqlwhere += " AND Sys_Log.LogTime<'" + etime.Value.AddDays(1).ToString("yyyy-MM-dd") + "'"; } var list = _dataAccess.GetEntities <SysLog>(out total, sqlwhere, (pageIndex - 1) * pageSize + 1, pageSize, "LogId DESC", new { rname, desc = optype, module, ip, tid = tenantId }); int rowIndex = (pageIndex - 1) * pageSize + 1; foreach (var log in list) { log.RowIndex = rowIndex; rowIndex++; } return(list); }
/// <summary> /// 分页查询角色 /// </summary> /// <param name="total">总记录数</param> /// <param name="tenantId">租户Id</param> /// <param name="roleName">角色名称</param> /// <param name="startIndex">起始记录行</param> /// <param name="pageSize">每次最多返回行数</param> /// <returns></returns> public IEnumerable <SysRole> GetRoles(out int total, int tenantId, string roleName, int startIndex, int pageSize) { string where = string.Format(" Sys_Roles.RoleName like '%{0}%' AND Sys_Roles.IsDelete=0 AND Sys_Roles.TenantId=@tenantId", roleName.ReplaceSql()); var param = new { roleName, tenantId }; return(_dataAccess.GetEntities <SysRole>(out total, where, startIndex, pageSize, "RoleId", param)); }
/// <summary> /// 获取所有用户 /// </summary> /// <returns></returns> public IEnumerable <SysUser> GetAllUsers(int tenantId) { int totalRecords = 0; string where = " Sys_Users.Status = 0 and Sys_Users.TenantId=" + tenantId; return(_dataAccess.GetEntities <SysUser>(out totalRecords, where, 0, int.MaxValue, "UserId")); }
public IEnumerable <ResSurveyExampaper> GetSurveyExampaperList(out int total, int tenantId, int startIndex, int pageSize, string sort = "ExampaperID DESC") { string sqlwhere = " Res_SurveyExampaper.TenantId= @tenantId"; var param = new { tenantId }; return(_dataAccess.GetEntities <ResSurveyExampaper>(out total, sqlwhere, startIndex, pageSize, sort, param)); }
public List <KL_Resource> GetDeptResources(IEnumerable <int> depts, int number) { var sqlwhere = "KL_Resource.IsDeleted=0 AND KL_Resource.Status=1 AND Sys_Users.DeptId IN (" + depts.GetString() + ")"; int total; return(_dataAccess.GetEntities <KL_Resource>(out total, sqlwhere, 1, number).ToList()); }
/// <summary> /// 分页获取课件 /// </summary> /// <param name="total">总记录数</param> /// <param name="tenantId">租户Id</param> /// <param name="name">名称</param> /// <param name="category">分类(-1:全部)</param> /// <param name="pageSize"></param> /// <param name="sort"></param> /// <returns></returns> /// <param name="startIndex">Start index.</param> public IEnumerable <ResCourseWare> GetCourseWare(out int total, int tenantId, string name, int category, int startIndex, int pageSize, string sort = "WareId") { var sqlwhere = "Res_CourseWare.IsDelete=0"; sqlwhere += string.Format(" AND Res_CourseWare.WareName LIKE '%{0}%'", name.ReplaceSql()); if (category != -1) { sqlwhere += " AND Res_CourseWare.Type=" + category; } var param = new { name }; var list = _dataAccess.GetEntities <ResCourseWare>(out total, sqlwhere, startIndex, pageSize, sort, param); return(list); }
public IEnumerable <SysTenant> GetTenants(string tenantName, string domainName, int pageIndex, int pageSize, out int totalRecords, int status = 0) { var sqlwhere = string.Format("Sys_Tenant.TenantName like '%{0}%' AND Sys_Tenant.DomainName like '%{1}%' ", tenantName.ReplaceSql(), domainName.ReplaceSql()); if (status != -1) { sqlwhere += " AND Sys_Tenant.Status=@st"; } return(_dataAccess.GetEntities <SysTenant>( out totalRecords, sqlwhere, pageIndex, pageSize , "TenantId", new { tname = tenantName, dname = domainName, st = status })); }
/// <summary> /// 获取所有用户(废弃2015-01-29 yxt) /// </summary> /// <returns></returns> public IEnumerable <SysUser> GetAllUsers(string whereStr = "Sys_Users.Status=0 and isnull(Sys_Users.IsTeacher,0)=0 and Sys_Users.IsDelete=0", string sort = "UserId DESC") { int totalRecords = 0; //string where = " Sys_Users.Status = 0 and Sys_Users.IsDelete=0 and Sys_Users.TenantId=" + tenantId; return(_dataAccess.GetEntities <SysUser>(out totalRecords, whereStr, 0, int.MaxValue, sort)); }
public List <PromotionWay> GetPromotionWayList(out int total, int tenantId, string promotionName, int pageIndex = 1, int pageSize = int.MaxValue) { var list = _dataAccess.GetEntities <PromotionWay>(out total, string.Format(" Ab_PromotionWay.TenantId = {0} and Ab_PromotionWay.IsDelete = 0 and Ab_PromotionWay.PromotionName like '%{1}%'", tenantId, promotionName.ReplaceSql()), (pageIndex - 1) * pageSize + 1, pageSize).ToList(); if (list.Count > 0) { string stageWhere = string.Format(" Ab_PromotionStage.IsDelete = 0 and Ab_PromotionStage.PromotionId in ({0}) ", list.Select(p => p.PromotionId).GetString()); var stageList = _dataAccess.GetList <PromotionStage>(stageWhere); foreach (var item in list) { item.Stages.AddRange(stageList.FindAll(p => p.PromotionId == item.PromotionId).OrderBy(p => p.OrderNum)); } } return(list); }
/// <summary> /// /// </summary> /// <param name="total"></param> /// <param name="name"></param> /// <param name="rname"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public List <Models.Oper.SysAdmin> GetAdminList(out int total, string name, string rname, int pageIndex, int pageSize) { var sqlwhere = String.Format("Sys_Admin.LoginName LIKE '%{0}%' AND Sys_Admin.Realname LIKE '%{1}%'", name.ReplaceSql(), rname.ReplaceSql()); var list = _dataAccess.GetEntities <Models.Oper.SysAdmin>(out total, sqlwhere, (pageIndex - 1) * pageSize, pageSize, "AdminId DESC", new { name, rname }); return(list.ToList()); }
/// <summary> /// 获得审批通过的培训班 /// </summary> /// <param name="classType"></param> /// <param name="deptId"></param> /// <param name="trainname"></param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <param name="username"></param> /// <param name="classstatus"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public PagedList <Tr_TrainClass> GetClassSurveyList(int classType, int deptId, string trainname, string startTime, string endTime, string username, int classstatus, int pageIndex, int pageSize) { var sqlwhere = " Tr_TrainClass.IsDelete=0 and Tr_TrainClass.OldClassId=0 "; if (classType > -1) { sqlwhere += " and Tr_TrainClass.ClassType =" + classType.ToString(CultureInfo.CurrentCulture); } if (!string.IsNullOrEmpty(trainname)) { sqlwhere += string.Format(" AND Tr_PlanClass.TrainName like '%{0}%'", trainname.ReplaceSql()); } if (!string.IsNullOrEmpty(startTime)) { sqlwhere += string.Format(" and Tr_TrainClass.StartTime >= '{0}'", DateTime.Parse(startTime)); } if (!string.IsNullOrEmpty(endTime)) { sqlwhere += string.Format(" and Tr_TrainClass.EndTime<= '{0}'", DateTime.Parse(endTime)); } if (!string.IsNullOrEmpty(username)) { sqlwhere += string.Format(" AND Sys_Users.Realname like '%{0}%'", username.ReplaceSql()); } if (classstatus != -1) { switch (classstatus) { case 0: sqlwhere += string.Format(" and Tr_TrainClass.StartTime > '{0}'", DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); break; case 1: sqlwhere += string.Format(" and Tr_TrainClass.StartTime <= '{0}' and Tr_TrainClass.EndTime>='{0}'", DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); break; default: sqlwhere += string.Format(" and Tr_TrainClass.EndTime<= '{0}'", DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); break; } } if (classType > 0 && deptId > 0) { var deptIds = new List <int> { deptId }; var deptList = _dataAccess.GetList <SysDepartment>("Sys_Department.Status = 0 "); GetChildDeptIds(deptId, deptList, deptIds); sqlwhere += " AND Sys_Users.DeptId in (" + deptIds.GetString() + ") "; } int total; var list = _dataAccess.GetEntities <Tr_TrainClass>(out total, sqlwhere, (pageIndex - 1) * pageSize + 1, pageSize, "CreateTime desc"); return(new PagedList <Tr_TrainClass>(list, pageIndex, pageSize, total)); }
/// <summary> /// /// </summary> /// <param name="tenantId"></param> /// <param name="topNum"></param> /// <returns></returns> public static List <Sys_SearchKeyWord> GetHotWord(int tenantId, int topNum) { int total; var list = _dataAccess.GetEntities <Sys_SearchKeyWord>(out total, "Sys_SearchKeyWord.TenantId=" + tenantId, 1, topNum, "SearchCount DESC"); return(list.ToList()); }
/// <summary> /// 获取简历列表 /// </summary> /// <param name="startIndex"></param> /// <param name="pageSize"></param> /// <param name="count"></param> /// <returns></returns> public List <ResumeModel> GetResumeList(out int count, string position, int startIndex = 1, int pageSize = int.MaxValue) { var where = " 1=1 "; if (!string.IsNullOrWhiteSpace(position)) { where += string.Format(" and expect_position_name like '%{0}%'", position); } return(_dataAccess.GetEntities <ResumeModel>(out count, where, startIndex, pageSize, " created_time desc ").ToList()); }
/// <summary> /// 列表搜索公司 /// </summary> /// <param name="total"></param> /// <param name="companyName"></param> /// <param name="startIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public List <CompanyListShow> SearchCompanyList(out int total, string companyName = "", int startIndex = 1, int pageSize = int.MaxValue) { var where = " 1=1 "; if (!string.IsNullOrEmpty(companyName)) { where += string.Format(" and company_name = '{0}'", companyName); } return(_dataAccess.GetEntities <CompanyListShow>(out total, where, startIndex, pageSize, " create_time desc ").ToList()); }
public List <AbilityInfo> GetAbilityList(out int totalCount, int tenantId, int categoryId, string abilityName, string abilityLevel, int pageIndex, int pageSize) { string sqlWhere = "Ab_AbilityInfo.IsDelete = 0 and Ab_AbilityInfo.TenantId = " + tenantId; if (categoryId > 0) { sqlWhere += " and Ab_AbilityInfo.CategoryId = " + categoryId; } if (!string.IsNullOrWhiteSpace(abilityName)) { sqlWhere += string.Format(" and Ab_AbilityInfo.AbilityName like '%{0}%'", abilityName.ReplaceSql()); } if (!string.IsNullOrWhiteSpace(abilityLevel)) { sqlWhere += string.Format(" and Ab_AbilityInfo.AbilityLevel = '{0}'", abilityLevel.ReplaceSql()); } return(_dataAccess.GetEntities <AbilityInfo>(out totalCount, sqlWhere, (pageIndex - 1) * pageSize + 1, pageSize).ToList()); }
public List <Cde_SurveyExampaper> GetExampapers(out int total, int tenantId, string title, int pageIndex, int pageSize) { var sqlwhere = "Cde_SurveyExampaper.IsDelete=0 AND Cde_SurveyExampaper.TenantId=" + tenantId; if (!string.IsNullOrEmpty(title)) { sqlwhere += string.Format(" AND Cde_SurveyExampaper.ExamTitle LIKE '%{0}%'", title.ReplaceSql()); } return(_dataAccess.GetEntities <Cde_SurveyExampaper>(out total, sqlwhere, (pageIndex - 1) * pageSize + 1, pageSize, "ExampaperID DESC").ToList()); }
/// <summary> /// /// </summary> /// <param name="total"></param> /// <param name="startIndex"></param> /// <param name="pageSize"></param> /// <param name="tenantId"></param> /// <param name="deptName"></param> /// <returns></returns> public IEnumerable <SysDepartment> GetAllDept(out int total, int startIndex, int pageSize, int tenantId, string deptName) { string where = "Sys_Department.Status=0 AND Sys_Department.TenantId=@tenantId"; if (!string.IsNullOrEmpty(deptName)) { where += " AND Sys_Department.DeptName=@deptName"; } var param = new { tenantId, deptName }; return (_dataAccess.GetEntities <SysDepartment>(out total, where, startIndex, pageSize, "DeptId", param)); }
/// <summary> /// /// </summary> /// <param name="total"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="tenantId"></param> /// <param name="postName"></param> /// <returns></returns> public IEnumerable <SysPost> GetAllPost(out int total, int pageIndex, int pageSize, int tenantId, string postName) { string where = "Sys_Posts.Status=0"; if (!string.IsNullOrEmpty(postName)) { where += string.Format(" AND Sys_Posts.PostName LIKE '%{0}%'", postName.ReplaceSql()); } var param = new { tenantId, postName }; return (_dataAccess.GetEntities <SysPost>(out total, where, pageIndex, pageSize, "PostId", param)); }
/// <summary> /// 获取系统中前N个专题问答 /// </summary> /// <param name="tenantId"></param> /// <param name="topNum"></param> /// <returns></returns> public IEnumerable <IntQuestion> GetThematicQuestons(int tenantId, int topNum) { var sqlwhere = string.Format("Int_Question.IsDelete=0 AND Int_Question.TenantId=" + tenantId + " AND Int_Question.IsThematic=1"); int total; return(_dataAccess.GetEntities <IntQuestion>(out total, sqlwhere, 1, topNum, " QuestionTime DESC")); }
/// <summary> /// 获得用户列表 /// </summary> /// <param name="total"></param> /// <param name="userName"></param> /// <param name="realName"></param> /// <param name="startIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public List <UserModel> GetUserList(out int total, string userName = "", string realName = "", int startIndex = 1, int pageSize = int.MaxValue) { var where = " 1=1 "; if (!string.IsNullOrWhiteSpace(userName)) { where += string.Format(" and username like '%{0}%'", userName); } if (!string.IsNullOrWhiteSpace(realName)) { where += string.Format(" and name like '%{0}%'", realName); } return(_dataAccess.GetEntities <UserModel>(out total, where, startIndex, pageSize, " create_time desc ").ToList()); }
/// <summary> /// 获取热门(回复次数最多)帖子 /// </summary> /// <param name="topNum"></param> /// <param name="tenantId"></param> /// <returns></returns> public List <Topic> GetHotTopic(int topNum, string kw, int tenantId) { int total; return (_dataAccess.GetEntities <Topic>(out total, "bbs_Topic.IsDelete=0 AND bbs_Topic.TenantId=" + tenantId + " AND bbs_Topic.Title LIKE '%" + kw.ReplaceSql() + "%'", 1, topNum, "ReplyCount DESC").ToList()); }
/// <summary> /// 获取培训班列表 /// </summary> /// <param name="classType"></param> /// <param name="trainname"></param> /// <param name="startTime"></param> /// <param name="endTime"></param> /// <param name="username"></param> /// <param name="approvestatus"></param> /// <param name="issignup"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public PagedList <Tr_TrainClass> GetClassList(int classType, int deptId, string trainname, string startTime, string endTime, string username, int approvestatus, int issignup, int pageIndex, int pageSize) { var sqlwhere = " Tr_TrainClass.IsDelete=0 "; if (classType > -1) { sqlwhere += " and Tr_TrainClass.ClassType =" + classType.ToString(CultureInfo.CurrentCulture); } if (!string.IsNullOrEmpty(trainname)) { sqlwhere += string.Format(" AND Tr_PlanClass.TrainName like '%{0}%'", trainname.ReplaceSql()); } if (!string.IsNullOrEmpty(startTime)) { sqlwhere += string.Format(" and Tr_TrainClass.StartTime >= '{0}'", DateTime.Parse(startTime)); } if (!string.IsNullOrEmpty(endTime)) { sqlwhere += string.Format(" and Tr_TrainClass.EndTime<= '{0}'", DateTime.Parse(endTime)); } if (!string.IsNullOrEmpty(username)) { sqlwhere += string.Format(" AND Sys_Users.Realname like '%{0}%'", username.ReplaceSql()); } if (approvestatus != -1) { sqlwhere += " and Tr_TrainClass.ApproveStatus=" + approvestatus.ToString(CultureInfo.CurrentCulture); } if (issignup != -1) { sqlwhere += " and Tr_TrainClass.IsSignUp =" + issignup.ToString(CultureInfo.CurrentCulture); } if (classType > 0 && deptId > 0) { var deptIds = new List <int> { deptId }; var deptList = _dataAccess.GetList <SysDepartment>("Sys_Department.Status = 0 "); GetChildDeptIds(deptId, deptList, deptIds); sqlwhere += " AND Sys_Users.DeptId in (" + deptIds.GetString() + ") "; } int total; var list = _dataAccess.GetEntities <Tr_TrainClass>(out total, sqlwhere, (pageIndex - 1) * pageSize + 1, pageSize, "CreateTime desc"); return(new PagedList <Tr_TrainClass>(list, pageIndex, pageSize, total)); }
public System.Collections.Generic.List <Models.Cde.Cde_IndexQuestion> GetQuestions(out int total, int tenantId, string qtitle, int sortId, int pageIndex, int pageSize, int[] excludes = null) { string sqlwhere = String.Format("Cde_IndexQuestion.IsDelete=0 AND Cde_IndexQuestion.QuestionName LIKE'%{0}%' AND Cde_IndexQuestion.TenantId=@tenantId", qtitle.ReplaceSql()); if (sortId != 0) { var sorts = _dataAccess.FetchListBySql <int>("SELECT SortId FROM Cde_IndexSort WHERE ParentId=" + sortId); var ss = sorts.ToList(); ss.Add(sortId); sqlwhere += " AND (Cde_IndexQuestion.SortId IN (" + ss.GetString() + ") OR Cde_IndexQuestion.SecondSortId IN (" + ss.GetString() + ")) "; } sqlwhere += " AND Cde_IndexQuestion.QuestionId NOT IN (" + excludes.GetString() + ")"; var list = _dataAccess.GetEntities <Models.Cde.Cde_IndexQuestion>(out total, sqlwhere, (pageIndex - 1) * pageSize + 1, pageSize, "QuestionId DESC", new { qtitle, tenantId }).ToList(); return(list); }
/// <summary> /// 查询系统消息 /// </summary> /// <param name="total"></param> /// <param name="title"></param> /// <param name="sTime"></param> /// <param name="eTime"></param> /// <param name="status"></param> /// <param name="startIndex"></param> /// <param name="pageSize"></param> /// <param name="order"></param> /// <returns></returns> public IEnumerable <SysMessage> GetSysMessages(out int total, string title, DateTime?sTime, DateTime?eTime, int status = -1, int startIndex = 1, int pageSize = 20, string order = " CreateTime DESC ") { var sqlwhere = string.Format(" Sys_LeaveMessage.Title LIKE '%{0}%' ", title.ReplaceSql()); if (sTime.HasValue) { sqlwhere += " AND Sys_LeaveMessage.CreateTime >='" + sTime.Value.ToString("yyyy-MM-dd") + "'"; } if (eTime.HasValue) { sqlwhere += " AND Sys_LeaveMessage.CreateTime<'" + eTime.Value.AddDays(1).ToString("yyyy-MM-dd") + "'"; } if (status != -1) { sqlwhere += " AND Sys_LeaveMessage.Status=" + status; } return(_dataAccess.GetEntities <Models.SysMessage>(out total, sqlwhere, startIndex, pageSize, order, new { title })); }
/// <summary> /// 获取书籍列表 /// </summary> /// <param name="total"></param> /// <param name="tenantId"></param> /// <param name="categoryId"></param> /// <param name="resname"></param> /// <param name="status"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public IEnumerable <EBook> GetList(out int total, int tenantId, int categoryId, string resname, int status, int pageIndex, int pageSize) { string sqlwhere = string.Format(@"Res_EBook.IsDelete = 0 AND Res_EBook.TenantId = {0} AND ( Res_EBook.Status = {1} or {1} = 99 ) AND Res_EBook.BookName like '%{2}%'", tenantId, status, resname.ReplaceSql()); if (categoryId > 0) { var sorts = GetAllChilds(tenantId, categoryId).Select(p => p.CategoryId).ToList(); sorts.Add(categoryId); sqlwhere += " AND Res_EBook.CategoryId IN (" + sorts.GetString() + ")"; } return(_dataAccess.GetEntities <EBook>(out total, sqlwhere, (pageIndex - 1) * pageSize + 1, pageSize)); }
/// <summary> /// 获取政策 /// </summary> /// <param name="totalcount">总页数</param> /// <param name="pageIndex">开始的页数(从1开始)</param> /// <param name="pageSize">每页的大小</param> /// <param name="where">查询字段</param> /// <param name="orderSql">排序条件</param> /// <returns></returns> public List <Sys_Notes> GetListNotes(out int totalcount, int pageIndex = 0, int pageSize = int.MaxValue, string where = "1=1", string orderSql = " ORDER BY IsTop DESC ,CreateTime DESC ") { var list = _dataAccess.GetEntities <Sys_Notes>(out totalcount, where, pageIndex, pageSize, orderSql); return(list.ToList()); }
/// <summary> /// 分页方式获取LenLearningClass列表 /// </summary> /// <param name="total"></param> /// <param name="startIndex"></param> /// <param name="pageSize"></param> /// <param name="order"></param> /// <returns></returns> public IEnumerable <LearningClass> GetLenLearningClasss(out int total, int startIndex, int pageSize, string order) { return(_dataAccess.GetEntities <LearningClass>(out total, "", startIndex, pageSize, order)); }
public List <PromotionApply> GetList(out int total, int pageIndex, int pageSize, string strWhere, string order, dynamic param = null) { return(_dataAccess.GetEntities <PromotionApply>(out total, strWhere, (pageIndex - 1) * pageSize + 1, pageSize, order, param).ToList()); }
/// <summary> /// /// </summary> /// <param name="total"></param> /// <param name="tenantId"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public IEnumerable <IntegralRule> GetRules(out int total, int tenantId, int pageIndex, int pageSize) { var sqlwhere = "Int_IntegralRule.TenantId=" + tenantId; return(_dataAccess.GetEntities <IntegralRule>(out total, sqlwhere, (pageIndex - 1) * pageSize + 1, pageSize)); }
/// <summary> /// 获取课件学习记录列表 /// </summary> /// <returns></returns> public IEnumerable <Len_UserLearnWare> GetLearnWares(string whereStr = " 1=1 ", string sort = " WareId DESC") { int totalCount = 0; return(_dataAccess.GetEntities <Len_UserLearnWare>(out totalCount, whereStr, 0, int.MaxValue, sort)); }