Skip to content

Commit d71e9d4

Browse files
CODE RUB: Implement TryCatch
1 parent d67223d commit d71e9d4

File tree

1 file changed

+8
-67
lines changed

1 file changed

+8
-67
lines changed

LibraryManagement.Api/Services/Foundations/Readers/ReaderService.cs

Lines changed: 8 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@
66
using LibraryManagement.Api.Brokers.Loggings;
77
using LibraryManagement.Api.Brokers.Storages;
88
using LibraryManagement.Api.Models.Foundations.Readers;
9-
using LibraryManagement.Api.Models.Foundations.Readers.Exceptions;
10-
using Microsoft.Data.SqlClient;
11-
using Microsoft.EntityFrameworkCore;
129

1310
namespace LibraryManagement.Api.Services.Foundations.Readers
1411
{
@@ -62,73 +59,17 @@ public ValueTask<Reader> ModifyReaderAsync(Reader reader) =>
6259
return await this.storageBroker.UpdateReaderAsync(reader);
6360
});
6461

65-
public async ValueTask<Reader> RemoveReaderByIdAsync(Guid readerId)
62+
public ValueTask<Reader> RemoveReaderByIdAsync(Guid readerId) =>
63+
TryCatch(async () =>
6664
{
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);
12466

125-
var readerServiceException =
126-
new ReaderServiceException(failedReaderServiceException);
67+
Reader maybeReader =
68+
await this.storageBroker.SelectReaderByIdAsync(readerId);
12769

128-
this.loggingBroker.LogError(readerServiceException);
70+
ValidateStorageReader(maybeReader, readerId);
12971

130-
throw readerServiceException;
131-
}
132-
}
72+
return await this.storageBroker.DeleteReaderAsync(maybeReader);
73+
});
13374
}
13475
}

0 commit comments

Comments
 (0)