fix: синхронизации аудиторий
This commit is contained in:
@@ -29,9 +29,34 @@ public class ModeusApiClient : IModeusApiClient
|
||||
|
||||
public async Task<ModeusRoomsResponse> SearchRoomsAsync()
|
||||
{
|
||||
var response = await _http.PostAsJsonAsync("/api/proxy/rooms/search", new { });
|
||||
response.EnsureSuccessStatusCode();
|
||||
return await response.Content.ReadFromJsonAsync<ModeusRoomsResponse>() ?? new(new());
|
||||
const int pageSize = 100;
|
||||
var allRooms = new List<ModeusRoom>();
|
||||
var page = 0;
|
||||
var totalPages = 1;
|
||||
|
||||
do
|
||||
{
|
||||
var body = new
|
||||
{
|
||||
name = "",
|
||||
sort = "+building.name,+name",
|
||||
size = pageSize,
|
||||
page,
|
||||
deleted = false
|
||||
};
|
||||
|
||||
var response = await _http.PostAsJsonAsync("/api/proxy/rooms/search", body);
|
||||
response.EnsureSuccessStatusCode();
|
||||
|
||||
var payload = await response.Content.ReadFromJsonAsync<ModeusRoomsResponse>() ?? new ModeusRoomsResponse();
|
||||
allRooms.AddRange(payload.RoomItems);
|
||||
|
||||
totalPages = payload.Page?.TotalPages ?? page + 1;
|
||||
page++;
|
||||
}
|
||||
while (page < totalPages);
|
||||
|
||||
return new ModeusRoomsResponse { Rooms = allRooms };
|
||||
}
|
||||
|
||||
public async Task<List<ModeusEmployee>> SearchEmployeeAsync(string fullname)
|
||||
|
||||
Reference in New Issue
Block a user