public List <UserModel> GetUsers(string loggedInUserRoleId, string userId, string sortOrder, int currentPageNo, string filterString, out int count) { List <UserModel> result = dal.GetUsers(); count = result.Count; string[] filterStringArray = filterString.Split(';'); if (Convert.ToInt32(loggedInUserRoleId) != 0) //except super user { UserModel loggedInUser = result.Find(x => x.UserId == Convert.ToInt32(userId)); result.RemoveAll(x => x.RoleId <= Convert.ToInt32(loggedInUserRoleId)); result.Insert(result.Count, loggedInUser); count = result.Count; if (!string.IsNullOrEmpty(filterString)) { if (!string.IsNullOrEmpty(filterStringArray[0])) { result = result.FindAll(x => x.Role == filterStringArray[0]); } } result = result.Skip((currentPageNo - 1) * Constants.Max_No_Rows).Take(Constants.Max_No_Rows).ToList(); } return(result); }