food-market/src/food-market.infrastructure/Persistence
nns 3172b0ea72 feat(losses): списание со склада с указанием причины (P1-2)
Domain Loss+LossLine + enum LossReason (Defect/Expired/Damage/Shortage/Other).
EF, миграция Phase6b_Losses. Контроллер api/inventory/losses: CRUD +
Post/Unpost. Post создаёт StockMovement тип WriteOff с -Quantity; защита
от ухода в минус (409 со списком конфликтов). Unpost возвращает товар.
Web: /inventory/losses (list+edit) с фильтром по причине и колонкой
текущего остатка в строке. Сайдбар: «Списания» (Admin/Storekeeper).

Тесты: 3 интеграционных (post→stock падает, unpost восстанавливает;
списание сверх остатка → 409; tenant-изоляция).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-28 09:24:40 +05:00
..
Configurations feat(losses): списание со склада с указанием причины (P1-2) 2026-05-28 09:24:40 +05:00
Migrations feat(losses): списание со склада с указанием причины (P1-2) 2026-05-28 09:24:40 +05:00
AppDbContext.cs feat(losses): списание со склада с указанием причины (P1-2) 2026-05-28 09:24:40 +05:00
DesignTimeAppDbContextFactory.cs fix(tenancy): SuperAdmin override должен применять tenant filter выбранной орги 2026-04-26 15:55:04 +05:00