diff --git a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidSearchViewModel.cs b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidSearchViewModel.cs index c6625186..095a65f6 100644 --- a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidSearchViewModel.cs +++ b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidSearchViewModel.cs @@ -3,15 +3,15 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using _0_Framework.Application; namespace CompanyManagment.App.Contracts.SalaryAid; -public class SalaryAidSearchViewModel +public class SalaryAidSearchViewModel:PaginationRequest { public string StartDate { get; set; } public string EndDate { get; set; } public long EmployeeId { get; set; } public long WorkshopId { get; set; } - public int PageIndex { get; set; } public bool ShowAsGrouped { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidsGroupedViewModel.cs b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidsGroupedViewModel.cs index 4787c202..a6c16bc9 100644 --- a/CompanyManagment.App.Contracts/SalaryAid/SalaryAidsGroupedViewModel.cs +++ b/CompanyManagment.App.Contracts/SalaryAid/SalaryAidsGroupedViewModel.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Security.Cryptography; +using _0_Framework.Application; namespace CompanyManagment.App.Contracts.SalaryAid; @@ -7,7 +8,7 @@ public class SalaryAidsGroupedViewModel { public List GroupedByEmployee { get; set; } public List GroupedByDate { get; set; } - public List SalaryAidListViewModels { get; set; } + public PagedResult SalaryAidListViewModels { get; set; } } diff --git a/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs b/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs index caf85912..d34cc35f 100644 --- a/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs +++ b/CompanyManagment.EFCore/Repository/SalaryAidRepository.cs @@ -197,23 +197,28 @@ public class SalaryAidRepository : RepositoryBase, ISalaryAidRe query = query.Where(x => x.SalaryAidDateTime >= startDate && x.SalaryAidDateTime <= endDate); } - result.SalaryAidListViewModels = query.OrderByDescending(x => x.SalaryAidDateTime).Skip(searchModel.PageIndex).Take(30).ToList().Select( - x => new SalaryAidViewModel() - { - Amount = x.Amount.ToMoney(), - CreationDate = x.CreationDate.ToFarsi(), - Id = x.id, - EmployeeId = x.EmployeeId, - SalaryAidDateTimeFa = x.SalaryAidDateTime.ToFarsi(), - SalaryAidDateTimeGe = x.SalaryAidDateTime, - WorkshopId = x.WorkshopId, - YearFa = x.SalaryAidDateTime.ToFarsi().Substring(0, 4), - MonthFa = x.SalaryAidDateTime.ToFarsi().Substring(5, 2), - PersonnelCode = personnelCodes.FirstOrDefault(p => p.EmployeeId == x.EmployeeId).PersonnelCode.ToString(), - EmployeeFullName = employees.FirstOrDefault(e => e.id == x.EmployeeId).FullName, - AmountDouble = x.Amount, - }).ToList(); - + result.SalaryAidListViewModels = new PagedResult() + { + TotalCount = query.Count(), + List = query.OrderByDescending(x => x.SalaryAidDateTime).ApplyPagination(searchModel.PageIndex,searchModel.PageSize).ToList() + .Select(x => new SalaryAidViewModel() + { + Amount = x.Amount.ToMoney(), + CreationDate = x.CreationDate.ToFarsi(), + Id = x.id, + EmployeeId = x.EmployeeId, + SalaryAidDateTimeFa = x.SalaryAidDateTime.ToFarsi(), + SalaryAidDateTimeGe = x.SalaryAidDateTime, + WorkshopId = x.WorkshopId, + YearFa = x.SalaryAidDateTime.ToFarsi().Substring(0, 4), + MonthFa = x.SalaryAidDateTime.ToFarsi().Substring(5, 2), + PersonnelCode = personnelCodes.FirstOrDefault(p => p.EmployeeId == x.EmployeeId).PersonnelCode + .ToString(), + EmployeeFullName = employees.FirstOrDefault(e => e.id == x.EmployeeId).FullName, + AmountDouble = x.Amount, + }).ToList() + }; + return result; } diff --git a/ServiceHost/Areas/Client/Controllers/SalaryAidController.cs b/ServiceHost/Areas/Client/Controllers/SalaryAidController.cs index a7641788..78d21157 100644 --- a/ServiceHost/Areas/Client/Controllers/SalaryAidController.cs +++ b/ServiceHost/Areas/Client/Controllers/SalaryAidController.cs @@ -1,4 +1,5 @@ using _0_Framework.Application; +using CompanyManagement.Infrastructure.Excel.SalaryAid; using CompanyManagment.App.Contracts.SalaryAid; using Microsoft.AspNetCore.Mvc; using ServiceHost.BaseControllers; @@ -9,10 +10,12 @@ public class SalaryAidController:ClientBaseController { private readonly ISalaryAidApplication _salaryAidApplication; private readonly long _workshopId; + private readonly SalaryAidImportExcel _salaryAidImportExcel; - public SalaryAidController(ISalaryAidApplication salaryAidApplication,IAuthHelper authHelper) + public SalaryAidController(ISalaryAidApplication salaryAidApplication,IAuthHelper authHelper, SalaryAidImportExcel salaryAidImportExcel) { _salaryAidApplication = salaryAidApplication; + _salaryAidImportExcel = salaryAidImportExcel; _workshopId = authHelper.GetWorkshopId(); } @@ -62,6 +65,13 @@ public class SalaryAidController:ClientBaseController var result = _salaryAidApplication.Remove(id); return result; } + + public ActionResult> OnPostValidateExcel(IFormFile excel) + { + var validation = _salaryAidImportExcel.ReadAndValidateExcel(excel, _workshopId); + + return validation; + } } public class EditSalaryAidRequest