Suppression bloc

release/mobdr-v0.0.1
Frédérik Benoist 2023-03-08 13:39:15 +01:00
parent e04ccf8897
commit 75a5ef2df2
16 changed files with 0 additions and 441 deletions

View File

@ -1,28 +0,0 @@
import 'package:bloc/bloc.dart';
import 'package:mobdr/model/integration/login_model.dart';
import 'package:mobdr/network/api_provider.dart';
import 'package:meta/meta.dart';
part 'login_event.dart';
part 'login_state.dart';
class LoginBloc extends Bloc<LoginEvent, LoginState> {
LoginBloc() : super(LoginInitial()) {
on<Login>(_login);
}
}
void _login(Login event, Emitter<LoginState> emit) async {
ApiProvider _apiProvider = ApiProvider();
emit(LoginWaiting());
try {
List<LoginModel> data =
await _apiProvider.login2(event.email, event.password, event.apiToken);
emit(LoginSuccess(loginData: data));
} catch (ex) {
if (ex != 'cancel') {
emit(LoginError(errorMessage: ex.toString()));
}
}
}

View File

@ -1,11 +0,0 @@
part of 'login_bloc.dart';
@immutable
abstract class LoginEvent {}
class Login extends LoginEvent {
final String email;
final String password;
final apiToken;
Login({required this.email, required this.password, required this.apiToken});
}

View File

@ -1,23 +0,0 @@
part of 'login_bloc.dart';
@immutable
abstract class LoginState {}
class LoginInitial extends LoginState {}
class InitialLoginState extends LoginState {}
class LoginError extends LoginState {
final String errorMessage;
LoginError({
required this.errorMessage,
});
}
class LoginWaiting extends LoginState {}
class LoginSuccess extends LoginState {
final List<LoginModel> loginData;
LoginSuccess({required this.loginData});
}

View File

@ -1,3 +0,0 @@
export 'product_grid_bloc.dart';
export 'product_grid_event.dart';
export 'product_grid_state.dart';

View File

@ -1,26 +0,0 @@
import 'package:bloc/bloc.dart';
import 'package:mobdr/model/integration/product_grid_model.dart';
import 'package:mobdr/network/api_provider.dart';
import './bloc.dart';
class ProductGridBloc extends Bloc<ProductGridEvent, ProductGridState> {
ProductGridBloc() : super(InitialProductGridState()) {
on<GetProductGrid>(_getProductGrid);
}
}
void _getProductGrid(
GetProductGrid event, Emitter<ProductGridState> emit) async {
ApiProvider _apiProvider = ApiProvider();
emit(ProductGridWaiting());
try {
List<ProductGridModel> data = await _apiProvider.getProductGrid(
event.sessionId, event.skip, event.limit, event.apiToken);
emit(GetProductGridSuccess(productGridData: data));
} catch (ex) {
if (ex != 'cancel') {
emit(ProductGridError(errorMessage: ex.toString()));
}
}
}

View File

@ -1,10 +0,0 @@
import 'package:meta/meta.dart';
@immutable
abstract class ProductGridEvent {}
class GetProductGrid extends ProductGridEvent {
final String sessionId, skip, limit;
final apiToken;
GetProductGrid({required this.sessionId, required this.skip, required this.limit, @required this.apiToken});
}

View File

@ -1,22 +0,0 @@
import 'package:mobdr/model/integration/product_grid_model.dart';
import 'package:meta/meta.dart';
@immutable
abstract class ProductGridState {}
class InitialProductGridState extends ProductGridState {}
class ProductGridError extends ProductGridState {
final String errorMessage;
ProductGridError({
required this.errorMessage,
});
}
class ProductGridWaiting extends ProductGridState {}
class GetProductGridSuccess extends ProductGridState {
final List<ProductGridModel> productGridData;
GetProductGridSuccess({required this.productGridData});
}

View File

@ -1,3 +0,0 @@
export 'product_listview_bloc.dart';
export 'product_listview_event.dart';
export 'product_listview_state.dart';

View File

