public async Task <CursorPagedResults <UserDTO> > GetUsers(ReadUsers readUsers) { var result = new CursorPagedResults <UserDTO>(); if (readUsers.Pagination.FetchNext > 0) { result.Result = await context.Users.AsNoTracking().Where(x => x.UserId > readUsers.Pagination.Cursor).Take(readUsers.Pagination.FetchNext).ProjectTo <UserDTO>(mapperConfiguration).ToListAsync(); result.Cursor = readUsers.Pagination.Cursor; result.NextCursor = result.Result.LastOrDefault()?.UserId; } else { var users = await context.Users.AsNoTracking().Where(x => x.UserId <= readUsers.Pagination.Cursor).TakeLast(readUsers.Pagination.FetchNext - 1).ProjectTo <UserDTO>(mapperConfiguration).ToListAsync(); if (users.Count() != Math.Abs(readUsers.Pagination.FetchNext)) { result.Result = users; result.Cursor = 0; } else { result.Result = users.Skip(1).ToList(); result.Cursor = result.Result.FirstOrDefault()?.UserId; } result.NextCursor = readUsers.Pagination.Cursor; } return(result); }
/// <summary> /// Defaults the fields. /// </summary> /// <returns>ReadUsers.</returns> public ReadUsers DefaultFields() { var fields = new List <UserFieldType> { UserFieldType.Name, UserFieldType.CreateDate, UserFieldType.ObjectId, UserFieldType.EmailAddress, UserFieldType.PersonalName, UserFieldType.OfficePhone, UserFieldType.LastUpdateDate }; var defaultFields = new ReadUsers { Field = fields.ToArray() }; return(defaultFields); }
/// <summary> /// Gets the user. /// </summary> /// <param name="readUser">The read user.</param> /// <returns>List{User}.</returns> public List <User> GetUser(ReadUsers readUser) { var retVal = new List <User>(UserService.ReadUsers(readUser)); return(retVal); }
public LoginWindow() { InitializeComponent(); ReadUsers.Read(); }