Skip to content

Instantly share code, notes, and snippets.

@guilhermecarvalhocarneiro
Created December 16, 2020 20:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save guilhermecarvalhocarneiro/641f4b491c604ec65b673af9fd19c866 to your computer and use it in GitHub Desktop.
Save guilhermecarvalhocarneiro/641f4b491c604ec65b673af9fd19c866 to your computer and use it in GitHub Desktop.
class PessoaCubit extends Cubit<PessoaState> {
PessoaService _service;
List<PessoaModel> pessoaList;
List<PessoaModel> pessoaDestaqueList;
PessoaCubit() : super(PessoaInitial()) {
_service = PessoaService();
}
Future<void> fetch() async {
try {
emit(PessoaProcessState());
... // Busco os dados no servidor (APIRest)
emit(
PessoaSuccessState(
successMessage: "Dados carregados com sucesso.",
pessoaList: pessoaList,
),
);
} catch (e) {
emit(PessoaErrorState(e.toString()));
}
}
Future<void> fetchPessoaDestaque() async {
try {
emit(PessoaProcessState());
... // Busco os dados no servidor (APIRest)
emit(
PessoaSuccessState(
successMessage: "Dados carregados com sucesso.",
pessoaDestaqueList: pessoaDestaqueList,
),
);
} catch (e) {
emit(PessoaErrorState(e.toString()));
}
}
}
///
///
/// Classe State de Pessoa
///
///
part of 'cubit.dart';
abstract class PessoaState extends Equatable {
const PessoaState();
}
class PessoaInitial extends PessoaState {
@override
List<Object> get props => [];
}
class PessoaProcessState extends PessoaState {
@override
List<Object> get props => [];
}
class PessoaSuccessState extends PessoaState {
final String successMessage;
final PessoaModel pessoaModel;
final List<PessoaModel> pessoaList;
final List<PessoaModel> pessoaDestaqueList;
PessoaSuccessState({
this.successMessage,
this.pessoaModel,
this.pessoaList,
this.pessoaDestaqueList,
});
@override
List<Object> get props => [];
}
class PessoaErrorState extends PessoaState {
final String error;
PessoaErrorState(this.error);
@override
List<Object> get props => [error];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment