From 4283b62803258f14495ff4a216a51d4b83a1a0e1 Mon Sep 17 00:00:00 2001 From: Gary Sharp Date: Thu, 11 Sep 2014 16:48:45 +1000 Subject: [PATCH] Bug Fix: Job searching with username When searching jobs, the default domain is now assumed if none is provided when checking for job users. --- Disco.Services/Searching/Search.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Disco.Services/Searching/Search.cs b/Disco.Services/Searching/Search.cs index afc72af5..77c4b9e7 100644 --- a/Disco.Services/Searching/Search.cs +++ b/Disco.Services/Searching/Search.cs @@ -22,6 +22,8 @@ namespace Disco.Services.Searching IQueryable query = default(IQueryable); + string userIdTerm = Term.Contains('\\') ? Term : ActiveDirectory.ParseDomainAccountId(Term); + if (int.TryParse(Term, out termInt)) { // Term is a Number (int) @@ -29,7 +31,7 @@ namespace Disco.Services.Searching j.Id == termInt || j.Device.SerialNumber.Contains(Term) || j.Device.AssetNumber.Contains(Term) || - j.User.UserId == Term || + j.User.UserId == userIdTerm || j.User.DisplayName.Contains(Term)); } else @@ -37,7 +39,7 @@ namespace Disco.Services.Searching query = Database.Jobs.Where(j => j.Device.SerialNumber.Contains(Term) || j.Device.AssetNumber.Contains(Term) || - j.User.UserId == Term || + j.User.UserId == userIdTerm || j.User.DisplayName.Contains(Term)); } @@ -65,6 +67,8 @@ namespace Disco.Services.Searching IQueryable query = default(IQueryable); + string userIdTerm = Term.Contains('\\') ? Term : ActiveDirectory.ParseDomainAccountId(Term); + if (int.TryParse(Term, out termInt)) { // Term is a Number (int) @@ -75,7 +79,7 @@ namespace Disco.Services.Searching j.DeviceHeldLocation.Contains(Term) || j.Device.SerialNumber.Contains(Term) || j.Device.AssetNumber.Contains(Term) || - j.User.UserId == Term || + j.User.UserId == userIdTerm || j.User.Surname.Contains(Term) || j.User.GivenName.Contains(Term) || j.User.DisplayName.Contains(Term) || @@ -89,7 +93,7 @@ namespace Disco.Services.Searching j.DeviceHeldLocation.Contains(Term) || j.Device.SerialNumber.Contains(Term) || j.Device.AssetNumber.Contains(Term) || - j.User.UserId == Term || + j.User.UserId == userIdTerm || j.User.Surname.Contains(Term) || j.User.GivenName.Contains(Term) || j.User.DisplayName.Contains(Term)); @@ -103,7 +107,7 @@ namespace Disco.Services.Searching j.DeviceHeldLocation.Contains(Term) || j.Device.SerialNumber.Contains(Term) || j.Device.AssetNumber.Contains(Term) || - j.User.UserId == Term || + j.User.UserId == userIdTerm || j.User.Surname.Contains(Term) || j.User.GivenName.Contains(Term) || j.User.DisplayName.Contains(Term) || @@ -116,7 +120,7 @@ namespace Disco.Services.Searching j.DeviceHeldLocation.Contains(Term) || j.Device.SerialNumber.Contains(Term) || j.Device.AssetNumber.Contains(Term) || - j.User.UserId == Term || + j.User.UserId == userIdTerm || j.User.Surname.Contains(Term) || j.User.GivenName.Contains(Term) || j.User.DisplayName.Contains(Term));