Skip to content

Commit 0ed6b51

Browse files
Merge pull request #43 from DilmurodDeveloper/users/DilmurodDeveloper/exposers-book-delete
EXPOSERS: Delete Book
2 parents eb97454 + 4801378 commit 0ed6b51

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

LibraryManagement.Api/Controllers/BooksController.cs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,5 +135,43 @@ public async ValueTask<ActionResult<Book>> PutBookAsync(Book book)
135135
return InternalServerError(bookServiceException.InnerException);
136136
}
137137
}
138+
139+
[HttpDelete]
140+
public async ValueTask<ActionResult<Book>> DeleteBookAsync(Guid bookId)
141+
{
142+
try
143+
{
144+
Book deleteBook =
145+
await this.bookService.RemoveBookByIdAsync(bookId);
146+
147+
return Ok(deleteBook);
148+
}
149+
catch (BookValidationException bookValidationException)
150+
when (bookValidationException.InnerException is NotFoundBookException)
151+
{
152+
return NotFound(bookValidationException.InnerException);
153+
}
154+
catch (BookValidationException bookValidationException)
155+
{
156+
return BadRequest(bookValidationException.InnerException);
157+
}
158+
catch (BookDependencyValidationException bookDependencyValidationException)
159+
when (bookDependencyValidationException.InnerException is LockedBookException)
160+
{
161+
return Locked(bookDependencyValidationException.InnerException);
162+
}
163+
catch (BookDependencyValidationException bookDependencyValidationException)
164+
{
165+
return BadRequest(bookDependencyValidationException.InnerException);
166+
}
167+
catch (BookDependencyException bookDependencyException)
168+
{
169+
return InternalServerError(bookDependencyException.InnerException);
170+
}
171+
catch (BookServiceException bookServiceException)
172+
{
173+
return InternalServerError(bookServiceException.InnerException);
174+
}
175+
}
138176
}
139177
}

0 commit comments

Comments
 (0)