1111
This commit is contained in:
59
lib/domain/models/advance_request_model.dart
Normal file
59
lib/domain/models/advance_request_model.dart
Normal file
@@ -0,0 +1,59 @@
|
||||
class AdvanceRequestModel {
|
||||
final String employeeId;
|
||||
final DateTime date;
|
||||
final double amount;
|
||||
final String reason;
|
||||
|
||||
AdvanceRequestModel({
|
||||
required this.employeeId,
|
||||
required this.date,
|
||||
required this.amount,
|
||||
required this.reason,
|
||||
});
|
||||
}
|
||||
|
||||
class AdvanceResponseModel {
|
||||
final int statusCode;
|
||||
final bool isSuccess;
|
||||
final String? message;
|
||||
final AdvanceDataModel? data;
|
||||
|
||||
AdvanceResponseModel({
|
||||
required this.statusCode,
|
||||
required this.isSuccess,
|
||||
this.message,
|
||||
this.data,
|
||||
});
|
||||
}
|
||||
|
||||
class AdvanceDataModel {
|
||||
final String employeeId;
|
||||
final String? employeeFullName;
|
||||
final DateTime date;
|
||||
final double amount;
|
||||
final String? submittedBy;
|
||||
final String? submittedByUser;
|
||||
final String reason;
|
||||
final int state;
|
||||
final String id;
|
||||
final DateTime? createdAt;
|
||||
final DateTime? updatedAt;
|
||||
final DateTime? deletedAt;
|
||||
final bool? isDeleted;
|
||||
|
||||
AdvanceDataModel({
|
||||
required this.employeeId,
|
||||
this.employeeFullName,
|
||||
required this.date,
|
||||
required this.amount,
|
||||
this.submittedBy,
|
||||
this.submittedByUser,
|
||||
required this.reason,
|
||||
required this.state,
|
||||
required this.id,
|
||||
this.createdAt,
|
||||
this.updatedAt,
|
||||
this.deletedAt,
|
||||
this.isDeleted,
|
||||
});
|
||||
}
|
||||
31
lib/domain/models/advances_list_response_model.dart
Normal file
31
lib/domain/models/advances_list_response_model.dart
Normal file
@@ -0,0 +1,31 @@
|
||||
import 'advance_request_model.dart';
|
||||
|
||||
class AdvancesListResponseModel {
|
||||
final int statusCode;
|
||||
final bool isSuccess;
|
||||
final String? message;
|
||||
final AdvancesListDataModel? data;
|
||||
|
||||
AdvancesListResponseModel({
|
||||
required this.statusCode,
|
||||
required this.isSuccess,
|
||||
this.message,
|
||||
this.data,
|
||||
});
|
||||
}
|
||||
|
||||
class AdvancesListDataModel {
|
||||
final List<AdvanceDataModel> items;
|
||||
final int pageNumber;
|
||||
final int pageSize;
|
||||
final int totalCount;
|
||||
final int totalPages;
|
||||
|
||||
AdvancesListDataModel({
|
||||
required this.items,
|
||||
required this.pageNumber,
|
||||
required this.pageSize,
|
||||
required this.totalCount,
|
||||
required this.totalPages,
|
||||
});
|
||||
}
|
||||
31
lib/domain/models/vacations_list_response_model.dart
Normal file
31
lib/domain/models/vacations_list_response_model.dart
Normal file
@@ -0,0 +1,31 @@
|
||||
import 'vacation_response_model.dart';
|
||||
|
||||
class VacationsListResponseModel {
|
||||
final int statusCode;
|
||||
final bool isSuccess;
|
||||
final String? message;
|
||||
final VacationsListDataModel? data;
|
||||
|
||||
VacationsListResponseModel({
|
||||
required this.statusCode,
|
||||
required this.isSuccess,
|
||||
this.message,
|
||||
this.data,
|
||||
});
|
||||
}
|
||||
|
||||
class VacationsListDataModel {
|
||||
final List<VacationDataModel> items;
|
||||
final int pageNumber;
|
||||
final int pageSize;
|
||||
final int totalCount;
|
||||
final int totalPages;
|
||||
|
||||
VacationsListDataModel({
|
||||
required this.items,
|
||||
required this.pageNumber,
|
||||
required this.pageSize,
|
||||
required this.totalCount,
|
||||
required this.totalPages,
|
||||
});
|
||||
}
|
||||
11
lib/domain/repositories/advance_repository.dart
Normal file
11
lib/domain/repositories/advance_repository.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import '../../core/error/failures.dart';
|
||||
import '../models/advance_request_model.dart';
|
||||
import '../models/advances_list_response_model.dart';
|
||||
|
||||
abstract class AdvanceRepository {
|
||||
Future<Either<Failure, AdvanceResponseModel>> createAdvance(
|
||||
AdvanceRequestModel request,
|
||||
);
|
||||
Future<Either<Failure, AdvancesListResponseModel>> getAdvances();
|
||||
}
|
||||
@@ -3,10 +3,12 @@ import '../../core/error/failures.dart';
|
||||
import '../models/vacation_request.dart';
|
||||
import '../models/vacation_response_model.dart';
|
||||
import '../models/vacation_type_model.dart';
|
||||
import '../models/vacations_list_response_model.dart';
|
||||
|
||||
abstract class VacationRepository {
|
||||
Future<Either<Failure, VacationResponseModel>> createVacation(
|
||||
VacationRequest request,
|
||||
);
|
||||
Future<Either<Failure, VacationTypesResponseModel>> getVacationTypes();
|
||||
Future<Either<Failure, VacationsListResponseModel>> getVacations();
|
||||
}
|
||||
|
||||
14
lib/domain/usecases/create_advance_usecase.dart
Normal file
14
lib/domain/usecases/create_advance_usecase.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import '../../core/error/failures.dart';
|
||||
import '../models/advance_request_model.dart';
|
||||
import '../repositories/advance_repository.dart';
|
||||
|
||||
class CreateAdvanceUseCase {
|
||||
final AdvanceRepository repository;
|
||||
|
||||
CreateAdvanceUseCase({required this.repository});
|
||||
|
||||
Future<Either<Failure, AdvanceResponseModel>> call(AdvanceRequestModel request) {
|
||||
return repository.createAdvance(request);
|
||||
}
|
||||
}
|
||||
14
lib/domain/usecases/get_advances_usecase.dart
Normal file
14
lib/domain/usecases/get_advances_usecase.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import '../../core/error/failures.dart';
|
||||
import '../models/advances_list_response_model.dart';
|
||||
import '../repositories/advance_repository.dart';
|
||||
|
||||
class GetAdvancesUseCase {
|
||||
final AdvanceRepository repository;
|
||||
|
||||
GetAdvancesUseCase({required this.repository});
|
||||
|
||||
Future<Either<Failure, AdvancesListResponseModel>> call() {
|
||||
return repository.getAdvances();
|
||||
}
|
||||
}
|
||||
14
lib/domain/usecases/get_vacations_usecase.dart
Normal file
14
lib/domain/usecases/get_vacations_usecase.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import '../../core/error/failures.dart';
|
||||
import '../models/vacations_list_response_model.dart';
|
||||
import '../repositories/vacation_repository.dart';
|
||||
|
||||
class GetVacationsUseCase {
|
||||
final VacationRepository repository;
|
||||
|
||||
GetVacationsUseCase({required this.repository});
|
||||
|
||||
Future<Either<Failure, VacationsListResponseModel>> call() {
|
||||
return repository.getVacations();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user