Добавил Attendees
All checks were successful
Create and publish a Docker image / Publish image (push) Successful in 9m10s

This commit is contained in:
2025-10-12 22:08:19 +03:00
parent e7526241d1
commit a7f6d4de9f
2 changed files with 87 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
using System.Text.Json;
using System.Text.Json.Serialization;
#nullable enable
#pragma warning disable CS8618
#pragma warning disable CS8601
#pragma warning disable CS8603
namespace SfeduSchedule.Abstractions;
public partial class Attendees
{
public static List<Attendees> FromJson(string json) => JsonSerializer.Deserialize<List<Attendees>>(json);
}
public partial class Attendees
{
[JsonPropertyName("id")]
public Guid Id { get; set; }
[JsonPropertyName("roleId")]
public string RoleId { get; set; }
[JsonPropertyName("roleName")]
public string RoleName { get; set; }
[JsonPropertyName("roleNamePlural")]
public string RoleNamePlural { get; set; }
[JsonPropertyName("roleDisplayOrder")]
public long RoleDisplayOrder { get; set; }
[JsonPropertyName("personId")]
public Guid PersonId { get; set; }
[JsonPropertyName("lastName")]
public string LastName { get; set; }
[JsonPropertyName("firstName")]
public string FirstName { get; set; }
[JsonPropertyName("middleName")]
public string MiddleName { get; set; }
[JsonPropertyName("fullName")]
public string FullName { get; set; }
[JsonPropertyName("studentId")]
public Guid? StudentId { get; set; }
[JsonPropertyName("specialtyCode")]
public string SpecialtyCode { get; set; }
[JsonPropertyName("specialtyName")]
public string SpecialtyName { get; set; }
[JsonPropertyName("specialtyProfile")]
public string SpecialtyProfile { get; set; }
}
#pragma warning restore CS8618
#pragma warning restore CS8601
#pragma warning restore CS8603

View File

@@ -38,6 +38,30 @@ namespace SfeduSchedule.Services
}
return await response.Content.ReadAsStringAsync();
}
public async Task<List<Attendees>> GetAttendeesAsync(Guid eventId)
{
var request = new HttpRequestMessage(HttpMethod.Get,
$"schedule-calendar-v2/api/calendar/events/{eventId}/attendees");
var response = await _httpClient.SendAsync(request);
_logger.LogInformation("GetAttendeesAsync: Ответ получен: {StatusCode}", response.StatusCode);
if (response.StatusCode != System.Net.HttpStatusCode.OK)
{
_logger.LogError("GetAttendeesAsync: Ошибка при получении списка студентов: {StatusCode}", response.StatusCode);
return new List<Attendees>();
}
List<Attendees>? attendees;
try
{
attendees = Attendees.FromJson(await response.Content.ReadAsStringAsync());
return attendees;
}
catch (Exception ex)
{
_logger.LogError(ex, "GetAttendeesAsync: Deserialization failed.");
}
return new List<Attendees>();
}
public async Task<string?> SearchRoomsAsync(RoomSearchRequest requestDto)
{