@ -1,27 +0,0 @@
import 'package:bloc/bloc.dart';
import 'package:mobdr/model/integration/product_listview_model.dart';
import 'package:mobdr/network/api_provider.dart';
import './bloc.dart';
class ProductListviewBloc
extends Bloc<ProductListviewEvent, ProductListviewState> {
ProductListviewBloc() : super(InitialProductListviewState()) {
on<GetProductListview>(_getProductListview);
}
}
void _getProductListview(
GetProductListview event, Emitter<ProductListviewState> emit) async {
ApiProvider _apiProvider = ApiProvider();
emit(ProductListviewWaiting());
try {
List<ProductListviewModel> data = await _apiProvider.getProductListview(
event.sessionId, event.skip, event.limit, event.apiToken);
emit(GetProductListviewSuccess(productListviewData: data));
} catch (ex) {
if (ex != 'cancel') {
emit(ProductListviewError(errorMessage: ex.toString()));
}
}
}

View File

@ -1,10 +0,0 @@
import 'package:meta/meta.dart';
@immutable
abstract class ProductListviewEvent {}
class GetProductListview extends ProductListviewEvent {
final String sessionId, skip, limit;
final apiToken;
GetProductListview({required this.sessionId, required this.skip, required this.limit, required this.apiToken});
}

View File

@ -1,22 +0,0 @@
import 'package:mobdr/model/integration/product_listview_model.dart';
import 'package:meta/meta.dart';
@immutable
abstract class ProductListviewState {}
class InitialProductListviewState extends ProductListviewState {}
class ProductListviewError extends ProductListviewState {
final String errorMessage;
ProductListviewError({
required this.errorMessage,
});
}
class ProductListviewWaiting extends ProductListviewState {}
class GetProductListviewSuccess extends ProductListviewState {
final List<ProductListviewModel> productListviewData;
GetProductListviewSuccess({required this.productListviewData});
}

View File

@ -1,3 +0,0 @@
export 'student_bloc.dart';
export 'student_event.dart';
export 'student_state.dart';

View File

@ -1,121 +0,0 @@
import 'package:bloc/bloc.dart';
import 'package:mobdr/model/integration/student_model.dart';
import 'package:mobdr/network/api_provider.dart';
import './bloc.dart';
class StudentBloc extends Bloc<StudentEvent, StudentState> {
StudentBloc() : super(InitialStudentState()) {
on<GetStudent>(_getStudent);
on<AddStudent>(_addStudent);
on<EditStudent>(_editStudent);
on<DeleteStudent>(_deleteStudent);
}
}
void _getStudent(GetStudent event, Emitter<StudentState> emit) async {
ApiProvider _apiProvider = ApiProvider();
emit(GetStudentWaiting());
try {
List<StudentModel> data =
await _apiProvider.getStudent(event.sessionId, event.apiToken);
emit(GetStudentSuccess(studentData: data));
} catch (ex) {
if (ex != 'cancel') {
emit(GetStudentError(errorMessage: ex.toString()));
}
}
}
void _addStudent(AddStudent event, Emitter<StudentState> emit) async {
ApiProvider _apiProvider = ApiProvider();
String errorMessage = '';
if (event.studentName == '') {
errorMessage = 'Student name cannot be empty';
} else if (event.studentPhoneNumber == '') {
errorMessage = 'Student phone number can not be empty';
} else if (event.studentGender == '') {
errorMessage = 'Student gender can not be empty';
} else if (event.studentAddress == '') {
errorMessage = 'Student address can not be empty';
}
if (errorMessage == '') {
emit(AddStudentWaiting());
try {
List data = await _apiProvider.addStudent(
event.sessionId,
event.studentName,
event.studentPhoneNumber,
event.studentGender,
event.studentAddress,
event.apiToken);
emit(AddStudentSuccess(
msg: data[0],
studentId: data[1],
studentName: event.studentName,
studentPhoneNumber: event.studentPhoneNumber,
studentGender: event.studentGender,
studentAddress: event.studentAddress));
} catch (ex) {
emit(AddStudentError(errorMessage: ex.toString()));
}
} else {
emit(StudentErrorValidation(errorMessage: errorMessage));
}
}
void _editStudent(EditStudent event, Emitter<StudentState> emit) async {
ApiProvider _apiProvider = ApiProvider();
String errorMessage = '';
if (event.studentName == '') {
errorMessage = 'Student name cannot be empty';
} else if (event.studentPhoneNumber == '') {
errorMessage = 'Student phone number can not be empty';
} else if (event.studentGender == '') {
errorMessage = 'Student gender can not be empty';
} else if (event.studentAddress == '') {
errorMessage = 'Student address can not be empty';
}
if (errorMessage == '') {
emit(EditStudentWaiting());
try {
String message = await _apiProvider.editStudent(
event.sessionId,
event.studentId,
event.studentName,
event.studentPhoneNumber,
event.studentGender,
event.studentAddress,
event.apiToken);
emit(EditStudentSuccess(
msg: message,
index: event.index,
studentId: event.studentId,
studentName: event.studentName,
studentPhoneNumber: event.studentPhoneNumber,
studentGender: event.studentGender,
studentAddress: event.studentAddress));
} catch (ex) {
emit(EditStudentError(errorMessage: ex.toString()));
}
} else {
emit(StudentErrorValidation(errorMessage: errorMessage));
}
}
void _deleteStudent(DeleteStudent event, Emitter<StudentState> emit) async {
ApiProvider _apiProvider = ApiProvider();
emit(DeleteStudentWaiting());
try {
String msg = await _apiProvider.deleteStudent(
event.sessionId, event.studentId, event.apiToken);
emit(DeleteStudentSuccess(msg: msg, index: event.index));
} catch (ex) {
emit(DeleteStudentError(errorMessage: ex.toString()));
}
}

