chnages has been made and net salary is being displayed
This commit is contained in:
6
lib/domain/models/change_password_request.dart
Normal file
6
lib/domain/models/change_password_request.dart
Normal file
@@ -0,0 +1,6 @@
|
||||
class ChangePasswordRequest {
|
||||
final String oldPassword;
|
||||
final String newPassword;
|
||||
|
||||
ChangePasswordRequest({required this.oldPassword, required this.newPassword});
|
||||
}
|
||||
13
lib/domain/models/general_response_model.dart
Normal file
13
lib/domain/models/general_response_model.dart
Normal file
@@ -0,0 +1,13 @@
|
||||
class GeneralResponseModel {
|
||||
final int statusCode;
|
||||
final bool isSuccess;
|
||||
final String message;
|
||||
final bool? data;
|
||||
|
||||
GeneralResponseModel({
|
||||
required this.statusCode,
|
||||
required this.isSuccess,
|
||||
required this.message,
|
||||
this.data,
|
||||
});
|
||||
}
|
||||
4
lib/domain/models/salary_model.dart
Normal file
4
lib/domain/models/salary_model.dart
Normal file
@@ -0,0 +1,4 @@
|
||||
class SalaryModel {
|
||||
final double netAmount;
|
||||
SalaryModel({required this.netAmount});
|
||||
}
|
||||
@@ -4,6 +4,7 @@ import '../models/attendance_response_model.dart';
|
||||
import '../models/attendance_model.dart';
|
||||
import '../models/overtime_model.dart';
|
||||
import '../models/extra_payment_model.dart';
|
||||
import '../models/salary_model.dart';
|
||||
|
||||
//in the following polymorphism is being used , a quich recap it is where th esame method but opperate in a different way
|
||||
|
||||
@@ -19,4 +20,9 @@ abstract class AttendanceRepository {
|
||||
Future<List<OvertimeModel>> getExtraHours({required String employeeId});
|
||||
Future<List<ExtraPaymentModel>> getRewards({required String employeeId});
|
||||
Future<List<ExtraPaymentModel>> getPunishments({required String employeeId});
|
||||
Future<SalaryModel> calculateSalary({
|
||||
required String employeeId,
|
||||
required int month,
|
||||
required int year,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -2,7 +2,12 @@ import 'package:dartz/dartz.dart';
|
||||
import '../../core/error/failures.dart';
|
||||
import '../models/login_request.dart';
|
||||
import '../models/login_response_model.dart';
|
||||
import '../models/change_password_request.dart';
|
||||
import '../models/general_response_model.dart';
|
||||
|
||||
abstract class AuthRepository {
|
||||
Future<Either<Failure, LoginResponseModel>> login(LoginRequest request);
|
||||
Future<Either<Failure, GeneralResponseModel>> changePassword(
|
||||
ChangePasswordRequest request,
|
||||
);
|
||||
}
|
||||
|
||||
17
lib/domain/usecases/change_password_usecase.dart
Normal file
17
lib/domain/usecases/change_password_usecase.dart
Normal file
@@ -0,0 +1,17 @@
|
||||
import 'package:dartz/dartz.dart';
|
||||
import '../../core/error/failures.dart';
|
||||
import '../models/change_password_request.dart';
|
||||
import '../models/general_response_model.dart';
|
||||
import '../repositories/auth_repository.dart';
|
||||
|
||||
class ChangePasswordUseCase {
|
||||
final AuthRepository repository;
|
||||
|
||||
ChangePasswordUseCase({required this.repository});
|
||||
|
||||
Future<Either<Failure, GeneralResponseModel>> call(
|
||||
ChangePasswordRequest request,
|
||||
) async {
|
||||
return await repository.changePassword(request);
|
||||
}
|
||||
}
|
||||
20
lib/domain/usecases/get_salary_summary_usecase.dart
Normal file
20
lib/domain/usecases/get_salary_summary_usecase.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
import '../repositories/attendance_repository.dart';
|
||||
import '../models/salary_model.dart';
|
||||
|
||||
class GetSalarySummaryUseCase {
|
||||
final AttendanceRepository repository;
|
||||
|
||||
GetSalarySummaryUseCase(this.repository);
|
||||
|
||||
Future<SalaryModel> execute({
|
||||
required String employeeId,
|
||||
required int month,
|
||||
required int year,
|
||||
}) {
|
||||
return repository.calculateSalary(
|
||||
employeeId: employeeId,
|
||||
month: month,
|
||||
year: year,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user