exchange_lesson_bloc.dart 1.03 KB
import 'package:flutter/cupertino.dart';
import 'package:flutter_bloc/flutter_bloc.dart';

part 'exchange_lesson_event.dart';
part 'exchange_lesson_state.dart';

class ExchangeLessonBloc extends Bloc<ExchangeLessonEvent, ExchangeLessonState> {

  final TextEditingController codeNumberController = TextEditingController();

  bool _checkCode = false;

  bool get checkCode => _checkCode;

  ExchangeLessonBloc() : super(ExchangeLessonInitial()) {
    on<CodeNumberChangeEvent>(_codeNumberChange);
    on<CheckCodeEvent>(_requestCheckCode);
  }

  _codeNumberChange(CodeNumberChangeEvent event,Emitter<ExchangeLessonState> emitter) async {
    if(codeNumberController.text.isNotEmpty) {
      if (!_checkCode) {
        _checkCode = true;
        emitter(CheckCodeTypeChangeState());
      }
    } else {
      if (_checkCode) {
        _checkCode = false;
        emitter(CheckCodeTypeChangeState());
      }
    }
  }

  _requestCheckCode(CheckCodeEvent event, Emitter<ExchangeLessonState> emitter) async {
    emitter(CheckCodeResultState(false));
  }
}