Transactions

This commit is contained in:
Hillel Coren 2022-09-21 12:31:38 +03:00
parent 5d422fea59
commit 8d4d2e768e
3 changed files with 81 additions and 0 deletions

View File

@ -194,6 +194,73 @@ class RestoreTransactionsFailure implements StopSaving {
final List<TransactionEntity> transactions;
}
class ConvertTransactionToPaymentRequest implements StartSaving {
ConvertTransactionToPaymentRequest(
this.completer,
this.transactionId,
this.invoiceIds,
);
final Completer completer;
final String transactionId;
final List<String> invoiceIds;
}
class ConvertTransactionToPaymentSuccess implements StopSaving, PersistData {
ConvertTransactionToPaymentSuccess(this.transaction);
final TransactionEntity transaction;
}
class ConvertTransactionToPaymentFailure implements StopSaving {
ConvertTransactionToPaymentFailure(this.transaction);
final TransactionEntity transaction;
}
class ConvertTransactionToExpenseRequest implements StartSaving {
ConvertTransactionToExpenseRequest(
this.completer,
this.transactionId,
this.invoiceIds,
);
final Completer completer;
final String transactionId;
final List<String> invoiceIds;
}
class ConvertTransactionToExpenseSuccess implements StopSaving, PersistData {
ConvertTransactionToExpenseSuccess(this.transaction);
final TransactionEntity transaction;
}
class ConvertTransactionToExpenseFailure implements StopSaving {
ConvertTransactionToExpenseFailure(this.transaction);
final TransactionEntity transaction;
}
class ConvertTransactionsRequest implements StartSaving {
ConvertTransactionsRequest(this.completer, this.transactionIds);
final Completer completer;
final List<String> transactionIds;
}
class ConvertTransactionsSuccess implements StopSaving, PersistData {
ConvertTransactionsSuccess(this.transactions);
final List<TransactionEntity> transactions;
}
class ConvertTransactionsFailure implements StopSaving {
ConvertTransactionsFailure(this.transactions);
final List<TransactionEntity> transactions;
}
class FilterTransactions implements PersistUI {
FilterTransactions(this.filter);

View File

@ -44,6 +44,7 @@ class TransactionViewVM {
@required this.isSaving,
@required this.isLoading,
@required this.isDirty,
@required this.onConvertToPayment,
});
factory TransactionViewVM.fromStore(Store<AppState> store) {
@ -70,6 +71,13 @@ class TransactionViewVM {
onRefreshed: (context) => _handleRefresh(context),
onEntityAction: (BuildContext context, EntityAction action) =>
handleEntitiesActions([transaction], action, autoPop: true),
onConvertToPayment: (context, transactionId, invoiceIds) {
store.dispatch(ConvertTransactionToPaymentRequest(
snackBarCompleter<Null>(
context, AppLocalization.of(context).convertedTransaction),
transactionId,
invoiceIds));
},
);
}
@ -78,6 +86,7 @@ class TransactionViewVM {
final CompanyEntity company;
final Function(BuildContext, EntityAction) onEntityAction;
final Function(BuildContext) onRefreshed;
final Function(BuildContext, String, List<String>) onConvertToPayment;
final bool isSaving;
final bool isLoading;
final bool isDirty;

View File

@ -16,6 +16,7 @@ mixin LocalizationsProvider on LocaleCodeAware {
static final Map<String, Map<String, String>> _localizedValues = {
'en': {
// STARTER: lang key - do not remove comment
'converted_transaction': 'Successfully converted transaction',
'convert_to_payment': 'Convert to Payment',
'deposit': 'Deposit',
'withdrawal': 'Withdrawal',
@ -87337,6 +87338,10 @@ mixin LocalizationsProvider on LocaleCodeAware {
_localizedValues[localeCode]['convert_to_payment'] ??
_localizedValues['en']['convert_to_payment'];
String get convertedTransaction =>
_localizedValues[localeCode]['converted_transaction'] ??
_localizedValues['en']['converted_transaction'];
// STARTER: lang field - do not remove comment
String lookup(String key) {