diff --git a/Company.Domain/File1/IFileRepository.cs b/Company.Domain/File1/IFileRepository.cs index c5c1e475..8ac1cf0f 100644 --- a/Company.Domain/File1/IFileRepository.cs +++ b/Company.Domain/File1/IFileRepository.cs @@ -16,4 +16,10 @@ public interface IFileRepository : IRepository string GetEmployerFullNameById(long id); List GetAllEmploees(); List GetAllEmployers(); + + #region Mahan + + List GetFileList(FileSearchModel searchModel); + + #endregion } \ No newline at end of file diff --git a/CompanyManagment.App.Contracts/File1/FileSearchModel.cs b/CompanyManagment.App.Contracts/File1/FileSearchModel.cs index 3e4efdc8..86aac457 100644 --- a/CompanyManagment.App.Contracts/File1/FileSearchModel.cs +++ b/CompanyManagment.App.Contracts/File1/FileSearchModel.cs @@ -40,6 +40,9 @@ public class FileSearchModel public bool IsSearch { get; set; } + public int PageIndex { get; set; } + + } diff --git a/CompanyManagment.EFCore/Repository/FileRepository.cs b/CompanyManagment.EFCore/Repository/FileRepository.cs index 0930ea34..fcbf8ea3 100644 --- a/CompanyManagment.EFCore/Repository/FileRepository.cs +++ b/CompanyManagment.EFCore/Repository/FileRepository.cs @@ -96,24 +96,24 @@ public class FileRepository : RepositoryBase, query = query.Where(x => x.ArchiveNo == int.Parse(searchModel.ArchiveNo)); } - if(!string.IsNullOrEmpty(searchModel.FileClass) && searchModel.FileClass != "-1") + if (!string.IsNullOrEmpty(searchModel.FileClass) && searchModel.FileClass != "-1") { query = query.Where(x => x.FileClass.Contains(searchModel.FileClass)); } - if(searchModel.UserId != 0) + if (searchModel.UserId != 0) { if (searchModel.Client == 0) query = query.Where(x => x.Reqester == searchModel.UserId || x.Summoned == searchModel.UserId); - + else if (searchModel.Client == 1) query = query.Where(x => x.Reqester == searchModel.UserId); else query = query.Where(x => x.Summoned == searchModel.UserId); } - - if(searchModel.Status != 0) + + if (searchModel.Status != 0) { query = query.Where(x => x.Status == searchModel.Status); } @@ -240,7 +240,7 @@ public class FileRepository : RepositoryBase, //return result; } - + public long FindLastArchiveNumber() { var checkExist = _context.Files.Any(); @@ -261,17 +261,17 @@ public class FileRepository : RepositoryBase, EmployeeFullName = x.FName + " " + x.LName }).FirstOrDefault(); - return result.EmployeeFullName; + return result?.EmployeeFullName??""; } public string GetEmployerFullNameById(long id) { - var result = _context.Employers.Where(x=>x.id == id).Select(x => new EmployerViewModel() + var result = _context.Employers.Where(x => x.id == id).Select(x => new EmployerViewModel() { FullName = x.FullName }).FirstOrDefault(); - return result.FullName; + return result?.FullName??""; } public List GetAllEmploees() @@ -308,4 +308,57 @@ public class FileRepository : RepositoryBase, }).ToList(); } + + public List GetFileList(FileSearchModel searchModel) + { + var query = _context.Files.Select(x => new FileViewModel + { + Id = x.id, + ArchiveNo = x.ArchiveNo, + ClientVisitDate = x.ClientVisitDate.ToFarsi(), + ProceederReference = x.ProceederReference, + Reqester = x.Reqester, + Summoned = x.Summoned, + Client = x.Client, + FileClass = x.FileClass, + HasMandate = x.HasMandate, + Description = x.Description, + Status = x.Status + }); + + if (searchModel.Id != 0) + { + query = query.Where(x => x.Id == searchModel.Id); + } + + //TODO if + if (searchModel.ArchiveNo != null && int.Parse(searchModel.ArchiveNo) != -1) + { + query = query.Where(x => x.ArchiveNo == int.Parse(searchModel.ArchiveNo)); + } + + if (!string.IsNullOrEmpty(searchModel.FileClass) && searchModel.FileClass != "-1") + { + query = query.Where(x => x.FileClass.Contains(searchModel.FileClass)); + } + + if (searchModel.UserId != 0) + { + if (searchModel.Client == 0) + query = query.Where(x => x.Reqester == searchModel.UserId || x.Summoned == searchModel.UserId); + + else if (searchModel.Client == 1) + query = query.Where(x => x.Reqester == searchModel.UserId); + + else + query = query.Where(x => x.Summoned == searchModel.UserId); + } + + if (searchModel.Status != 0) + { + query = query.Where(x => x.Status == searchModel.Status); + } + + return query.OrderByDescending(x => x.ArchiveNo).Skip(searchModel.PageIndex).Take(30).ToList(); + } } \ No newline at end of file diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml index e8e340a3..16b78113 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml @@ -313,6 +313,7 @@ { var background = ""; var status = 0; + var activationStatus = 0; var style = ""; var exitStyle = ""; if (item.HasMandate == 1) @@ -934,12 +935,12 @@ @if (item.Status == FileEnums.DEACTIVE) { style = "background-color: #fff; border-color: #ef5350; color: #ef5350 !important"; - status = FileEnums.DEACTIVE; + status = FileEnums.ACTIVE; } else { style = "background-color: #ef5350; border-color: #ef5350;"; - status = FileEnums.ACTIVE; + status = FileEnums.DEACTIVE; } diff --git a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs index f38e226d..9ca7a73c 100644 --- a/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs +++ b/ServiceHost/Areas/Admin/Pages/Company/FilePage/Index.cshtml.cs @@ -101,7 +101,8 @@ public class IndexModel : PageModel { ArchiveNo_FileClass_UserIdList = allFiles.Select(x => new ArchiveNo_FileClass_UserIdList { - ArchiveNo = x.ArchiveNo.ToString(), FileClass = x.FileClass, + ArchiveNo = x.ArchiveNo.ToString(), + FileClass = x.FileClass, UserId = x.Client == 1 ? x.Reqester : x.Summoned }).ToList(), UsersList = _fileApplication.GetAllEmploees().Select(x => new Users