Rumahjo-Android-APP/lib/data/cubits/project/manage_project_cubit.dart

42 lines
1.2 KiB
Dart
Raw Normal View History

2024-09-07 00:58:50 +00:00
import 'package:ebroker/data/Repositories/project_repository.dart';
import 'package:ebroker/data/model/project_model.dart';
import '../../../exports/main_export.dart';
abstract class ManageProjectState {}
class ManageProjectIntial extends ManageProjectState {}
class ManageProjectInProgress extends ManageProjectState {}
class ManageProjectInSuccess extends ManageProjectState {
final ProjectModel project;
ManageProjectInSuccess(this.project);
}
class ManageProjectInFail extends ManageProjectState {
final dynamic error;
ManageProjectInFail(this.error);
}
enum ManageProjectType { create, update }
class ManageProjectCubit extends Cubit<ManageProjectState> {
ManageProjectCubit() : super(ManageProjectIntial());
final ProjectRepository _projectRepository = ProjectRepository();
void manage(
{required ManageProjectType type,
required Map<String, dynamic> data}) async {
try {
emit(ManageProjectInProgress());
var reposnse = await _projectRepository.createProject(data);
print("RESP DTA ${reposnse}");
emit(ManageProjectInSuccess(ProjectModel.fromMap(reposnse['data'][0])));
} catch (e, st) {
emit(ManageProjectInFail(
st,
));
}
}
}