|
6 | 6 | using LibraryManagement.Api.Brokers.Loggings; |
7 | 7 | using LibraryManagement.Api.Brokers.Storages; |
8 | 8 | using LibraryManagement.Api.Models.Foundations.Readers; |
9 | | -using LibraryManagement.Api.Models.Foundations.Readers.Exceptions; |
10 | | -using Microsoft.Data.SqlClient; |
11 | | -using Microsoft.EntityFrameworkCore; |
12 | 9 |
|
13 | 10 | namespace LibraryManagement.Api.Services.Foundations.Readers |
14 | 11 | { |
@@ -62,73 +59,17 @@ public ValueTask<Reader> ModifyReaderAsync(Reader reader) => |
62 | 59 | return await this.storageBroker.UpdateReaderAsync(reader); |
63 | 60 | }); |
64 | 61 |
|
65 | | - public async ValueTask<Reader> RemoveReaderByIdAsync(Guid readerId) |
| 62 | + public ValueTask<Reader> RemoveReaderByIdAsync(Guid readerId) => |
| 63 | + TryCatch(async () => |
66 | 64 | { |
67 | | - try |
68 | | - { |
69 | | - ValidateReaderId(readerId); |
70 | | - |
71 | | - Reader maybeReader = |
72 | | - await this.storageBroker.SelectReaderByIdAsync(readerId); |
73 | | - |
74 | | - ValidateStorageReader(maybeReader, readerId); |
75 | | - |
76 | | - return await this.storageBroker.DeleteReaderAsync(maybeReader); |
77 | | - } |
78 | | - catch (InvalidReaderException invalidReaderException) |
79 | | - { |
80 | | - var readerValidationException = |
81 | | - new ReaderValidationException(invalidReaderException); |
82 | | - |
83 | | - this.loggingBroker.LogError(readerValidationException); |
84 | | - |
85 | | - throw readerValidationException; |
86 | | - } |
87 | | - catch (NotFoundReaderException notFoundReaderException) |
88 | | - { |
89 | | - var readerValidationException = |
90 | | - new ReaderValidationException(notFoundReaderException); |
91 | | - |
92 | | - this.loggingBroker.LogError(readerValidationException); |
93 | | - |
94 | | - throw readerValidationException; |
95 | | - } |
96 | | - catch (DbUpdateConcurrencyException dbUpdateConcurrencyException) |
97 | | - { |
98 | | - var lockedReaderException = |
99 | | - new LockedReaderException(dbUpdateConcurrencyException); |
100 | | - |
101 | | - var readerDependencyValidationException = |
102 | | - new ReaderDependencyValidationException(lockedReaderException); |
103 | | - |
104 | | - this.loggingBroker.LogError(readerDependencyValidationException); |
105 | | - |
106 | | - throw readerDependencyValidationException; |
107 | | - } |
108 | | - catch (SqlException sqlException) |
109 | | - { |
110 | | - var failedReaderStorageException = |
111 | | - new FailedReaderStorageException(sqlException); |
112 | | - |
113 | | - var readerDependencyException = |
114 | | - new ReaderDependencyException(failedReaderStorageException); |
115 | | - |
116 | | - this.loggingBroker.LogCritical(readerDependencyException); |
117 | | - |
118 | | - throw readerDependencyException; |
119 | | - } |
120 | | - catch (Exception exception) |
121 | | - { |
122 | | - var failedReaderServiceException = |
123 | | - new FailedReaderServiceException(exception); |
| 65 | + ValidateReaderId(readerId); |
124 | 66 |
|
125 | | - var readerServiceException = |
126 | | - new ReaderServiceException(failedReaderServiceException); |
| 67 | + Reader maybeReader = |
| 68 | + await this.storageBroker.SelectReaderByIdAsync(readerId); |
127 | 69 |
|
128 | | - this.loggingBroker.LogError(readerServiceException); |
| 70 | + ValidateStorageReader(maybeReader, readerId); |
129 | 71 |
|
130 | | - throw readerServiceException; |
131 | | - } |
132 | | - } |
| 72 | + return await this.storageBroker.DeleteReaderAsync(maybeReader); |
| 73 | + }); |
133 | 74 | } |
134 | 75 | } |
0 commit comments