/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/csharp/lab-211-005/main.cs
40 строк
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
public class LoanService { private readonly LibraryContext _context; public LoanService(LibraryContext context) { _context = context; } public async Task<Result> IssueBookAsync(int bookId, int readerId) { var activeLoan = await _context.Loans .FirstOrDefaultAsync(l => l.BookId == bookId && !l.IsReturned); if (activeLoan != null) return Result.Failure("Книга уже выдана"); var loan = new Loan { BookId = bookId, ReaderId = readerId, IssueDate = DateTime.UtcNow }; _context.Loans.Add(loan); await _context.SaveChangesAsync(); return Result.Success(); } public async Task<Result> ReturnBookAsync(int loanId) { var loan = await _context.Loans.FindAsync(loanId); if (loan == null || loan.IsReturned) return Result.Failure("Неверный ID выдачи или книга уже возвращена"); loan.ReturnDate = DateTime.UtcNow; await _context.SaveChangesAsync(); return Result.Success(); } }