zinab_elgendy пре 5 месеци
родитељ
комит
836a04ccf0
1 измењених фајлова са 25 додато и 10 уклоњено
  1. 25 10
      MTWorkHR.Application/Services/User/UserService.cs

+ 25 - 10
MTWorkHR.Application/Services/User/UserService.cs

@@ -168,18 +168,33 @@ namespace MTWorkHR.Application.Services
                 .Include(u => u.Qualification).Include(u => u.JobTitle).Include(u => u.University).Include(u => u.Industry).Include(u => u.Country)
                 .Where(e => _globalInfo.CompanyId == null || e.CompanyId != _globalInfo.CompanyId)
                 .AsQueryable();
-
-            if (PagingInputDto.Filter != null)
+            var filter = PagingInputDto.Filter;
+            query = query.Where(u =>
+         u.UserName.Contains(filter) ||
+         u.Email.Contains(filter) ||
+         u.FavoriteName.Contains(filter) ||
+         u.Position.Contains(filter) ||
+         u.PhoneNumber.Contains(filter));
+
+            // Check if the filter contains a space (indicating a full name)
+            if (filter.Contains(" "))
+            {
+                var fullName = filter.Split(" ");
+                var firstNameFilter = fullName[0];
+                var lastNameFilter = fullName.Length > 1 ? fullName[1] : "";
+
+                query = query.Where(u =>
+                    (u.FirstName.Contains(firstNameFilter) &&
+                     (string.IsNullOrEmpty(lastNameFilter) || u.LastName.Contains(lastNameFilter))) ||
+                    (u.LastName.Contains(lastNameFilter) &&
+                     (string.IsNullOrEmpty(firstNameFilter) || u.FirstName.Contains(firstNameFilter))));
+            }
+            else
             {
-                var filter = PagingInputDto.Filter;
-                query = query.Where(u => 
-                    u.UserName.Contains(filter) ||
-                    u.Email.Contains(filter) ||
+                // If there's no space, apply the filter for individual names
+                query = query.Where(u =>
                     u.FirstName.Contains(filter) ||
-                    u.LastName.Contains(filter) ||
-                    u.FavoriteName.Contains(filter) ||
-                    u.Position.Contains(filter) ||
-                    u.PhoneNumber.Contains(filter));
+                    u.LastName.Contains(filter));
             }
             if (PagingInputDto.IndustryId != null && PagingInputDto.IndustryId.Count > 0)
             {