Suppression bloc
parent
e04ccf8897
commit
75a5ef2df2
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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});
|
||||
}
|
||||
|
|
@ -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});
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
export 'product_grid_bloc.dart';
|
||||
export 'product_grid_event.dart';
|
||||
export 'product_grid_state.dart';
|
||||
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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});
|
||||
}
|
||||
|
|
@ -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});
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
export 'product_listview_bloc.dart';
|
||||
export 'product_listview_event.dart';
|
||||
export 'product_listview_state.dart';
|
||||
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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});
|
||||
}
|
||||
|
|
@ -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});
|
||||
}
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
export 'student_bloc.dart';
|
||||
export 'student_event.dart';
|
||||
export 'student_state.dart';
|
||||
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
|
|
@ -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});
|
||||
}
|
||||
|
|
@ -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});
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue