diff --git a/HRIS.Models/BankingAndStarterKitDto.cs b/HRIS.Models/BankingAndStarterKitDto.cs index bc25a1709..a2a4abcc3 100644 --- a/HRIS.Models/BankingAndStarterKitDto.cs +++ b/HRIS.Models/BankingAndStarterKitDto.cs @@ -1,4 +1,6 @@ -namespace HRIS.Models; +using HRIS.Models.Employee.Commons; + +namespace HRIS.Models; public class BankingAndStarterKitDto { diff --git a/HRIS.Models/EmployeeSalaryDetailsDto.cs b/HRIS.Models/Employee/Commons/BankingSalaryDetailsDto.cs similarity index 84% rename from HRIS.Models/EmployeeSalaryDetailsDto.cs rename to HRIS.Models/Employee/Commons/BankingSalaryDetailsDto.cs index 05c44bde9..93ffb1cf8 100644 --- a/HRIS.Models/EmployeeSalaryDetailsDto.cs +++ b/HRIS.Models/Employee/Commons/BankingSalaryDetailsDto.cs @@ -1,8 +1,8 @@ using HRIS.Models.Enums; -namespace HRIS.Models; +namespace HRIS.Models.Employee.Commons; -public class EmployeeSalaryDetailsDto +public class BankingSalaryDetailsDto { public int Id { get; set; } public int EmployeeId { get; set; } diff --git a/HRIS.Models/Employee/Commons/ContactDetailsDto.cs b/HRIS.Models/Employee/Commons/ContactDetailsDto.cs new file mode 100644 index 000000000..8e5a09543 --- /dev/null +++ b/HRIS.Models/Employee/Commons/ContactDetailsDto.cs @@ -0,0 +1,14 @@ +using HRIS.Models.Enums; + +namespace HRIS.Models.Employee.Commons; + +public class ContactDetailsDto +{ + public int Id { get; set; } + public string? Email { get; set; } + public string? PersonalEmail { get; set; } + public string? CellphoneNo { get; set; } + public string? HouseNo { get; set; } + public string? EmergencyContactName { get; set; } + public string? EmergencyContactNo { get; set; } +} \ No newline at end of file diff --git a/HRIS.Models/EmployeeAddressDto.cs b/HRIS.Models/Employee/Commons/EmployeeAddressDto.cs similarity index 92% rename from HRIS.Models/EmployeeAddressDto.cs rename to HRIS.Models/Employee/Commons/EmployeeAddressDto.cs index 1075f28c8..cae55b963 100644 --- a/HRIS.Models/EmployeeAddressDto.cs +++ b/HRIS.Models/Employee/Commons/EmployeeAddressDto.cs @@ -1,4 +1,4 @@ -namespace HRIS.Models; +namespace HRIS.Models.Employee.Commons; public class EmployeeAddressDto { diff --git a/HRIS.Models/EmployeeBankingDto.cs b/HRIS.Models/Employee/Commons/EmployeeBankingDto.cs similarity index 93% rename from HRIS.Models/EmployeeBankingDto.cs rename to HRIS.Models/Employee/Commons/EmployeeBankingDto.cs index 7b8eba0d5..216663bfe 100644 --- a/HRIS.Models/EmployeeBankingDto.cs +++ b/HRIS.Models/Employee/Commons/EmployeeBankingDto.cs @@ -1,6 +1,6 @@ using HRIS.Models.Enums; -namespace HRIS.Models; +namespace HRIS.Models.Employee.Commons; public class EmployeeBankingDto { diff --git a/HRIS.Models/EmployeeDataDto.cs b/HRIS.Models/Employee/Commons/EmployeeDataDto.cs similarity index 81% rename from HRIS.Models/EmployeeDataDto.cs rename to HRIS.Models/Employee/Commons/EmployeeDataDto.cs index 39cf851cb..368a5ff24 100644 --- a/HRIS.Models/EmployeeDataDto.cs +++ b/HRIS.Models/Employee/Commons/EmployeeDataDto.cs @@ -1,4 +1,4 @@ -namespace HRIS.Models; +namespace HRIS.Models.Employee.Commons; public class EmployeeDataDto { diff --git a/HRIS.Models/Employee/Commons/EmployeeDetailsDto.cs b/HRIS.Models/Employee/Commons/EmployeeDetailsDto.cs new file mode 100644 index 000000000..5a95c6dd7 --- /dev/null +++ b/HRIS.Models/Employee/Commons/EmployeeDetailsDto.cs @@ -0,0 +1,20 @@ +namespace HRIS.Models.Employee.Commons; + +public class EmployeeDetailsDto +{ + public int Id { get; set; } + public DateTime EngagementDate { get; set; } + public int? PeopleChampionId { get; set; } + public string? PeopleChampionName { get; set; } + public int? Level { get; set; } + public EmployeeTypeDto? EmployeeType { get; set; } + public string? Name { get; set; } + public string? Initials { get; set; } + public string? Surname { get; set; } + public DateTime DateOfBirth { get; set; } + public string? IdNumber { get; set; } + public int? ClientAllocatedId { get; set; } + public string? ClientAllocatedName { get; set; } + public int? TeamLeadId { get; set; } + public string? TeamLeadName { get; set; } +} diff --git a/HRIS.Models/EmployeeQualificationDto.cs b/HRIS.Models/Employee/Commons/EmployeeQualificationDto.cs similarity index 94% rename from HRIS.Models/EmployeeQualificationDto.cs rename to HRIS.Models/Employee/Commons/EmployeeQualificationDto.cs index b60a42da0..686ddf21e 100644 --- a/HRIS.Models/EmployeeQualificationDto.cs +++ b/HRIS.Models/Employee/Commons/EmployeeQualificationDto.cs @@ -1,7 +1,7 @@ using HRIS.Models.Enums.QualificationEnums; using System.ComponentModel.DataAnnotations; -namespace HRIS.Models; +namespace HRIS.Models.Employee.Commons; public class EmployeeQualificationDto { diff --git a/HRIS.Models/Employee/Commons/PersonalDetailsDto.cs b/HRIS.Models/Employee/Commons/PersonalDetailsDto.cs new file mode 100644 index 000000000..04241f842 --- /dev/null +++ b/HRIS.Models/Employee/Commons/PersonalDetailsDto.cs @@ -0,0 +1,14 @@ +using HRIS.Models.Enums; + +namespace HRIS.Models.Employee.Commons; + +public class PersonalDetailsDto +{ + public int Id { get; set; } + public bool Disability { get; set; } + public string? DisabilityNotes { get; set; } + public string? CountryOfBirth { get; set; } + public string? Nationality { get; set; } + public Race? Race { get; set; } + public Gender? Gender { get; set; } +} diff --git a/HRIS.Models/Employee/Commons/SalaryDetailsDto.cs b/HRIS.Models/Employee/Commons/SalaryDetailsDto.cs new file mode 100644 index 000000000..ebc8806af --- /dev/null +++ b/HRIS.Models/Employee/Commons/SalaryDetailsDto.cs @@ -0,0 +1,12 @@ +using HRIS.Models.Enums; + +namespace HRIS.Models.Employee.Commons; + +public class SalaryDetailsDto +{ + public string? TaxNumber { get; set; } + public float? LeaveInterval { get; set; } + public float? SalaryDays { get; set; } + public float? PayRate { get; set; } + public int? Salary { get; set; } +} diff --git a/HRIS.Models/WorkExperienceDto.cs b/HRIS.Models/Employee/Commons/WorkExperienceDto.cs similarity index 90% rename from HRIS.Models/WorkExperienceDto.cs rename to HRIS.Models/Employee/Commons/WorkExperienceDto.cs index 36da8460d..1216c3c35 100644 --- a/HRIS.Models/WorkExperienceDto.cs +++ b/HRIS.Models/Employee/Commons/WorkExperienceDto.cs @@ -1,4 +1,4 @@ -namespace HRIS.Models; +namespace HRIS.Models.Employee.Commons; public class WorkExperienceDto { public int Id { get; set; } diff --git a/HRIS.Models/Employee/Profile/BankingInformationDto.cs b/HRIS.Models/Employee/Profile/BankingInformationDto.cs new file mode 100644 index 000000000..7b1718b54 --- /dev/null +++ b/HRIS.Models/Employee/Profile/BankingInformationDto.cs @@ -0,0 +1,9 @@ +using HRIS.Models.Employee.Commons; + +namespace HRIS.Models.Employee.Profile; + +public class BankingInformationDto +{ + public List EmployeeBanking { get; set; } + public EmployeeDataDto EmployeeData { get; set; } +} \ No newline at end of file diff --git a/HRIS.Models/Employee/Profile/CareerSummaryDto.cs b/HRIS.Models/Employee/Profile/CareerSummaryDto.cs new file mode 100644 index 000000000..12bf41d7d --- /dev/null +++ b/HRIS.Models/Employee/Profile/CareerSummaryDto.cs @@ -0,0 +1,12 @@ +using HRIS.Models.Employee.Commons; + +namespace HRIS.Models.Employee.Profile; + +public class CareerSummaryDto +{ + public SalaryDetailsDto EmployeeProfileSalary { get; set; } // TODO: Endpoint for accordion + public EmployeeQualificationDto EmployeeQualification { get; set; } + public List WorkExperience { get; set; } + public List EmployeeCertifications { get; set; } + public EmployeeDataDto EmployeeData { get; set; } +} \ No newline at end of file diff --git a/HRIS.Models/Employee/Profile/ProfileDetailsDto.cs b/HRIS.Models/Employee/Profile/ProfileDetailsDto.cs new file mode 100644 index 000000000..4c7f83cae --- /dev/null +++ b/HRIS.Models/Employee/Profile/ProfileDetailsDto.cs @@ -0,0 +1,14 @@ +using HRIS.Models.Employee.Commons; + +namespace HRIS.Models.Employee.Profile; + +public class ProfileDetailsDto +{ + public EmployeeDetailsDto EmployeeProfileDetails { get; set; } + public PersonalDetailsDto EmployeeProfilePersonal { get; set; } // TODO: Endpoint for accordion + public ContactDetailsDto EmployeeProfileContact { get; set; } // TODO: Endpoint for accordion + public EmployeeDataDto EmployeeData { get; set; } + public string? Photo { get; set; } + public bool Active { get; set; } + public EmployeeAddressDto? PhysicalAddress { get; set; } // TODO: Endpoint for accordion +} \ No newline at end of file diff --git a/HRIS.Models/EmployeeDto.cs b/HRIS.Models/EmployeeDto.cs index 12fddb738..c1306ad8f 100644 --- a/HRIS.Models/EmployeeDto.cs +++ b/HRIS.Models/EmployeeDto.cs @@ -1,4 +1,5 @@ -using HRIS.Models.Enums; +using HRIS.Models.Employee.Commons; +using HRIS.Models.Enums; namespace HRIS.Models; @@ -43,4 +44,4 @@ public class EmployeeDto public string? EmergencyContactNo { get; set; } public bool Active { get; set; } public string? InactiveReason { get;set; } -} +} \ No newline at end of file diff --git a/HRIS.Models/SimpleEmployeeProfileDto.cs b/HRIS.Models/SimpleEmployeeProfileDto.cs index 6d123b354..abb897c84 100644 --- a/HRIS.Models/SimpleEmployeeProfileDto.cs +++ b/HRIS.Models/SimpleEmployeeProfileDto.cs @@ -1,4 +1,5 @@ -using HRIS.Models.Enums; +using HRIS.Models.Employee.Commons; +using HRIS.Models.Enums; namespace HRIS.Models; public class SimpleEmployeeProfileDto diff --git a/HRIS.Services.Tests/Handler/Charts/AgeTypeUnitTest.cs b/HRIS.Services.Tests/Handler/Charts/AgeTypeUnitTest.cs index b8e298c76..64d231704 100644 --- a/HRIS.Services.Tests/Handler/Charts/AgeTypeUnitTest.cs +++ b/HRIS.Services.Tests/Handler/Charts/AgeTypeUnitTest.cs @@ -1,5 +1,6 @@ using System.Linq.Expressions; using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using HRIS.Services.Interfaces; using HRIS.Services.Services; diff --git a/HRIS.Services.Tests/Handler/Charts/LeaveIntervalTypeUnitTest.cs b/HRIS.Services.Tests/Handler/Charts/LeaveIntervalTypeUnitTest.cs index 5db06e21a..fff01410e 100644 --- a/HRIS.Services.Tests/Handler/Charts/LeaveIntervalTypeUnitTest.cs +++ b/HRIS.Services.Tests/Handler/Charts/LeaveIntervalTypeUnitTest.cs @@ -1,5 +1,6 @@ using System.Linq.Expressions; using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using HRIS.Services.Interfaces; using HRIS.Services.Services; diff --git a/HRIS.Services.Tests/Handler/Charts/LevelTypeUnitTest.cs b/HRIS.Services.Tests/Handler/Charts/LevelTypeUnitTest.cs index d34773afb..9c7213982 100644 --- a/HRIS.Services.Tests/Handler/Charts/LevelTypeUnitTest.cs +++ b/HRIS.Services.Tests/Handler/Charts/LevelTypeUnitTest.cs @@ -1,5 +1,6 @@ using System.Linq.Expressions; using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using HRIS.Services.Interfaces; using HRIS.Services.Services; diff --git a/HRIS.Services.Tests/Handler/Charts/PayRateTypeUnitTest.cs b/HRIS.Services.Tests/Handler/Charts/PayRateTypeUnitTest.cs index d46ecbfc8..4548e02f5 100644 --- a/HRIS.Services.Tests/Handler/Charts/PayRateTypeUnitTest.cs +++ b/HRIS.Services.Tests/Handler/Charts/PayRateTypeUnitTest.cs @@ -1,5 +1,6 @@ using System.Linq.Expressions; using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using HRIS.Services.Interfaces; using HRIS.Services.Services; diff --git a/HRIS.Services.Tests/Handler/Charts/SalaryTypeUnitTest.cs b/HRIS.Services.Tests/Handler/Charts/SalaryTypeUnitTest.cs index a805de711..72196de77 100644 --- a/HRIS.Services.Tests/Handler/Charts/SalaryTypeUnitTest.cs +++ b/HRIS.Services.Tests/Handler/Charts/SalaryTypeUnitTest.cs @@ -1,5 +1,6 @@ using System.Linq.Expressions; using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using HRIS.Services.Interfaces; using HRIS.Services.Services; diff --git a/HRIS.Services.Tests/Services/EmployeeDataServiceUnitTest.cs b/HRIS.Services.Tests/Services/EmployeeDataServiceUnitTest.cs index 5662ff0d2..e6e0b811c 100644 --- a/HRIS.Services.Tests/Services/EmployeeDataServiceUnitTest.cs +++ b/HRIS.Services.Tests/Services/EmployeeDataServiceUnitTest.cs @@ -61,13 +61,13 @@ public async Task GetEmployeeDataTestPass() var employeeData = _employeeData; _dbMock.Setup(x => x.EmployeeData.Any(It.IsAny>>())).ReturnsAsync(true); - _dbMock.Setup(x => x.EmployeeData.GetById(employeeId)).ReturnsAsync(employeeData); + _dbMock.Setup(x => x.EmployeeData.GetById((int)employeeId!)).ReturnsAsync(employeeData); - var result = await _employeeDataService.GetEmployeeData(employeeId); + var result = await _employeeDataService.GetEmployeeData((int)employeeId!); Assert.NotNull(result); Assert.Equivalent(employeeData.ToDto(), result); - _dbMock.Verify(x => x.EmployeeData.GetById(employeeId), Times.Once); + _dbMock.Verify(x => x.EmployeeData.GetById((int)employeeId!), Times.Once); } [Fact] @@ -78,35 +78,33 @@ public async Task GetEmployeeDataFail_Unauthorized() _dbMock.Setup(x => x.EmployeeData.Any(It.IsAny>>())) .ReturnsAsync(true); - await Assert.ThrowsAsync(() => _nonSupportDataService.GetEmployeeData(employeeId)); + await Assert.ThrowsAsync(() => _nonSupportDataService.GetEmployeeData((int)employeeId!)); } - [Fact] - public async Task GetEmployeeDataTest_NoModelFound() - { - var employeeId = EmployeeDataTestData.EmployeeDataOne.EmployeeId; - - _dbMock.Setup(x => x.EmployeeData.Any(It.IsAny>>())) - .ReturnsAsync(false); - - await Assert.ThrowsAsync(() => _employeeDataService.GetEmployeeData(employeeId)); - } + //[Fact] + //public async Task GetEmployeeDataTest_NoModelFound() + //{ + // var employeeId = EmployeeDataTestData.EmployeeDataOne.EmployeeId; - [Fact] - public async Task GetEmployeeDataTest_NoRecordFoundInDatabase() - { - var employeeId = EmployeeDataTestData.EmployeeDataOne.EmployeeId; + // _dbMock.Setup(x => x.EmployeeData.Any(It.IsAny>>())) + // .ReturnsAsync(false); - _dbMock.Setup(x => x.EmployeeData.Any(It.IsAny>>())) - .ReturnsAsync(true); + // await Assert.ThrowsAsync(() => _employeeDataService.GetEmployeeData(employeeId)); + //} - _dbMock.Setup(x => x.EmployeeData.GetById(employeeId)) - .ReturnsAsync((EmployeeData)null); + //[Fact] + //public async Task GetEmployeeDataTest_NoRecordFoundInDatabase() + //{ + // var employeeId = EmployeeDataTestData.EmployeeDataOne.EmployeeId; - await Assert.ThrowsAsync(() => _employeeDataService.GetEmployeeData(employeeId)); - } + // _dbMock.Setup(x => x.EmployeeData.Any(It.IsAny>>())) + // .ReturnsAsync(true); + // _dbMock.Setup(x => x.EmployeeData.GetById(employeeId)) + // .ReturnsAsync((EmployeeData)null); + // await Assert.ThrowsAsync(() => _employeeDataService.GetEmployeeData(employeeId)); + //} [Fact] public async Task CreateEmployeeDataTest_Pass() @@ -152,7 +150,7 @@ public async Task UpdateEmployeeDataTest() var updatedEmployeeDataDto = EmployeeDataTestData.EmployeeDataOne.ToDto(); _dbMock.Setup(x => x.EmployeeData.Any(It.IsAny>>())).ReturnsAsync(true); - _dbMock.Setup(x => x.EmployeeData.GetById(updatedEmployeeDataDto.EmployeeId)).ReturnsAsync(EmployeeDataTestData.EmployeeDataOne); + _dbMock.Setup(x => x.EmployeeData.GetById((int)updatedEmployeeDataDto.EmployeeId!)).ReturnsAsync(EmployeeDataTestData.EmployeeDataOne); _dbMock.Setup(x => x.EmployeeData.Update(It.IsAny())).ReturnsAsync(EmployeeDataTestData.EmployeeDataOne); var result = await _employeeDataService.UpdateEmployeeData(updatedEmployeeDataDto); diff --git a/HRIS.Services.Tests/Services/EmployeeSalaryDetailsServiceUnitTests.cs b/HRIS.Services.Tests/Services/EmployeeSalaryDetailsServiceUnitTests.cs index deb752ec6..b4ef9320c 100644 --- a/HRIS.Services.Tests/Services/EmployeeSalaryDetailsServiceUnitTests.cs +++ b/HRIS.Services.Tests/Services/EmployeeSalaryDetailsServiceUnitTests.cs @@ -1,6 +1,6 @@ using System; using System.Linq.Expressions; -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using HRIS.Services.Interfaces; using HRIS.Services.Services; @@ -57,7 +57,7 @@ public async Task GetEmployeeSalaryDetailsById_Success() Assert.NotNull(result); Assert.Equal(_employeeSalaryDetails.Salary, result.Salary); Assert.Equal(_employeeSalaryDetails.Salary, result.Salary); - Assert.IsType(result); + Assert.IsType(result); } [Fact] @@ -115,7 +115,7 @@ public async Task GetAllEmployeeSalaryDetails_Success() Assert.NotNull(result); Assert.Equal(2, result.Count); Assert.Equivalent(employeeSalaries.Select(x => x.ToDto()).ToList(), result); - Assert.IsType>(result); + Assert.IsType>(result); } [Fact] @@ -204,11 +204,11 @@ public async Task CreateEmployeeSalaryDetails_Success() .Setup(m => m.EmployeeSalaryDetails.Get(It.IsAny>>())) .Returns(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne.ToMockIQueryable()); - _employeeSalaryDetailsServiceMock.Setup(r => r.CreateEmployeeSalary(It.IsAny())).ReturnsAsync(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne.ToDto()); + _employeeSalaryDetailsServiceMock.Setup(r => r.CreateEmployeeSalary(It.IsAny())).ReturnsAsync(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne.ToDto()); _dbMock.Setup(r => r.EmployeeSalaryDetails.Add(It.IsAny())).ReturnsAsync(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne); - var result = await _employeeSalaryDetailsService.CreateEmployeeSalary(new EmployeeSalaryDetailsDto { Id = 0, EmployeeId = 7, Band = EmployeeSalaryBand.Level1, Salary = 1090, MinSalary = 1900, MaxSalary = 25990, Remuneration = 1599, Contribution = null, SalaryUpdateDate = new DateTime() }); + var result = await _employeeSalaryDetailsService.CreateEmployeeSalary(new BankingSalaryDetailsDto { Id = 0, EmployeeId = 7, Band = EmployeeSalaryBand.Level1, Salary = 1090, MinSalary = 1900, MaxSalary = 25990, Remuneration = 1599, Contribution = null, SalaryUpdateDate = new DateTime() }); _dbMock.Verify(x => x.EmployeeSalaryDetails.Add(It.IsAny()), Times.Once); @@ -220,7 +220,7 @@ public async Task CreateEmployeeSalaryDetails_Success() [Fact] public async Task CreateEmployeeSalaryDetails_DoesNotExist() { - _employeeSalaryDetailsServiceMock.Setup(r => r.CreateEmployeeSalary(It.IsAny())).ReturnsAsync(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne.ToDto()); + _employeeSalaryDetailsServiceMock.Setup(r => r.CreateEmployeeSalary(It.IsAny())).ReturnsAsync(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne.ToDto()); _dbMock.Setup(r => r.EmployeeSalaryDetails.Add(It.IsAny())).ReturnsAsync(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne); _dbMock.Setup(x => x.EmployeeSalaryDetails.Any(It.IsAny>>())) @@ -243,7 +243,7 @@ public async Task CreateEmployeeSalaryDetails_Unauthorized() .ReturnsAsync(false); _dbMock.Setup(r => r.EmployeeSalaryDetails.Add(It.IsAny())).ReturnsAsync(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne); - _employeeSalaryDetailsServiceMock.Setup(r => r.CreateEmployeeSalary(It.IsAny())).ReturnsAsync(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne.ToDto()); + _employeeSalaryDetailsServiceMock.Setup(r => r.CreateEmployeeSalary(It.IsAny())).ReturnsAsync(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne.ToDto()); var exception = await Assert.ThrowsAnyAsync(() => _employeeSalaryDetailsService .CreateEmployeeSalary(EmployeeSalaryDetailsTestData.EmployeeSalaryDetailsOne.ToDto())); diff --git a/HRIS.Services.Tests/Services/EmployeeServiceUnitTests.cs b/HRIS.Services.Tests/Services/EmployeeServiceUnitTests.cs index ba61999f6..19f8783c8 100644 --- a/HRIS.Services.Tests/Services/EmployeeServiceUnitTests.cs +++ b/HRIS.Services.Tests/Services/EmployeeServiceUnitTests.cs @@ -1,5 +1,6 @@ using System.Linq.Expressions; using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Interfaces.Helper; using HRIS.Services.Services; diff --git a/HRIS.Services/HRIS.Services.csproj b/HRIS.Services/HRIS.Services.csproj index 8b818eec3..f79eafa29 100644 --- a/HRIS.Services/HRIS.Services.csproj +++ b/HRIS.Services/HRIS.Services.csproj @@ -27,6 +27,7 @@ + diff --git a/HRIS.Services/Interfaces/IEmployeeAddressService.cs b/HRIS.Services/Interfaces/IEmployeeAddressService.cs index 954d4b256..d34773bbc 100644 --- a/HRIS.Services/Interfaces/IEmployeeAddressService.cs +++ b/HRIS.Services/Interfaces/IEmployeeAddressService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; namespace HRIS.Services.Interfaces; diff --git a/HRIS.Services/Interfaces/IEmployeeBankingService.cs b/HRIS.Services/Interfaces/IEmployeeBankingService.cs index bfed3dfd8..9d11297ba 100644 --- a/HRIS.Services/Interfaces/IEmployeeBankingService.cs +++ b/HRIS.Services/Interfaces/IEmployeeBankingService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using RR.UnitOfWork.Entities.HRIS; namespace HRIS.Services.Interfaces; diff --git a/HRIS.Services/Interfaces/IEmployeeDataService.cs b/HRIS.Services/Interfaces/IEmployeeDataService.cs index 3f9528811..3c2fc690f 100644 --- a/HRIS.Services/Interfaces/IEmployeeDataService.cs +++ b/HRIS.Services/Interfaces/IEmployeeDataService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; namespace HRIS.Services.Interfaces; diff --git a/HRIS.Services/Interfaces/IEmployeeProfileService.cs b/HRIS.Services/Interfaces/IEmployeeProfileService.cs new file mode 100644 index 000000000..06e724df4 --- /dev/null +++ b/HRIS.Services/Interfaces/IEmployeeProfileService.cs @@ -0,0 +1,50 @@ +using HRIS.Models.Employee.Commons; +using HRIS.Models.Employee.Profile; +using RR.UnitOfWork.Entities.HRIS; + +namespace HRIS.Services.Interfaces; + +public interface IEmployeeProfileService +{ + /// + /// Get employee profile details by id + /// + /// + /// + Task GetEmployeeProfileDetailsById(int? id); + + /// + /// Get employee career summary by id + /// + /// + /// + Task GetEmployeeCareerSummaryById(int? id); + + /// + /// Get employee career summary by id + /// + /// + /// + Task GetEmployeeBankingInformationById(int? id); + + /// + /// Get employee career summary by id + /// + /// + /// + Task UpdateEmployeeDetails(EmployeeDetailsDto employeeDetails); + + /// + /// Get employee career summary by id + /// + /// + /// + Task UpdatePersonalDetails(PersonalDetailsDto personalDetails); + + /// + /// Get employee career summary by id + /// + /// + /// + Task UpdateContactDetails(ContactDetailsDto contactDetails); +} diff --git a/HRIS.Services/Interfaces/IEmployeeQualificationService.cs b/HRIS.Services/Interfaces/IEmployeeQualificationService.cs index 693192ea1..803cf67c6 100644 --- a/HRIS.Services/Interfaces/IEmployeeQualificationService.cs +++ b/HRIS.Services/Interfaces/IEmployeeQualificationService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; namespace HRIS.Services.Interfaces; diff --git a/HRIS.Services/Interfaces/IEmployeeSalarayDetailsService.cs b/HRIS.Services/Interfaces/IEmployeeSalarayDetailsService.cs index 06fc728f5..734b50c21 100644 --- a/HRIS.Services/Interfaces/IEmployeeSalarayDetailsService.cs +++ b/HRIS.Services/Interfaces/IEmployeeSalarayDetailsService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; namespace HRIS.Services.Interfaces; @@ -9,30 +9,30 @@ public interface IEmployeeSalaryDetailsService /// /// The employeeSalaryDto of the employee salary details to save. /// The saved EmployeeSalaryDto object. - Task CreateEmployeeSalary(EmployeeSalaryDetailsDto employeeSalaryDto); + Task CreateEmployeeSalary(BankingSalaryDetailsDto employeeSalaryDto); /// /// Get Employee Salary /// /// The employeeId of the employee salary details to get. /// The employeeSalaryDetailsDto object. - Task GetEmployeeSalaryById(int employeeId); + Task GetEmployeeSalaryById(int employeeId); /// /// Get All Employee Salaries /// /// - Task> GetAllEmployeeSalaries(); + Task> GetAllEmployeeSalaries(); /// /// Update Employee Salary /// /// The epmployeeSalaryDto to update. /// The updated employeeSalarayDto object. - Task UpdateEmployeeSalary(EmployeeSalaryDetailsDto employeeSalaryDto); + Task UpdateEmployeeSalary(BankingSalaryDetailsDto employeeSalaryDto); /// /// Delete Employee Salary /// /// The employeeId of the employee salary details to delete. /// The deleted employeeSalaryDetails object. - Task DeleteEmployeeSalary(int employeeId); + Task DeleteEmployeeSalary(int employeeId); /// /// Employee Type Exists /// diff --git a/HRIS.Services/Interfaces/IWorkExperience.cs b/HRIS.Services/Interfaces/IWorkExperience.cs index 1017907b3..fc8c9faf1 100644 --- a/HRIS.Services/Interfaces/IWorkExperience.cs +++ b/HRIS.Services/Interfaces/IWorkExperience.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; namespace HRIS.Services.Interfaces; diff --git a/HRIS.Services/RegisterServicesHRIS.cs b/HRIS.Services/RegisterServicesHRIS.cs index e95f20256..8df2966a0 100644 --- a/HRIS.Services/RegisterServicesHRIS.cs +++ b/HRIS.Services/RegisterServicesHRIS.cs @@ -39,5 +39,6 @@ public static void RegisterServicesHRIS(this IServiceCollection services) services.AddScoped(); services.AddScoped(); services.AddScoped(); + services.AddScoped(); } } diff --git a/HRIS.Services/Services/EmployeeAddressService.cs b/HRIS.Services/Services/EmployeeAddressService.cs index daa115162..dc779af80 100644 --- a/HRIS.Services/Services/EmployeeAddressService.cs +++ b/HRIS.Services/Services/EmployeeAddressService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Session; using RR.UnitOfWork; diff --git a/HRIS.Services/Services/EmployeeBankingService.cs b/HRIS.Services/Services/EmployeeBankingService.cs index 1f8c419ed..90d34d353 100644 --- a/HRIS.Services/Services/EmployeeBankingService.cs +++ b/HRIS.Services/Services/EmployeeBankingService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using HRIS.Services.Interfaces; using HRIS.Services.Session; diff --git a/HRIS.Services/Services/EmployeeDataService.cs b/HRIS.Services/Services/EmployeeDataService.cs index 050920506..dcfb531d7 100644 --- a/HRIS.Services/Services/EmployeeDataService.cs +++ b/HRIS.Services/Services/EmployeeDataService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Session; using RR.UnitOfWork; @@ -24,7 +24,7 @@ public async Task EmployeeDataExists(int id) public async Task CreateEmployeeData(EmployeeDataDto employeeDataDto) { - var modelExists = await EmployeeDataExists(employeeDataDto.Id); + var modelExists = await EmployeeDataExists((int)employeeDataDto.Id!); if (modelExists) throw new CustomException("This model already exists"); @@ -38,30 +38,30 @@ public async Task CreateEmployeeData(EmployeeDataDto employeeDa public async Task GetEmployeeData(int employeeId) { - var modelExists = await EmployeeDataExists(employeeId); - if (!modelExists) - throw new CustomException("Employee data does not exist"); + //var modelExists = await EmployeeDataExists(employeeId); + //if (!modelExists) + // throw new CustomException("Employee data does not exist"); if (!_identity.IsSupport && employeeId != _identity.EmployeeId) throw new CustomException("Unauthorized Access."); var employeeData = await _db.EmployeeData.GetById(employeeId); - if (employeeData == null) - throw new CustomException("No employee data record found"); + //if (employeeData == null) + // throw new CustomException("No employee data record found"); - return employeeData.ToDto(); + return employeeData?.ToDto(); } public async Task UpdateEmployeeData(EmployeeDataDto employeeDataDto) { - var modelExists = await EmployeeDataExists(employeeDataDto.Id); + var modelExists = await EmployeeDataExists((int)employeeDataDto.Id!); if (!modelExists) throw new CustomException("This model does not exist yet"); if (!_identity.IsSupport && employeeDataDto.EmployeeId != _identity.EmployeeId) throw new CustomException("Unauthorized Access."); - var employeeData = await _db.EmployeeData.GetById(employeeDataDto.EmployeeId); + var employeeData = await _db.EmployeeData.GetById((int)employeeDataDto.EmployeeId!); if (employeeData == null) throw new CustomException("No employee data record found"); diff --git a/HRIS.Services/Services/EmployeeProfileService.cs b/HRIS.Services/Services/EmployeeProfileService.cs new file mode 100644 index 000000000..1d72f3257 --- /dev/null +++ b/HRIS.Services/Services/EmployeeProfileService.cs @@ -0,0 +1,312 @@ +using HRIS.Models; +using HRIS.Models.Employee.Commons; +using HRIS.Models.Employee.Profile; +using HRIS.Services.Interfaces; +using HRIS.Services.Session; +using Microsoft.EntityFrameworkCore; +using RR.UnitOfWork; +using RR.UnitOfWork.Entities.HRIS; + +namespace HRIS.Services.Services; + +public class EmployeeProfileService : IEmployeeProfileService +{ + private readonly AuthorizeIdentity _identity; + private readonly IUnitOfWork _db; + private readonly IEmployeeDataService _employeeDataService; + private readonly IEmployeeQualificationService _employeeQualificationService; + private readonly IWorkExperienceService _workExperienceService; + private readonly IEmployeeCertificationService _employeeCertificationService; + private readonly IEmployeeBankingService _employeeBankingService; + public EmployeeProfileService(AuthorizeIdentity identity, + IEmployeeDataService employeeDataService, + IEmployeeQualificationService employeeQualificationService, + IWorkExperienceService workExperienceService, + IEmployeeCertificationService employeeCertificationService, + IEmployeeBankingService employeeBankingService, IUnitOfWork db) + { + _identity = identity; + _db = db; + _employeeDataService = employeeDataService; + _employeeQualificationService = employeeQualificationService; + _workExperienceService = workExperienceService; + _employeeCertificationService = employeeCertificationService; + _employeeBankingService = employeeBankingService; + } + public async Task GetEmployeeProfileDetailsById(int? id) + { + var employeeId = (int)id; + + if (id == null) + { + employeeId = _identity.EmployeeId; + } + + var employee = await _db.Employee + .Get(employee => employee.Id == id) + .AsNoTracking() + .Include(employee => employee.EmployeeType) + .Include(employee => employee.ChampionEmployee) + .Include(employee => employee.TeamLeadAssigned) + .FirstOrDefaultAsync() ?? throw new CustomException("Unable to Load Employee"); + + var clientAllocated = await _db.Client.Get(c => c.Id == employee.ClientAllocated).FirstOrDefaultAsync(); + + EmployeeDetailsDto employeeDetails = new EmployeeDetailsDto + { + Id = employee.Id, + Name = employee.Name, + Surname = employee.Surname, + Initials = employee.Initials, + DateOfBirth = employee.DateOfBirth, + EmployeeType = employee.EmployeeType!.ToDto(), + EngagementDate = employee.EngagementDate, + IdNumber = employee.IdNumber, + Level = employee.Level, + ClientAllocatedId = employee.ClientAllocated, + PeopleChampionId = employee.PeopleChampion, + TeamLeadId = employee.TeamLead, + ClientAllocatedName = clientAllocated?.Name, + PeopleChampionName = employee.ChampionEmployee?.Name + " " + employee.ChampionEmployee?.Surname, + TeamLeadName = employee.TeamLeadAssigned?.Name + " " + employee.TeamLeadAssigned?.Surname, + }; + + PersonalDetailsDto personalDetails = new PersonalDetailsDto + { + Id = employee.Id, + Race = employee.Race, + Gender = employee.Gender, + Nationality = employee.Nationality, + CountryOfBirth = employee.CountryOfBirth, + Disability = employee.Disability, + DisabilityNotes = employee.DisabilityNotes + }; + + ContactDetailsDto contactDetails = new ContactDetailsDto + { + Id = employee.Id, + Email = employee.Email, + PersonalEmail = employee.PersonalEmail, + CellphoneNo = employee.CellphoneNo, + HouseNo = employee.HouseNo, + EmergencyContactName = employee.EmergencyContactName, + EmergencyContactNo = employee.EmergencyContactNo + }; + + var employeeData = GetEmployeeDataById(id).Result; + + ProfileDetailsDto employeeProfileDetails = new ProfileDetailsDto + { + EmployeeProfileDetails = employeeDetails, + EmployeeProfilePersonal = personalDetails, + EmployeeProfileContact = contactDetails, + EmployeeData = employeeData, + Photo = employee.Photo, + Active = employee.Active, + }; + + return employeeProfileDetails; + } + + public async Task UpdateEmployeeDetails(EmployeeDetailsDto employeeDetails) + { + Employee? model = await GetEmployeeModelById(employeeDetails.Id); + + model.EngagementDate = employeeDetails.EngagementDate; + model.PeopleChampion = employeeDetails.PeopleChampionId; + model.Level = employeeDetails.Level; + model.EmployeeType.Id = employeeDetails.EmployeeType.Id; + model.EmployeeType.Name = employeeDetails.EmployeeType.Name; + model.Name = employeeDetails.Name; + model.Initials = employeeDetails.Initials; + model.Surname = employeeDetails.Surname; + model.DateOfBirth = employeeDetails.DateOfBirth; + model.IdNumber = employeeDetails.IdNumber; + model.ClientAllocated = employeeDetails.ClientAllocatedId; + model.TeamLead = employeeDetails.TeamLeadId; + + var updatedEmployee = await _db.Employee.Update(model); + + return updatedEmployee; + } + + public async Task UpdatePersonalDetails(PersonalDetailsDto personalDetails) + { + Employee? model = await GetEmployeeModelById(personalDetails.Id); + + model.Gender = personalDetails.Gender; + model.Race = personalDetails.Race; + model.Nationality = personalDetails.Nationality; + model.CountryOfBirth = personalDetails.CountryOfBirth; + model.Disability = personalDetails.Disability; + model.DisabilityNotes = personalDetails.DisabilityNotes; + + var updatedEmployee = await _db.Employee.Update(model); + + return updatedEmployee; + } + + public async Task UpdateContactDetails(ContactDetailsDto contactDetails) + { + Employee? model = await GetEmployeeModelById(contactDetails.Id); + + model.Email = contactDetails.Email; + model.PersonalEmail = contactDetails.PersonalEmail; + model.CellphoneNo = contactDetails.CellphoneNo; + model.HouseNo = contactDetails.HouseNo; + model.EmergencyContactNo = contactDetails.EmergencyContactNo; + model.EmergencyContactName = contactDetails.EmergencyContactName; + + var updatedEmployee = await _db.Employee.Update(model); + + return updatedEmployee; + } + + public async Task GetEmployeeCareerSummaryById(int? id) + { + var employeeData = await GetEmployeeDataById(id); + + var employeeSalary = await GetEmployeeSalaryById(id); + + var employeeCertifications = await GetEmployeeCertificationsById(id); + + var employeeQualification = await GetEmployeeQualificationById(id); + + var employeeWorkExperience = await GetEmployeeWorkExperienceById(id); + + CareerSummaryDto employeeCareerSummary = new CareerSummaryDto + { + EmployeeProfileSalary = employeeSalary, + EmployeeCertifications = employeeCertifications, + EmployeeQualification = employeeQualification, + WorkExperience = employeeWorkExperience, + EmployeeData = employeeData, + }; + + return employeeCareerSummary; + } + + public async Task GetEmployeeBankingInformationById(int? id) + { + var employeeBanking = await _db.EmployeeBanking + .Get(banking => banking.EmployeeId == id) + .Select(banking => banking.ToDto()) + .ToListAsync(); + + var employee = await _db.Employee + .Get(employee => employee.Id == id) + .FirstOrDefaultAsync(); + + var employeeData = await GetEmployeeDataById(id); + + SalaryDetailsDto employeeSalary = new SalaryDetailsDto + { + LeaveInterval = employee.LeaveInterval, + PayRate = employee.PayRate, + SalaryDays = employee.SalaryDays, + Salary = employee.Salary, + TaxNumber = employee.TaxNumber, + }; + + BankingInformationDto employeeBankingInformation = new BankingInformationDto + { + EmployeeBanking = employeeBanking, + EmployeeData = employeeData, + }; + + return employeeBankingInformation; + } + + + + + + async Task GetEmployeeModelById(int? id) + { + Employee? model = await _db.Employee + .Get(employee => employee.Id == id) + .AsNoTracking() + .Include(employee => employee.EmployeeType) + .Include(employee => employee.ChampionEmployee) + .Include(employee => employee.TeamLeadAssigned) + .FirstOrDefaultAsync() ?? throw new CustomException("Unable to Load Employee"); + + return model; + } + async Task GetEmployeeDataById(int? id) + { + var employeeData = await _db.EmployeeData.GetById((int)id!); + + EmployeeDataDto employeeDataDto; + + if (employeeData == null) + { + employeeDataDto = new EmployeeDataDto + { + Id = 0, + EmployeeId = 0, + FieldCodeId = 0, + Value = "", + }; + } + else + { + employeeDataDto = new EmployeeDataDto + { + Id = employeeData.Id, + EmployeeId = employeeData.Id, + FieldCodeId = (int)employeeData.FieldCodeId!, + Value = employeeData.Value, + }; + } + + return employeeDataDto; + } + + async Task GetEmployeeSalaryById(int? id) + { + var employee = await _db.Employee + .Get(employee => employee.Id == id) + .FirstOrDefaultAsync() ?? throw new CustomException("Unable to Load Employee"); + + SalaryDetailsDto employeeProfileSalary = new SalaryDetailsDto + { + Salary = employee.Salary, + SalaryDays = employee.SalaryDays, + TaxNumber = employee.TaxNumber, + LeaveInterval = employee.LeaveInterval, + PayRate = employee.PayRate, + }; + + return employeeProfileSalary; + } + + async Task> GetEmployeeCertificationsById(int? id) + { + var certifications = await _db.EmployeeCertification + .Get(certification => certification.EmployeeId == id).FirstOrDefaultAsync() ?? throw new CustomException("Unable to Load Certifications"); + + List employeeCertifications = new List + { + certifications.ToDto(), + }; + + return employeeCertifications; + } + + async Task GetEmployeeQualificationById(int? id) + { + var qualification = await _db.EmployeeQualification + .Get(qualification => qualification.EmployeeId == id) + .FirstOrDefaultAsync() ?? throw new CustomException("Unable to Load Qualification"); + return qualification.ToDto(); + } + + async Task> GetEmployeeWorkExperienceById(int? id) + { + return await _db.WorkExperience + .Get(workExperience => workExperience.EmployeeId == id) + .Select(workExperience => workExperience.ToDto()) + .ToListAsync(); + } +} \ No newline at end of file diff --git a/HRIS.Services/Services/EmployeeQualificationService.cs b/HRIS.Services/Services/EmployeeQualificationService.cs index 7190f6f3e..40882cbff 100644 --- a/HRIS.Services/Services/EmployeeQualificationService.cs +++ b/HRIS.Services/Services/EmployeeQualificationService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Session; using Microsoft.EntityFrameworkCore; diff --git a/HRIS.Services/Services/EmployeeSalaryDetailsService.cs b/HRIS.Services/Services/EmployeeSalaryDetailsService.cs index bf38f60e4..bd7b3a990 100644 --- a/HRIS.Services/Services/EmployeeSalaryDetailsService.cs +++ b/HRIS.Services/Services/EmployeeSalaryDetailsService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Session; using Microsoft.EntityFrameworkCore; @@ -23,7 +23,7 @@ public async Task EmployeeSalaryDetailsExists(int id) return await _db.EmployeeSalaryDetails.Any(x => x.Id == id); } - public async Task DeleteEmployeeSalary(int id) + public async Task DeleteEmployeeSalary(int id) { var exists = await EmployeeSalaryDetailsExists(id); @@ -38,12 +38,12 @@ public async Task DeleteEmployeeSalary(int id) return deletedEmployeeSalaryDetails.ToDto(); } - public async Task> GetAllEmployeeSalaries() + public async Task> GetAllEmployeeSalaries() { return (await _db.EmployeeSalaryDetails.GetAll()).Select(x => x.ToDto()).ToList(); } - public async Task GetEmployeeSalaryById(int employeeId) + public async Task GetEmployeeSalaryById(int employeeId) { var ifEmployeeExists = await CheckEmployee(employeeId); @@ -60,7 +60,7 @@ public async Task GetEmployeeSalaryById(int employeeId .FirstOrDefaultAsync(); } - public async Task CreateEmployeeSalary(EmployeeSalaryDetailsDto employeeSalaryDto) + public async Task CreateEmployeeSalary(BankingSalaryDetailsDto employeeSalaryDto) { var exists = await EmployeeSalaryDetailsExists(employeeSalaryDto.Id); @@ -75,7 +75,7 @@ public async Task CreateEmployeeSalary(EmployeeSalaryD return employeeSalary.ToDto(); } - public async Task UpdateEmployeeSalary(EmployeeSalaryDetailsDto employeeSalaryDto) + public async Task UpdateEmployeeSalary(BankingSalaryDetailsDto employeeSalaryDto) { var exists = await EmployeeSalaryDetailsExists(employeeSalaryDto.Id); diff --git a/HRIS.Services/Services/WorkExperienceService.cs b/HRIS.Services/Services/WorkExperienceService.cs index c4c2a9659..328dd627a 100644 --- a/HRIS.Services/Services/WorkExperienceService.cs +++ b/HRIS.Services/Services/WorkExperienceService.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using Microsoft.EntityFrameworkCore; using RR.UnitOfWork; diff --git a/RR.App.Tests/Controllers/HRIS/EmployeeAddressControllerUnitTests.cs b/RR.App.Tests/Controllers/HRIS/EmployeeAddressControllerUnitTests.cs index 77b171452..9329e8aa4 100644 --- a/RR.App.Tests/Controllers/HRIS/EmployeeAddressControllerUnitTests.cs +++ b/RR.App.Tests/Controllers/HRIS/EmployeeAddressControllerUnitTests.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Services; using Microsoft.AspNetCore.Mvc; diff --git a/RR.App.Tests/Controllers/HRIS/EmployeeBankingControllerUnitTests.cs b/RR.App.Tests/Controllers/HRIS/EmployeeBankingControllerUnitTests.cs index 2b843c473..e7ab86428 100644 --- a/RR.App.Tests/Controllers/HRIS/EmployeeBankingControllerUnitTests.cs +++ b/RR.App.Tests/Controllers/HRIS/EmployeeBankingControllerUnitTests.cs @@ -1,5 +1,5 @@ using System.Security.Claims; -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using HRIS.Services.Interfaces; using HRIS.Services.Services; diff --git a/RR.App.Tests/Controllers/HRIS/EmployeeControllerUnitTests.cs b/RR.App.Tests/Controllers/HRIS/EmployeeControllerUnitTests.cs index 44f75cf26..6df09e560 100644 --- a/RR.App.Tests/Controllers/HRIS/EmployeeControllerUnitTests.cs +++ b/RR.App.Tests/Controllers/HRIS/EmployeeControllerUnitTests.cs @@ -12,6 +12,7 @@ using HRIS.Services.Services; using RR.Tests.Data.Models.HRIS; using RR.App.Tests.Helper; +using HRIS.Models.Employee.Commons; namespace RR.App.Tests.Controllers.HRIS; diff --git a/RR.App.Tests/Controllers/HRIS/EmployeeDataControllerUnitTests.cs b/RR.App.Tests/Controllers/HRIS/EmployeeDataControllerUnitTests.cs index 6d6cc2676..2efdd3eaa 100644 --- a/RR.App.Tests/Controllers/HRIS/EmployeeDataControllerUnitTests.cs +++ b/RR.App.Tests/Controllers/HRIS/EmployeeDataControllerUnitTests.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Services; using Microsoft.AspNetCore.Http; @@ -31,14 +31,14 @@ public async Task GetEmployeeDataReturnsOkResult() _identityMock.Setup(i => i.Role).Returns("Admin"); _identityMock.SetupGet(i => i.EmployeeId).Returns(2); - _employeeDataServiceMock.Setup(x => x.GetEmployeeData(_employeeDataDto.EmployeeId)) + _employeeDataServiceMock.Setup(x => x.GetEmployeeData((int)_employeeDataDto.EmployeeId!)) .ReturnsAsync(_employeeDataDto); - var result = await _controller.GetEmployeeData(_employeeDataDto.EmployeeId); + var result = await _controller.GetEmployeeData((int)_employeeDataDto.EmployeeId!); var okResult = Assert.IsType(result); - _employeeDataServiceMock.Verify(service => service.GetEmployeeData(_employeeDataDto.EmployeeId), Times.Once); + _employeeDataServiceMock.Verify(service => service.GetEmployeeData((int)_employeeDataDto.EmployeeId!), Times.Once); } [Fact] @@ -122,21 +122,21 @@ public async Task DeleteEmployeeDataReturnsOkResult() _identityMock.Setup(i => i.Role).Returns("SuperAdmin"); _identityMock.SetupGet(i => i.EmployeeId).Returns(2); - _employeeDataServiceMock.Setup(service => service.DeleteEmployeeData(_employeeDataDto.Id)) + _employeeDataServiceMock.Setup(service => service.DeleteEmployeeData((int)_employeeDataDto.Id!)) .ReturnsAsync(_employeeDataDto); - var result = await _controller.DeleteEmployeeData(_employeeDataDto.Id); + var result = await _controller.DeleteEmployeeData((int)_employeeDataDto.Id!); var okResult = Assert.IsType(result); var returnValue = Assert.IsType(okResult.Value); Assert.Equal(_employeeDataDto, returnValue); - _employeeDataServiceMock.Verify(service => service.DeleteEmployeeData(_employeeDataDto.Id), Times.Once); + _employeeDataServiceMock.Verify(service => service.DeleteEmployeeData((int)_employeeDataDto.Id!), Times.Once); } [Fact] public async Task DeleteUnauthorized() { - _employeeDataServiceMock.Setup(service => service.DeleteEmployeeData(_employeeDataDto.Id)) + _employeeDataServiceMock.Setup(service => service.DeleteEmployeeData((int)_employeeDataDto.Id!)) .ThrowsAsync(new CustomException("Unauthorized Access.")); var result = await MiddlewareHelperUnitTests.SimulateHandlingExceptionMiddlewareAsync(async () => await _controller.DeleteEmployeeData(1)); diff --git a/RR.App.Tests/Controllers/HRIS/EmployeeQualificationControllerUnitTests.cs b/RR.App.Tests/Controllers/HRIS/EmployeeQualificationControllerUnitTests.cs index 21a5d5818..690ccbaef 100644 --- a/RR.App.Tests/Controllers/HRIS/EmployeeQualificationControllerUnitTests.cs +++ b/RR.App.Tests/Controllers/HRIS/EmployeeQualificationControllerUnitTests.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Services; using Microsoft.AspNetCore.Mvc; diff --git a/RR.App.Tests/Controllers/HRIS/EmployeeSalaryDetailsControllerUnitTests.cs b/RR.App.Tests/Controllers/HRIS/EmployeeSalaryDetailsControllerUnitTests.cs index a22e1658c..3fe75c77b 100644 --- a/RR.App.Tests/Controllers/HRIS/EmployeeSalaryDetailsControllerUnitTests.cs +++ b/RR.App.Tests/Controllers/HRIS/EmployeeSalaryDetailsControllerUnitTests.cs @@ -1,4 +1,5 @@ using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Services; using Microsoft.AspNetCore.Mvc; @@ -16,7 +17,7 @@ public class EmployeeSalaryDetailsControllerUnitTest private readonly EmployeeSalaryDetailsController _controller; private readonly Mock _employeeServiceMock; - private readonly EmployeeSalaryDetailsDto _employeeSalaryDetailsDto; + private readonly BankingSalaryDetailsDto _employeeSalaryDetailsDto; private readonly EmployeeDto _employeeDto; public EmployeeSalaryDetailsControllerUnitTest() @@ -35,7 +36,7 @@ public async Task SaveEmployeeSalaryValidInputReturnsOkResult() _employeeServiceMock.Setup(x => x.GetEmployeeById(_employeeSalaryDetailsDto.EmployeeId)) .ReturnsAsync(_employeeDto); - _employeeSalaryDetailsServiceMock.Setup(x => x.CreateEmployeeSalary(It.IsAny())) + _employeeSalaryDetailsServiceMock.Setup(x => x.CreateEmployeeSalary(It.IsAny())) .ReturnsAsync(_employeeSalaryDetailsDto); var result = await _controller.AddEmployeeSalary(_employeeSalaryDetailsDto); @@ -60,7 +61,7 @@ public async Task AddEmployeeSalary_UnauthorizedRoleOrIdMismatch_ThrowsCustomExc [Fact] public async Task AddEmployeeSalary_ValidRoleAndMatchingId_ReturnsCreatedAtActionResult() { - _employeeSalaryDetailsServiceMock.Setup(x => x.CreateEmployeeSalary(It.IsAny())) + _employeeSalaryDetailsServiceMock.Setup(x => x.CreateEmployeeSalary(It.IsAny())) .ReturnsAsync(_employeeSalaryDetailsDto); var result = await _controller.AddEmployeeSalary(_employeeSalaryDetailsDto); @@ -115,7 +116,7 @@ public async Task GetSalariesByEmployeePass() var result = await _controller.GetEmployeeSalary(_employeeSalaryDetailsDto.EmployeeId); var okResult = Assert.IsType(result); - var actualSalaryDetailsDto = Assert.IsType(okResult.Value); + var actualSalaryDetailsDto = Assert.IsType(okResult.Value); Assert.Equal(_employeeSalaryDetailsDto, actualSalaryDetailsDto); } @@ -143,7 +144,7 @@ public async Task GetEmployeeSalary_UnauthorizedRoleOrIdMismatch_ThrowsCustomExc [Fact] public async Task GetAllEmployeeSalariesNoFiltersReturnsOkResultWithList() { - var expectedSalaryDetailsList = new List + var expectedSalaryDetailsList = new List { _employeeSalaryDetailsDto, _employeeSalaryDetailsDto @@ -155,7 +156,7 @@ public async Task GetAllEmployeeSalariesNoFiltersReturnsOkResultWithList() var result = await _controller.GetAllEmployeeSalaries(); var okResult = Assert.IsType(result); - var actualSalaryDetailsDto = Assert.IsType>(okResult.Value); + var actualSalaryDetailsDto = Assert.IsType>(okResult.Value); Assert.Equal(expectedSalaryDetailsList, actualSalaryDetailsDto); } } \ No newline at end of file diff --git a/RR.App.Tests/Controllers/HRIS/WorkExperienceControllerUnitTest.cs b/RR.App.Tests/Controllers/HRIS/WorkExperienceControllerUnitTest.cs index 396542591..c85e4663d 100644 --- a/RR.App.Tests/Controllers/HRIS/WorkExperienceControllerUnitTest.cs +++ b/RR.App.Tests/Controllers/HRIS/WorkExperienceControllerUnitTest.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Services; using Microsoft.AspNetCore.Http; diff --git a/RR.App/Controllers/HRIS/EmployeeAddressController.cs b/RR.App/Controllers/HRIS/EmployeeAddressController.cs index d5a5a0ce0..986c83538 100644 --- a/RR.App/Controllers/HRIS/EmployeeAddressController.cs +++ b/RR.App/Controllers/HRIS/EmployeeAddressController.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Services; using HRIS.Services.Session; diff --git a/RR.App/Controllers/HRIS/EmployeeBankingController.cs b/RR.App/Controllers/HRIS/EmployeeBankingController.cs index 0b78ea987..917fa8e1a 100644 --- a/RR.App/Controllers/HRIS/EmployeeBankingController.cs +++ b/RR.App/Controllers/HRIS/EmployeeBankingController.cs @@ -1,5 +1,5 @@ using System.Security.Claims; -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Services; using HRIS.Services.Session; diff --git a/RR.App/Controllers/HRIS/EmployeeDataController.cs b/RR.App/Controllers/HRIS/EmployeeDataController.cs index 237e4e596..6988219ba 100644 --- a/RR.App/Controllers/HRIS/EmployeeDataController.cs +++ b/RR.App/Controllers/HRIS/EmployeeDataController.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Services; using HRIS.Services.Session; diff --git a/RR.App/Controllers/HRIS/EmployeeProfileController.cs b/RR.App/Controllers/HRIS/EmployeeProfileController.cs new file mode 100644 index 000000000..2ccb516c5 --- /dev/null +++ b/RR.App/Controllers/HRIS/EmployeeProfileController.cs @@ -0,0 +1,59 @@ +using HRIS.Models.Employee.Commons; +using HRIS.Services.Interfaces; +using HRIS.Services.Session; +using Microsoft.AspNetCore.Mvc; +namespace RR.App.Controllers.HRIS; + +[Route("employee-profile")] +[ApiController] +public class EmployeeProfileController : ControllerBase +{ + private readonly IEmployeeProfileService _employeeProfileService; + + public EmployeeProfileController(AuthorizeIdentity identity, IEmployeeProfileService employeeProfileService) + { + _employeeProfileService = employeeProfileService; + } + + [HttpGet("profile-details")] + public async Task GetEmployeeProfileDetailsById([FromQuery] int? id) + { + var profileDetails = await _employeeProfileService.GetEmployeeProfileDetailsById(id); + return Ok(profileDetails); + } + + [HttpGet("career-summary")] + public async Task GetEmployeeCareerSummaryById([FromQuery] int? id) + { + var careerSummary = await _employeeProfileService.GetEmployeeCareerSummaryById(id); + return Ok(careerSummary); + } + + [HttpGet("banking-information")] + public async Task GetEmployeeBankingInformationById([FromQuery] int? id) + { + var bankingInformation = await _employeeProfileService.GetEmployeeBankingInformationById(id); + return Ok(bankingInformation); + } + + [HttpPut("employee-details")] + public async Task UpdateEmployeeDetails([FromBody] EmployeeDetailsDto employeeDetails) + { + var result = await _employeeProfileService.UpdateEmployeeDetails(employeeDetails); + return Ok(result); + } + + [HttpPut("personal-details")] + public async Task UpdatePersonalDetails([FromBody] PersonalDetailsDto personalDetails) + { + var result = await _employeeProfileService.UpdatePersonalDetails(personalDetails); + return Ok(result); + } + + [HttpPut("contact-details")] + public async Task UpdateContactDetails([FromBody] ContactDetailsDto contactDetails) + { + var result = await _employeeProfileService.UpdateContactDetails(contactDetails); + return Ok(result); + } +} \ No newline at end of file diff --git a/RR.App/Controllers/HRIS/EmployeeQualificationController.cs b/RR.App/Controllers/HRIS/EmployeeQualificationController.cs index 90d400161..b0188d1ef 100644 --- a/RR.App/Controllers/HRIS/EmployeeQualificationController.cs +++ b/RR.App/Controllers/HRIS/EmployeeQualificationController.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Services; using HRIS.Services.Session; diff --git a/RR.App/Controllers/HRIS/EmployeeSalaryDetailsController.cs b/RR.App/Controllers/HRIS/EmployeeSalaryDetailsController.cs index ea31bd80e..e39ca4b8f 100644 --- a/RR.App/Controllers/HRIS/EmployeeSalaryDetailsController.cs +++ b/RR.App/Controllers/HRIS/EmployeeSalaryDetailsController.cs @@ -1,9 +1,9 @@ -using HRIS.Models; -using HRIS.Services.Interfaces; +using HRIS.Services.Interfaces; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using HRIS.Services.Session; using HRIS.Services.Services; +using HRIS.Models.Employee.Commons; namespace RR.App.Controllers.HRIS; @@ -49,7 +49,7 @@ public async Task GetEmployeeSalary(int employeeId) [Authorize(Policy = "AllRolesPolicy")] [HttpPost()] - public async Task AddEmployeeSalary([FromBody] EmployeeSalaryDetailsDto employeeSalaryDetailsDto) + public async Task AddEmployeeSalary([FromBody] BankingSalaryDetailsDto employeeSalaryDetailsDto) { if (!_identity.IsSupport && (employeeSalaryDetailsDto.Id != _identity.EmployeeId)) throw new CustomException("User data being accessed does not match user making the request."); @@ -61,7 +61,7 @@ public async Task AddEmployeeSalary([FromBody] EmployeeSalaryDeta [Authorize(Policy = "AllRolesPolicy")] [HttpPut()] - public async Task UpdateSalary([FromBody] EmployeeSalaryDetailsDto employeeSalaryDetailsDto) + public async Task UpdateSalary([FromBody] BankingSalaryDetailsDto employeeSalaryDetailsDto) { if (!_identity.IsSupport && (employeeSalaryDetailsDto.Id != _identity.EmployeeId)) throw new CustomException("User data being accessed does not match user making the request."); diff --git a/RR.App/Controllers/HRIS/WorkExperienceController.cs b/RR.App/Controllers/HRIS/WorkExperienceController.cs index 0d156aebe..089bd6619 100644 --- a/RR.App/Controllers/HRIS/WorkExperienceController.cs +++ b/RR.App/Controllers/HRIS/WorkExperienceController.cs @@ -1,4 +1,4 @@ -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Services.Interfaces; using HRIS.Services.Services; using HRIS.Services.Session; diff --git a/RR.UnitOfWork.Tests/Entities/EmployeeAddressUnitTests.cs b/RR.UnitOfWork.Tests/Entities/EmployeeAddressUnitTests.cs index 7d912401e..1660581d6 100644 --- a/RR.UnitOfWork.Tests/Entities/EmployeeAddressUnitTests.cs +++ b/RR.UnitOfWork.Tests/Entities/EmployeeAddressUnitTests.cs @@ -1,4 +1,5 @@ using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using RR.UnitOfWork.Entities.HRIS; using Xunit; diff --git a/RR.UnitOfWork.Tests/Entities/EmployeeBankingUnitTests.cs b/RR.UnitOfWork.Tests/Entities/EmployeeBankingUnitTests.cs index b49e41b31..f6f0c8800 100644 --- a/RR.UnitOfWork.Tests/Entities/EmployeeBankingUnitTests.cs +++ b/RR.UnitOfWork.Tests/Entities/EmployeeBankingUnitTests.cs @@ -1,4 +1,5 @@ using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using RR.UnitOfWork.Entities.HRIS; using Xunit; diff --git a/RR.UnitOfWork.Tests/Entities/EmployeeDataUnitTests.cs b/RR.UnitOfWork.Tests/Entities/EmployeeDataUnitTests.cs index 4eb53cc9b..5df20ebe3 100644 --- a/RR.UnitOfWork.Tests/Entities/EmployeeDataUnitTests.cs +++ b/RR.UnitOfWork.Tests/Entities/EmployeeDataUnitTests.cs @@ -1,4 +1,5 @@ using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using RR.UnitOfWork.Entities.HRIS; using Xunit; diff --git a/RR.UnitOfWork.Tests/Entities/EmployeeDateUnitTests.cs b/RR.UnitOfWork.Tests/Entities/EmployeeDateUnitTests.cs index 7d03d26e4..d594af314 100644 --- a/RR.UnitOfWork.Tests/Entities/EmployeeDateUnitTests.cs +++ b/RR.UnitOfWork.Tests/Entities/EmployeeDateUnitTests.cs @@ -1,4 +1,5 @@ using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using RR.UnitOfWork.Entities.HRIS; using Xunit; diff --git a/RR.UnitOfWork.Tests/Entities/EmployeeDocumentUnitTests.cs b/RR.UnitOfWork.Tests/Entities/EmployeeDocumentUnitTests.cs index 2fd0a4c41..95d21eaef 100644 --- a/RR.UnitOfWork.Tests/Entities/EmployeeDocumentUnitTests.cs +++ b/RR.UnitOfWork.Tests/Entities/EmployeeDocumentUnitTests.cs @@ -1,4 +1,5 @@ using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using RR.UnitOfWork.Entities.HRIS; using Xunit; diff --git a/RR.UnitOfWork.Tests/Repositories/EmployeeDateRepositoryUnitTest.cs b/RR.UnitOfWork.Tests/Repositories/EmployeeDateRepositoryUnitTest.cs index 015d89f36..8f0fb469e 100644 --- a/RR.UnitOfWork.Tests/Repositories/EmployeeDateRepositoryUnitTest.cs +++ b/RR.UnitOfWork.Tests/Repositories/EmployeeDateRepositoryUnitTest.cs @@ -1,5 +1,6 @@ using System.Linq.Expressions; using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.ChangeTracking; diff --git a/RR.UnitOfWork/Entities/HRIS/EmployeeAddress.cs b/RR.UnitOfWork/Entities/HRIS/EmployeeAddress.cs index 12bf6f74a..55a0115ab 100644 --- a/RR.UnitOfWork/Entities/HRIS/EmployeeAddress.cs +++ b/RR.UnitOfWork/Entities/HRIS/EmployeeAddress.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using HRIS.Models; +using HRIS.Models.Employee.Commons; using RR.UnitOfWork.Interfaces; namespace RR.UnitOfWork.Entities.HRIS; diff --git a/RR.UnitOfWork/Entities/HRIS/EmployeeBanking.cs b/RR.UnitOfWork/Entities/HRIS/EmployeeBanking.cs index 4259d8726..8e89420dc 100644 --- a/RR.UnitOfWork/Entities/HRIS/EmployeeBanking.cs +++ b/RR.UnitOfWork/Entities/HRIS/EmployeeBanking.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using RR.UnitOfWork.Interfaces; diff --git a/RR.UnitOfWork/Entities/HRIS/EmployeeData.cs b/RR.UnitOfWork/Entities/HRIS/EmployeeData.cs index 6b3c147e0..f80e8a629 100644 --- a/RR.UnitOfWork/Entities/HRIS/EmployeeData.cs +++ b/RR.UnitOfWork/Entities/HRIS/EmployeeData.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using HRIS.Models; +using HRIS.Models.Employee.Commons; using RR.UnitOfWork.Interfaces; namespace RR.UnitOfWork.Entities.HRIS; @@ -14,7 +14,7 @@ public EmployeeData() public EmployeeData(EmployeeDataDto employeeDataDto) { - Id = employeeDataDto.Id; + Id = (int)employeeDataDto.Id!; EmployeeId = employeeDataDto.EmployeeId; FieldCodeId = employeeDataDto.FieldCodeId; Value = employeeDataDto.Value; @@ -28,7 +28,7 @@ public EmployeeData(EmployeeDataDto employeeDataDto) [ForeignKey("FieldCode")] public int FieldCodeId { get; set; } - [Column("value")] public string Value { get; set; } = null!; + [Column("value")] public string? Value { get; set; } = null!; public virtual Employee? Employee { get; set; } public virtual FieldCode? FieldCode { get; set; } diff --git a/RR.UnitOfWork/Entities/HRIS/EmployeeQualification.cs b/RR.UnitOfWork/Entities/HRIS/EmployeeQualification.cs index 26f915747..3e22af80c 100644 --- a/RR.UnitOfWork/Entities/HRIS/EmployeeQualification.cs +++ b/RR.UnitOfWork/Entities/HRIS/EmployeeQualification.cs @@ -1,8 +1,8 @@ -using HRIS.Models; -using RR.UnitOfWork.Interfaces; +using RR.UnitOfWork.Interfaces; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using HRIS.Models.Enums.QualificationEnums; +using HRIS.Models.Employee.Commons; namespace RR.UnitOfWork.Entities.HRIS; diff --git a/RR.UnitOfWork/Entities/HRIS/EmployeeSalaryDetails.cs b/RR.UnitOfWork/Entities/HRIS/EmployeeSalaryDetails.cs index 60813db86..454bc30c1 100644 --- a/RR.UnitOfWork/Entities/HRIS/EmployeeSalaryDetails.cs +++ b/RR.UnitOfWork/Entities/HRIS/EmployeeSalaryDetails.cs @@ -1,6 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; -using HRIS.Models; +using HRIS.Models.Employee.Commons; using HRIS.Models.Enums; using RR.UnitOfWork.Interfaces; @@ -11,7 +11,7 @@ public class EmployeeSalaryDetails : IModel { public EmployeeSalaryDetails() {} - public EmployeeSalaryDetails(EmployeeSalaryDetailsDto employeeSalaryDetailsDto) + public EmployeeSalaryDetails(BankingSalaryDetailsDto employeeSalaryDetailsDto) { Id = employeeSalaryDetailsDto.Id; EmployeeId = employeeSalaryDetailsDto.EmployeeId!; @@ -38,9 +38,9 @@ public EmployeeSalaryDetails(EmployeeSalaryDetailsDto employeeSalaryDetailsDto) [Key][Column("id")] public int Id { get; set; } - public EmployeeSalaryDetailsDto ToDto() + public BankingSalaryDetailsDto ToDto() { - return new EmployeeSalaryDetailsDto + return new BankingSalaryDetailsDto { Id = Id, EmployeeId = EmployeeId, diff --git a/RR.UnitOfWork/Entities/HRIS/WorkExperience.cs b/RR.UnitOfWork/Entities/HRIS/WorkExperience.cs index d96c351bc..bef54530a 100644 --- a/RR.UnitOfWork/Entities/HRIS/WorkExperience.cs +++ b/RR.UnitOfWork/Entities/HRIS/WorkExperience.cs @@ -1,7 +1,7 @@ using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; -using HRIS.Models; using RR.UnitOfWork.Interfaces; +using HRIS.Models.Employee.Commons; namespace RR.UnitOfWork.Entities.HRIS;