aman-satu-flutter/lib/core/redux/actions/setting_actions.dart

68 lines
2.3 KiB
Dart

import 'dart:convert';
import 'package:intl/intl.dart';
import 'package:logger/logger.dart';
import 'package:meta/meta.dart';
import 'package:redux/redux.dart';
import 'package:redux_thunk/redux_thunk.dart';
import 'package:satu/core/entity/category_entity.dart';
import 'package:satu/core/entity/goods_entity.dart';
import 'package:satu/core/entity/transaction_entity.dart';
import 'package:satu/core/entity/transaction_rec_entity.dart';
import 'package:satu/core/models/entity_data/transaction_data.dart';
import 'package:satu/core/models/flow/dao/product_dao.dart';
import 'package:satu/core/models/flow/dao/transaction_dao.dart';
import 'package:satu/core/models/flow/transaction_state.dart';
import 'package:satu/core/models/settings/printer_setting.dart';
import 'package:satu/core/redux/state/journal_state.dart';
import 'package:satu/core/redux/state/sell_state.dart';
import 'package:satu/core/redux/state/setting_state.dart';
import 'package:satu/core/services/db_service.dart';
import 'package:satu/core/utils/locator.dart';
import 'package:satu/core/utils/logger.dart';
import 'package:uuid/uuid.dart';
import '../store.dart';
@immutable
class SetSettingStateAction {
const SetSettingStateAction(this.settingState);
final SettingState settingState;
}
final Logger log = getLogger('SetSettingStateAction');
ThunkAction<AppState> selectBluetoothDevice(PrinterDevice device) {
return (Store<AppState> store) async {
final PrinterSetting? setting = store.state.settingState?.printer;
if(setting != null) {
setting.device = device;
store.dispatch(SetSettingStateAction(SettingState(printer: setting)));
log.i('device with name ${device.name} added');
}
};
}
ThunkAction<AppState> setPaperSize(String size) {
return (Store<AppState> store) async {
final PrinterSetting? setting = store.state.settingState?.printer;
if(setting != null) {
setting.paperSize = size;
store.dispatch(SetSettingStateAction(SettingState(printer: setting)));
}
};
}
ThunkAction<AppState> setEncodingPrint(String encoding) {
return (Store<AppState> store) async {
final PrinterSetting? setting = store.state.settingState?.printer;
if(setting != null) {
setting.encoding = encoding;
store.dispatch(SetSettingStateAction(SettingState(printer: setting)));
}
};
}