TF-1190 Handle SetError when update email as drafts

This commit is contained in:
dab246
2023-02-03 12:26:01 +07:00
committed by Dat Vu
parent e56e8fde27
commit 33bf4002e8
7 changed files with 50 additions and 27 deletions
@@ -280,7 +280,9 @@ class MailboxDashBoardController extends ReloadableController {
_handleSendEmailFailure(failure);
} else if (failure is SaveEmailAsDraftsFailure) {
_handleSaveEmailAsDraftsFailure(failure);
} else if (failure is RemoveEmailDraftsFailure || failure is UpdateEmailDraftsFailure) {
} else if (failure is UpdateEmailDraftsFailure) {
_handleUpdateEmailAsDraftsFailure(failure);
} else if (failure is RemoveEmailDraftsFailure) {
clearState();
} else if (failure is MarkAsMailboxReadAllFailure ||
failure is MarkAsMailboxReadFailure) {
@@ -1610,6 +1612,27 @@ class MailboxDashBoardController extends ReloadableController {
clearState();
}
void _handleUpdateEmailAsDraftsFailure(UpdateEmailDraftsFailure failure) {
logError('MailboxDashBoardController::_handleUpdateEmailAsDraftsFailure():failure: $failure');
if (currentContext == null) {
clearState();
return;
}
final exception = failure.exception;
logError('MailboxDashBoardController::_handleUpdateEmailAsDraftsFailure():exception: $exception');
if (exception is SetEmailMethodException) {
final listErrors = exception.mapErrors.values.toList();
final toastSuccess = _handleSetErrors(listErrors);
if (!toastSuccess) {
_showToastSendMessageFailure(AppLocalizations.of(currentContext!).saveEmailAsDraftFailure);
}
} else {
_showToastSendMessageFailure(AppLocalizations.of(currentContext!).saveEmailAsDraftFailure);
}
clearState();
}
@override
void onClose() {