chnages has been made and net salary is being displayed

This commit is contained in:
Daniah Ayad Al-sultani
2026-02-11 14:31:03 +03:00
parent 1002937045
commit a7930d19e5
23 changed files with 691 additions and 141 deletions

View File

@@ -0,0 +1,6 @@
class ChangePasswordRequest {
final String oldPassword;
final String newPassword;
ChangePasswordRequest({required this.oldPassword, required this.newPassword});
}

View 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,
});
}

View File

@@ -0,0 +1,4 @@
class SalaryModel {
final double netAmount;
SalaryModel({required this.netAmount});
}

View File

@@ -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,
});
}

View File

@@ -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,
);
}

View 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);
}
}

View 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,
);
}
}