Bulk email

This commit is contained in:
Hillel Coren 2020-08-13 23:11:33 +03:00
parent d70f686131
commit 4d400409dd
3 changed files with 53 additions and 1 deletions

View File

@ -27,6 +27,7 @@ List<Middleware<AppState>> createStoreCreditsMiddleware([
final deleteCredit = _deleteCredit(repository);
final restoreCredit = _restoreCredit(repository);
final emailCredit = _emailCredit(repository);
final bulkEmailCredits = _bulkEmailCredits(repository);
final markSentCredit = _markSentCredit(repository);
final saveDocument = _saveDocument(repository);
@ -42,6 +43,7 @@ List<Middleware<AppState>> createStoreCreditsMiddleware([
TypedMiddleware<AppState, DeleteCreditsRequest>(deleteCredit),
TypedMiddleware<AppState, RestoreCreditsRequest>(restoreCredit),
TypedMiddleware<AppState, EmailCreditRequest>(emailCredit),
TypedMiddleware<AppState, BulkEmailCreditsRequest>(bulkEmailCredits),
TypedMiddleware<AppState, MarkSentCreditRequest>(markSentCredit),
TypedMiddleware<AppState, SaveCreditDocumentRequest>(saveDocument),
];
@ -328,6 +330,30 @@ Middleware<AppState> _loadCredits(CreditRepository repository) {
};
}
Middleware<AppState> _bulkEmailCredits(CreditRepository repository) {
return (Store<AppState> store, dynamic dynamicAction, NextDispatcher next) {
final action = dynamicAction as BulkEmailCreditsRequest;
repository
.bulkAction(store.state.credentials, action.creditIds,
EntityAction.emailCredit)
.then((List<InvoiceEntity> credits) {
store.dispatch(BulkEmailCreditsSuccess(credits));
if (action.completer != null) {
action.completer.complete(null);
}
}).catchError((Object error) {
print(error);
store.dispatch(BulkEmailCreditsFailure(error));
if (action.completer != null) {
action.completer.completeError(error);
}
});
next(action);
};
}
Middleware<AppState> _saveDocument(CreditRepository repository) {
return (Store<AppState> store, dynamic dynamicAction, NextDispatcher next) {
final action = dynamicAction as SaveCreditDocumentRequest;

View File

@ -331,7 +331,7 @@ Middleware<AppState> _bulkEmailInvoices(InvoiceRepository repository) {
repository
.bulkAction(store.state.credentials, action.invoiceIds,
EntityAction.emailInvoice)
EntityAction.emailInvoice)
.then((List<InvoiceEntity> invoices) {
store.dispatch(BulkEmailInvoicesSuccess(invoices));
if (action.completer != null) {

View File

@ -28,6 +28,7 @@ List<Middleware<AppState>> createStoreQuotesMiddleware([
final deleteQuote = _deleteQuote(repository);
final restoreQuote = _restoreQuote(repository);
final emailQuote = _emailQuote(repository);
final bulkEmailQuotes = _bulkEmailQuotes(repository);
final markSentQuote = _markSentQuote(repository);
final saveDocument = _saveDocument(repository);
@ -44,6 +45,7 @@ List<Middleware<AppState>> createStoreQuotesMiddleware([
TypedMiddleware<AppState, DeleteQuotesRequest>(deleteQuote),
TypedMiddleware<AppState, RestoreQuotesRequest>(restoreQuote),
TypedMiddleware<AppState, EmailQuoteRequest>(emailQuote),
TypedMiddleware<AppState, BulkEmailQuotesRequest>(bulkEmailQuotes),
TypedMiddleware<AppState, MarkSentQuotesRequest>(markSentQuote),
TypedMiddleware<AppState, SaveQuoteDocumentRequest>(saveDocument),
];
@ -318,6 +320,30 @@ Middleware<AppState> _loadQuote(QuoteRepository repository) {
};
}
Middleware<AppState> _bulkEmailQuotes(QuoteRepository repository) {
return (Store<AppState> store, dynamic dynamicAction, NextDispatcher next) {
final action = dynamicAction as BulkEmailQuotesRequest;
repository
.bulkAction(
store.state.credentials, action.quoteIds, EntityAction.emailQuote)
.then((List<InvoiceEntity> quotes) {
store.dispatch(BulkEmailQuotesSuccess(quotes));
if (action.completer != null) {
action.completer.complete(null);
}
}).catchError((Object error) {
print(error);
store.dispatch(BulkEmailQuotesFailure(error));
if (action.completer != null) {
action.completer.completeError(error);
}
});
next(action);
};
}
Middleware<AppState> _loadQuotes(QuoteRepository repository) {
return (Store<AppState> store, dynamic dynamicAction, NextDispatcher next) {
final action = dynamicAction as LoadQuotes;