Update #9: by default, hide decommissioned devices from search

This commit is contained in:
Gary Sharp
2025-07-05 14:14:07 +10:00
parent 6e99b4503b
commit caa0bedc93
5 changed files with 74 additions and 30 deletions
+19 -14
View File
@@ -261,7 +261,7 @@ namespace Disco.Services.Searching
#endregion
#region Devices
public static List<DeviceSearchResultItem> SearchDevices(DiscoDataContext Database, string Term, int? LimitCount = ActiveDirectory.DefaultSearchResultLimit, bool SearchDetails = false)
public static List<DeviceSearchResultItem> SearchDevices(DiscoDataContext Database, string Term, int? LimitCount = ActiveDirectory.DefaultSearchResultLimit, bool SearchDetails = false, bool includeDecommissioned = false)
{
IQueryable<Device> query;
@@ -269,23 +269,28 @@ namespace Disco.Services.Searching
if (SearchDetails)
{
query = Database.Devices.Where(d =>
d.AssetNumber.Contains(Term) ||
d.DeviceDomainId.Contains(Term) ||
d.SerialNumber.Contains(Term) ||
d.Location.Contains(Term) ||
Term.Contains(d.SerialNumber) ||
d.DeviceDetails.Any(dd => dd.Value.Contains(Term))
query = Database.Devices
.Where(d => includeDecommissioned || d.DecommissionedDate == null)
.Where(d =>
d.AssetNumber.Contains(Term) ||
d.DeviceDomainId.Contains(Term) ||
d.SerialNumber.Contains(Term) ||
d.Location.Contains(Term) ||
Term.Contains(d.SerialNumber) ||
d.DeviceDetails.Any(dd => dd.Value.Contains(Term))
);
}
else
{
query = Database.Devices.Where(d =>
d.AssetNumber.Contains(Term) ||
d.DeviceDomainId.Contains(Term) ||
d.SerialNumber.Contains(Term) ||
d.Location.Contains(Term) ||
Term.Contains(d.SerialNumber));
query = Database.Devices
.Where(d => includeDecommissioned || d.DecommissionedDate == null)
.Where(d =>
d.AssetNumber.Contains(Term) ||
d.DeviceDomainId.Contains(Term) ||
d.SerialNumber.Contains(Term) ||
d.Location.Contains(Term) ||
Term.Contains(d.SerialNumber)
);
}
return query