Conversation
… operations has been added, migrations have been created, and Aspire has been configured
alxmcs
left a comment
There was a problem hiding this comment.
На пересдачу можешь не приходить, встретимся на комиссии
| name: Run .NET Tests | ||
|
|
||
| on: | ||
| push: |
There was a problem hiding this comment.
Настолько часто запускать ашон нет смысла
| } | ||
| catch (Exception ex) | ||
| { | ||
| logger.LogError("An exception happened during {method} method of {controller}: {@exception}", nameof(GetIssuedBooksOrderedByTitle), GetType().Name, ex); |
There was a problem hiding this comment.
Здесь и далее по коду - у LogError есть перегрузка, которая принимает Exception в качестве первого параметра
| /// <summary> | ||
| /// Дата регистрации читателя | ||
| /// </summary> | ||
| public DateTime? RegistrationDate { get; set; } |
| /// <summary> | ||
| /// Фиксированная точка времени для детерминированных данных | ||
| /// </summary> | ||
| public static readonly DateTime SeedNowUtc = | ||
| DateTime.SpecifyKind(new DateTime(2026, 2, 19, 0, 0, 0), DateTimeKind.Utc); |
There was a problem hiding this comment.
Почему-то относительно #280 изменилась и эта строка, хотя ничего полезного в ней привнесено не было . То, что тут сейчас написано - бестолковое синтаксическое дрочилово, полностью эквивалентное new(2026, 2, 19)
| public async Task<Reader?> Read(int entityId) | ||
| { | ||
| return await db.Readers | ||
| .Include(r => r.BookIssues) | ||
| .ThenInclude(i => i.Book) | ||
| .ThenInclude(b => b!.Publisher) | ||
| .Include(r => r.BookIssues) | ||
| .ThenInclude(i => i.Book) | ||
| .ThenInclude(b => b!.EditionType) | ||
| .FirstOrDefaultAsync(r => r.Id == entityId); | ||
| } | ||
|
|
||
| /// <summary> | ||
| /// Возвращает список всех читателей | ||
| /// </summary> | ||
| public async Task<IList<Reader>> ReadAll() | ||
| { | ||
| return await db.Readers | ||
| .AsNoTracking() | ||
| .Include(r => r.BookIssues) | ||
| .ThenInclude(i => i.Book) | ||
| .ThenInclude(b => b!.Publisher) | ||
| .Include(r => r.BookIssues) | ||
| .ThenInclude(i => i.Book) | ||
| .ThenInclude(b => b!.EditionType) | ||
| .OrderBy(x => x.Id) | ||
| .ToListAsync(); | ||
| } |
There was a problem hiding this comment.
Интересно, что смотивировало тебя не использовать AsNoTracking() в первом случае, но использовать во втором?
| /// <summary> | ||
| /// Контроллер для работы с книгами | ||
| /// </summary> |
There was a problem hiding this comment.
Здесь и далее по коду - в саммари служб отсутствует описание параметров
| <ItemGroup> | ||
| <ProjectReference Include="..\Library.Domain\Library.Domain.csproj" /> | ||
| </ItemGroup> | ||
|
|
||
| <ItemGroup> | ||
| <Using Include="Xunit" /> | ||
| </ItemGroup> |
There was a problem hiding this comment.
Очень интересно - порядок директив изменился относительно #280
| /// <summary> | ||
| /// Набор unit тестов для тестирования доменной области | ||
| /// </summary> | ||
| public class LibraryTests(DataSeeder dataSeeder) : IClassFixture<DataSeeder> |
There was a problem hiding this comment.
Радует, что появилось использование IClassFixture, о котором я забыл упомянуть в ревью 1 лабораторной
| # Visual Studio Version 17 | ||
| VisualStudioVersion = 17.14.36705.20 | ||
| MinimumVisualStudioVersion = 10.0.40219.1 | ||
| Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Library.Domain", "Library.Domain\Library.Domain.csproj", "{179BC2B9-1601-4FD6-9331-690CA8B4BAF1}" |
There was a problem hiding this comment.
Также, меня очень интересует то, что с момента открытия #280 изменилась версия студии, а также гуиды всех ранее существовавших проектов - как будто все решение было пересобрано на другой машине.
Почему я не верю в то, что ты просто обновил версию студии после первого pr? Потому что версия 17.14.36705.20 релизнулась 11 ноября 2025 года, а актуальная версия - 17.14.37012.4
А вот нашелся и источник - #197 - этот pr содержит полную копию кода, вплоть до билд версии вижуал студии и гуидов проектов
ФИО: Яковлев Радик
Номер группы: 6412
Номер лабораторной: 2, 3
Номер варианта: 55
Краткое описание предметной области: Библиотека
Краткое описание добавленных фич: Реализован слой доступа к данным через EF Core, добавлены репозитории для всех сущностей, разработан сервисный слой с валидацией бизнес-логики, DTO и AutoMapper, а также добавлен REST API контроллеров, обеспечивающих полный набор CRUD-операций и специальный аналитический контроллер.