aman-kassa-flutter/lib/redux/state/setting_state.dart

65 lines
1.5 KiB
Dart

import 'package:aman_kassa_flutter/redux/constants/setting_const.dart';
import 'package:meta/meta.dart';
@immutable
class SettingState {
final String mode;
final String tradeType;
final String pinCode;
final bool pinLocked;
final bool pinSkip;
SettingState({this.mode, this.tradeType, this.pinCode, this.pinLocked, this.pinSkip});
//read hive
factory SettingState.initial(SettingState payload) {
return SettingState(
mode: payload?.mode ?? SettingModeKassa,
tradeType: payload?.tradeType ?? SettingTradeTypeGood,
pinCode: payload.pinCode ?? null,
pinLocked: payload.pinLocked ?? false,
pinSkip: false,
);
}
//write hive
SettingState copyWith({
@required mode,
@required tradeType,
@required pinCode,
@required pinLocked,
@required pinSkip,
}) {
return SettingState(
mode: mode ?? this.mode,
tradeType: tradeType ?? this.tradeType,
pinCode: pinCode ?? this.pinCode,
pinLocked: pinLocked ?? this.pinLocked,
pinSkip: pinSkip ?? this.pinSkip
);
}
static SettingState fromJson(dynamic json) {
return json != null
? SettingState(
tradeType: json['tradeType'],
mode: json['mode'],
pinCode: json['pinCode'],
pinLocked: json['pinLocked'],
pinSkip: json['pinSkip'],
)
: null;
}
dynamic toJson() {
return {
"tradeType": tradeType,
"mode": mode,
"pinCode": pinCode,
"pinLocked" : pinLocked,
"pinSkip" : pinSkip,
};
}
}