65 lines
1.5 KiB
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,
|
|
};
|
|
}
|
|
}
|