View File

@ -1,32 +0,0 @@
import 'package:meta/meta.dart';
@immutable
abstract class StudentEvent {}
class GetStudent extends StudentEvent {
final String sessionId;
final apiToken;
GetStudent({required this.sessionId, required this.apiToken});
}
class AddStudent extends StudentEvent {
final String sessionId;
final String studentName, studentPhoneNumber, studentGender, studentAddress;
final apiToken;
AddStudent({required this.sessionId, required this.studentName, required this.studentPhoneNumber, required this.studentGender, required this.studentAddress, required this.apiToken});
}
class EditStudent extends StudentEvent {
final String sessionId;
final int studentId, index;
final String studentName, studentPhoneNumber, studentGender, studentAddress;
final apiToken;
EditStudent({required this.sessionId, required this.index, required this.studentId, required this.studentName, required this.studentPhoneNumber, required this.studentGender, required this.studentAddress, required this.apiToken});
}
class DeleteStudent extends StudentEvent {
final String sessionId;
final int studentId, index;
final apiToken;
DeleteStudent({required this.sessionId, required this.studentId, required this.index, required this.apiToken});
}

View File

@ -1,99 +0,0 @@
import 'package:mobdr/model/integration/student_model.dart';
import 'package:meta/meta.dart';
@immutable
abstract class StudentState {}
class InitialStudentState extends StudentState {}
// get student state
class GetStudentWaiting extends StudentState {}
class GetStudentError extends StudentState {
final String errorMessage;
GetStudentError({
required this.errorMessage,
});
}
class GetStudentSuccess extends StudentState {
final List<StudentModel> studentData;
GetStudentSuccess({required this.studentData});
}
// general
class StudentErrorValidation extends StudentState {
final String errorMessage;
StudentErrorValidation({
required this.errorMessage,
});
}
// add student state
class AddStudentWaiting extends StudentState {}
class AddStudentError extends StudentState {
final String errorMessage;
AddStudentError({
required this.errorMessage,
});
}
class AddStudentSuccess extends StudentState {
final int studentId;
final String msg,
studentName,
studentPhoneNumber,
studentGender,
studentAddress;
AddStudentSuccess(
{required this.msg,
required this.studentId,
required this.studentName,
required this.studentPhoneNumber,
required this.studentGender,
required this.studentAddress});
}
// edit student state
class EditStudentWaiting extends StudentState {}
class EditStudentError extends StudentState {
final String errorMessage;
EditStudentError({
required this.errorMessage,
});
}
class EditStudentSuccess extends StudentState {
final int studentId, index;
final String msg,
studentName,
studentPhoneNumber,
studentGender,
studentAddress;
EditStudentSuccess(
{required this.msg,
required this.index,
required this.studentId,
required this.studentName,
required this.studentPhoneNumber,
required this.studentGender,
required this.studentAddress});
}
// delete student state
class DeleteStudentWaiting extends StudentState {}
class DeleteStudentError extends StudentState {
final String errorMessage;
DeleteStudentError({
required this.errorMessage,
});
}
class DeleteStudentSuccess extends StudentState {
final String msg;
final int index;
DeleteStudentSuccess({required this.msg, required this.index});
}

View File

@ -17,7 +17,6 @@ import 'package:mobdr/ui/reusable/cache_image_network.dart';
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:mobdr/service/local_storage.dart';
import 'package:mobdr/model/login.dart';
class TabHomePage extends StatefulWidget {
@override