Refactor API client for richer error handling
Refactored CatalogApiClient methods to return ApiResult<T> for create, update, and delete operations, enabling more detailed error reporting. Introduced ApiResult<T> and ProblemDetailsDto types, and added logic to parse and display informative error messages. Updated Catalogs.razor to use the new pattern and show user-friendly error feedback. Added necessary using directives.
This commit is contained in:
@@ -151,9 +151,9 @@ else
|
||||
if (isEditing)
|
||||
{
|
||||
var updated = await Api.UpdateAsync(editingId, formModel);
|
||||
if (!updated)
|
||||
if (!updated.Success)
|
||||
{
|
||||
errorMessage = "Aktualisierung fehlgeschlagen.";
|
||||
errorMessage = updated.Error ?? "Aktualisierung fehlgeschlagen.";
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -162,9 +162,9 @@ else
|
||||
else
|
||||
{
|
||||
var created = await Api.CreateAsync(formModel);
|
||||
if (created == null)
|
||||
if (!created.Success || created.Value == null)
|
||||
{
|
||||
errorMessage = "Anlegen fehlgeschlagen.";
|
||||
errorMessage = created.Error ?? "Anlegen fehlgeschlagen.";
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -195,9 +195,9 @@ else
|
||||
try
|
||||
{
|
||||
var deleted = await Api.DeleteAsync(id);
|
||||
if (!deleted)
|
||||
if (!deleted.Success)
|
||||
{
|
||||
errorMessage = "Löschen fehlgeschlagen.";
|
||||
errorMessage = deleted.Error ?? "Löschen fehlgeschlagen.";
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user