diff --git a/Company.Domain/LoanAgg/ILoanRepository.cs b/Company.Domain/LoanAgg/ILoanRepository.cs index 324b0951..bb62a18f 100644 --- a/Company.Domain/LoanAgg/ILoanRepository.cs +++ b/Company.Domain/LoanAgg/ILoanRepository.cs @@ -7,7 +7,7 @@ namespace Company.Domain.LoanAgg; public interface ILoanRepository:IRepository { - List GetSearchList(LoanSearchViewModel searchViewModel); + List GetSearchList(LoanSearchViewModel searchViewModel); LoanViewModel GetDetails(long id); void Remove(Loan entity); List GetBy(IEnumerable ids); diff --git a/CompanyManagment.App.Contracts/Fine/FineSearchViewModel.cs b/CompanyManagment.App.Contracts/Fine/FineSearchViewModel.cs index add2fb34..4782c1d9 100644 --- a/CompanyManagment.App.Contracts/Fine/FineSearchViewModel.cs +++ b/CompanyManagment.App.Contracts/Fine/FineSearchViewModel.cs @@ -4,15 +4,9 @@ using System; namespace CompanyManagment.App.Contracts.Fine; public class FineSearchViewModel { - public long Id { get; set; } public long EmployeeId { get; set; } public long WorkshopId { get; set; } - public string EmployeeFullName { get; set; } - public string Title { get; set; } - public string PersonnelCode { get; set; } - public string Amount { get; set; } - public IsActive IsActive { get; set; } - public string FineDate { get; set; } - public DateTime CreationDate { get; set; } public int PageIndex { get; set; } + public string StartDate { get; set; } + public string EndDate { get; set; } } diff --git a/CompanyManagment.App.Contracts/Loan/ILoanApplication.cs b/CompanyManagment.App.Contracts/Loan/ILoanApplication.cs index ce3ada56..63dcfdb3 100644 --- a/CompanyManagment.App.Contracts/Loan/ILoanApplication.cs +++ b/CompanyManagment.App.Contracts/Loan/ILoanApplication.cs @@ -5,7 +5,7 @@ namespace CompanyManagment.App.Contracts.Loan; public interface ILoanApplication { - List GetSearchList(LoanSearchViewModel searchViewModel); + List GetSearchList(LoanSearchViewModel searchViewModel); LoanViewModel GetDetails(long id); OperationResult Create(CreateLoanViewModel command); List CalculateLoanInstallment(string amount , int installmentCount,string loanStartDate,bool getRounded); diff --git a/CompanyManagment.App.Contracts/Loan/LoanSearchViewModel.cs b/CompanyManagment.App.Contracts/Loan/LoanSearchViewModel.cs index 3f2978ee..697be5fe 100644 --- a/CompanyManagment.App.Contracts/Loan/LoanSearchViewModel.cs +++ b/CompanyManagment.App.Contracts/Loan/LoanSearchViewModel.cs @@ -8,12 +8,8 @@ public class LoanSearchViewModel public long Id { get; set; } public long EmployeeId { get; set; } public long WorkshopId { get; set; } - public string EmployeeFullName { get; set; } - public string PersonnelCode { get; set; } - public string StartDateTime { get; set; } - public string Count { get; set; } - public string Amount { get; set; } - public string AmountPerMonth { get; set; } - public DateTime CreationDate { get; set; } + public string StartDate { get; set; } + public string EndDate { get; set; } + public int PageIndex { get; set; } } diff --git a/CompanyManagment.App.Contracts/Loan/LoanViewModel.cs b/CompanyManagment.App.Contracts/Loan/LoanViewModel.cs index 878f6bd9..2a263415 100644 --- a/CompanyManagment.App.Contracts/Loan/LoanViewModel.cs +++ b/CompanyManagment.App.Contracts/Loan/LoanViewModel.cs @@ -1,4 +1,7 @@ -namespace CompanyManagment.App.Contracts.Loan; +using System.Collections.Generic; +using System; + +namespace CompanyManagment.App.Contracts.Loan; public class LoanViewModel { public long Id { get; set; } @@ -9,4 +12,7 @@ public class LoanViewModel public string Count { get; set; } public string Amount { get; set; } public string AmountPerMonth { get; set; } + public List Installment { get; set; } + public string PersonnelCode { get; set; } + public DateTime CreationDate { get; set; } } diff --git a/CompanyManagment.App.Contracts/Reward/RewardSearchModel.cs b/CompanyManagment.App.Contracts/Reward/RewardSearchModel.cs index 25167a13..a14088b2 100644 --- a/CompanyManagment.App.Contracts/Reward/RewardSearchModel.cs +++ b/CompanyManagment.App.Contracts/Reward/RewardSearchModel.cs @@ -4,5 +4,7 @@ public class RewardSearchModel public long EmployeeId { get; set; } public long WorkshopId { get; set; } public string PersonnelCode { get; set; } + public string StartDate { get; set; } + public string EndDate { get; set; } public int PageIndex { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidSearchViewModel.cs b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidSearchViewModel.cs index 2dfc66bd..3e6e4394 100644 --- a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidSearchViewModel.cs +++ b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidSearchViewModel.cs @@ -3,13 +3,9 @@ namespace CompanyManagment.App.Contracts.SalaryAid; public class SalaryAidSearchViewModel { - public long Id { get; set; } + public string StartDate { get; set; } + public string EndDate { get; set; } public long EmployeeId { get; set; } public long WorkshopId { get; set; } - public string EmployeeFullName { get; set; } - public string PersonnelCode { get; set; } - public string Amount { get; set; } - public string SalaryDateTime { get; set; } - public DateTime CreationDate { get; set; } public int PageIndex { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.Application/LoanApplication.cs b/CompanyManagment.Application/LoanApplication.cs index 4578ba9a..c4fafb76 100644 --- a/CompanyManagment.Application/LoanApplication.cs +++ b/CompanyManagment.Application/LoanApplication.cs @@ -25,7 +25,7 @@ public class LoanApplication : ILoanApplication _customizeCheckoutRepository = customizeCheckoutRepository; } - public List GetSearchList(LoanSearchViewModel searchModel) + public List GetSearchList(LoanSearchViewModel searchModel) { return _loanRepository.GetSearchList(searchModel); } diff --git a/CompanyManagment.EFCore/Repository/FineRepository.cs b/CompanyManagment.EFCore/Repository/FineRepository.cs index 1261b80e..a5aba7ae 100644 --- a/CompanyManagment.EFCore/Repository/FineRepository.cs +++ b/CompanyManagment.EFCore/Repository/FineRepository.cs @@ -22,6 +22,13 @@ public class FineRepository : RepositoryBase, IFineRepository if (searchModel.EmployeeId != 0) query = query.Where(x => x.EmployeeId == searchModel.EmployeeId); + + if (!string.IsNullOrWhiteSpace(searchModel.StartDate) && !string.IsNullOrWhiteSpace(searchModel.EndDate)) + { + var startDate = searchModel.StartDate.ToGeorgianDateTime(); + var endDate = searchModel.EndDate.ToGeorgianDateTime(); + query = query.Where(x => x.FineDate >= startDate && x.FineDate <= endDate); + } var result = query.OrderByDescending(x => x.CreationDate).Skip(searchModel.PageIndex).Take(30).Select(x => new FineViewModel() { Id = x.id, diff --git a/CompanyManagment.EFCore/Repository/LoanRepository.cs b/CompanyManagment.EFCore/Repository/LoanRepository.cs index 49396057..b4ffaa53 100644 --- a/CompanyManagment.EFCore/Repository/LoanRepository.cs +++ b/CompanyManagment.EFCore/Repository/LoanRepository.cs @@ -37,32 +37,41 @@ public class LoanRepository:RepositoryBase,ILoanRepository return _companyContext.Loans.Where(x => ids.Contains(x.id)).ToList(); } - public List GetSearchList(LoanSearchViewModel searchViewModel) + public List GetSearchList(LoanSearchViewModel searchViewModel) { var query = _companyContext.Loans.Where(x => x.WorkshopId == searchViewModel.WorkshopId); if (searchViewModel.EmployeeId != 0) query = query.Where(x => x.EmployeeId == searchViewModel.EmployeeId); - + + if (!string.IsNullOrWhiteSpace(searchViewModel.StartDate) && !string.IsNullOrWhiteSpace(searchViewModel.EndDate)) + { + var startDate = searchViewModel.StartDate.ToGeorgianDateTime(); + var endDate = searchViewModel.EndDate.ToGeorgianDateTime(); + + query = query.Where(x => x.LoanGrantDate <= endDate && x.LoanGrantDate >= startDate); + } + + var employeeIds = query.Select(x => x.EmployeeId); var personnelCodes = _companyContext.PersonnelCodeSet.Where(x => x.WorkshopId == searchViewModel.WorkshopId && employeeIds.Contains(x.EmployeeId)); - + var employees = _companyContext.Employees.Where(x => employeeIds.Contains(x.id)).AsSplitQuery(); - return query.Select(x => new LoanSearchViewModel() - { - Id = x.id, - WorkshopId = x.WorkshopId, - EmployeeId = x.EmployeeId, - EmployeeFullName =employees.FirstOrDefault(e => e.id == x.EmployeeId).FullName, + return query.Select(x => new LoanViewModel() + { + Id = x.id, + WorkshopId = x.WorkshopId, + EmployeeId = x.EmployeeId, + EmployeeFullName = employees.FirstOrDefault(e => e.id == x.EmployeeId).FullName, PersonnelCode = personnelCodes.FirstOrDefault(e => e.EmployeeId == x.EmployeeId && e.WorkshopId == searchViewModel.WorkshopId).PersonnelCode.ToString(), - StartDateTime = x.StartInstallmentPayment.ToFarsi(), - Count = x.Count, - Amount = x.Amount.ToMoney(), - AmountPerMonth = x.AmountPerMonth.ToMoney(), - CreationDate = x.CreationDate + StartDateTime = x.StartInstallmentPayment.ToFarsi(), + Count = x.Count, + Amount = x.Amount.ToMoney(), + AmountPerMonth = x.AmountPerMonth.ToMoney(), + CreationDate = x.CreationDate }).OrderByDescending(x => x.CreationDate).Skip(searchViewModel.PageIndex).AsSplitQuery().Take(30).ToList(); } } \ No newline at end of file diff --git a/CompanyManagment.EFCore/Repository/RewardRepository.cs b/CompanyManagment.EFCore/Repository/RewardRepository.cs index 1b113ce9..8abc2e15 100644 --- a/CompanyManagment.EFCore/Repository/RewardRepository.cs +++ b/CompanyManagment.EFCore/Repository/RewardRepository.cs @@ -21,8 +21,14 @@ public class RewardRepository : RepositoryBase, IRewardRepository if (searchViewModel.EmployeeId != 0) query = query.Where(x => x.EmployeeId == searchViewModel.EmployeeId); - var enumQuery = query; - var result = enumQuery.OrderByDescending(x=>x.CreationDate).Select(x => new RewardViewModel() + if (!string.IsNullOrWhiteSpace(searchViewModel.StartDate) && !string.IsNullOrWhiteSpace(searchViewModel.EndDate)) + { + var startDate = searchViewModel.StartDate.ToGeorgianDateTime(); + var endDate = searchViewModel.EndDate.ToGeorgianDateTime(); + query = query.Where(x => x.GrantDate >= startDate && x.GrantDate <= endDate); + } + + var result = query.OrderByDescending(x => x.CreationDate).Select(x => new RewardViewModel() { Id = x.id, EmployeeId = x.EmployeeId, @@ -42,14 +48,14 @@ public class RewardRepository : RepositoryBase, IRewardRepository CreationDate = x.CreationDate, Description = x.Description, GrantDate = x.GrantDate, - EmployeeFullName = employees.FirstOrDefault(e => e.id == x.EmployeeId).FullName , + EmployeeFullName = employees.FirstOrDefault(e => e.id == x.EmployeeId).FullName, Id = x.Id, PersonnelCode = personnelCodes .FirstOrDefault(a => a.WorkshopId == x.WorkshopId && a.EmployeeId == x.EmployeeId).PersonnelCode .ToString(), WorkshopId = x.WorkshopId, EmployeeId = x.EmployeeId - }).ToList(); + }).ToList(); } public EditRewardViewModel GetDetails(long id) diff --git a/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs b/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs index df342e4b..4c401251 100644 --- a/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs +++ b/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs @@ -22,6 +22,16 @@ public class SalaryAidRepository:RepositoryBase,ISalaryAidReposi if (searchViewModel.EmployeeId != 0) query = query.Where(x => x.EmployeeId == searchViewModel.EmployeeId); + + if (!string.IsNullOrWhiteSpace(searchViewModel.StartDate) && !string.IsNullOrWhiteSpace(searchViewModel.EndDate)) + { + var startDate = searchViewModel.StartDate.ToGeorgianDateTime(); + var endDate = searchViewModel.EndDate.ToGeorgianDateTime(); + query = query.Where(x => x.SalaryAidDateTime >= startDate && x.SalaryAidDateTime <= endDate); + } + + + var result = query.OrderByDescending(x => x.CreationDate).Skip(searchViewModel.PageIndex).Take(30).AsEnumerable(); var employees = _companyContext.Employees.Where(x => result.Any(a => a.EmployeeId == x.id)).ToList(); @@ -38,15 +48,15 @@ public class SalaryAidRepository:RepositoryBase,ISalaryAidReposi PersonnelCode = personnelCodes .FirstOrDefault(a => a.WorkshopId == x.WorkshopId && a.EmployeeId == x.EmployeeId)?.PersonnelCode .ToString(), - EmployeeId = x.EmployeeId, - SalaryAidDateTimeFa = x.SalaryAidDateTime.ToFarsi(), - SalaryAidDateTimeGe = x.SalaryAidDateTime, - WorkshopId = x.WorkshopId + EmployeeId = x.EmployeeId, + SalaryAidDateTimeFa = x.SalaryAidDateTime.ToFarsi(), + SalaryAidDateTimeGe = x.SalaryAidDateTime, + WorkshopId = x.WorkshopId }).ToList(); - } + } - public EditSalaryAidViewModel GetDetails(long id) + public EditSalaryAidViewModel GetDetails(long id) { var entity = _companyContext.SalaryAids.FirstOrDefault(x => x.id == id); if (entity == null) diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/LeaveCreateModal.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/LeaveCreateModal.cshtml index 1fdfcd00..cbf25519 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/LeaveCreateModal.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/LeaveCreateModal.cshtml @@ -649,6 +649,12 @@ $(".dateTime").each(function () { + let element = $(this); + element.on('input', function () { + let value = convertPersianNumbersToEnglish(element.val()); + element.val(value); + }); + new Cleave(this, { time: true, timePattern: ['h', 'm'] diff --git a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllList.cshtml b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllList.cshtml index 66f6be7a..0289458c 100644 --- a/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllList.cshtml +++ b/ServiceHost/Areas/Client/Pages/Company/Employees/PrintAllList.cshtml @@ -45,6 +45,10 @@ } */ @@media print { + body { + background: #fff !important; + } + body * { visibility: hidden; page-break-after: auto; @@ -172,7 +176,7 @@ } .titleH1 { - font-size: 24px; + font-size: 20px; margin: 0 !important; font-weight: 600; } @@ -368,23 +372,23 @@ -
-
-