diff --git a/Disco.BI/BI/Interop/Community/UpdateCheck.cs b/Disco.BI/BI/Interop/Community/UpdateCheck.cs index 6393006d..91e07c94 100644 --- a/Disco.BI/BI/Interop/Community/UpdateCheck.cs +++ b/Disco.BI/BI/Interop/Community/UpdateCheck.cs @@ -1,16 +1,14 @@ -using System; +using Disco.Data.Repository; +using Disco.Models.BI.Interop.Community; +using Disco.Models.Repository; +using Disco.Services.Tasks; +using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; -using System.Text; -using System.Threading.Tasks; using System.Xml.Linq; using System.Xml.Serialization; -using Disco.Data.Repository; -using Disco.Models.BI.Interop.Community; -using Disco.Services.Tasks; -using Newtonsoft.Json; namespace Disco.BI.Interop.Community { @@ -108,6 +106,7 @@ namespace Disco.BI.Interop.Community m.Stat_JobCounts = Database.Jobs.GroupBy(j => j.JobTypeId).Select(g => new Disco.Models.BI.Interop.Community.UpdateRequestV1.Stat { Key = g.Key, Count = g.Count() }).ToList(); m.Stat_OpenJobCounts = Database.Jobs.Where(j => j.ClosedDate == null).GroupBy(j => j.JobTypeId).Select(g => new Disco.Models.BI.Interop.Community.UpdateRequestV1.Stat { Key = g.Key, Count = g.Count() }).ToList(); + m.Stat_DeviceModelCounts = Database.DeviceModels.Select(dm => new Disco.Models.BI.Interop.Community.UpdateRequestV1.Stat { Key = dm.Manufacturer + ";" + dm.Model, Count = dm.Devices.Count(d => d.DecommissionedDate == null) }).ToList(); var activeThreshold = DateTime.Now.AddDays(-60); m.Stat_ActiveDeviceModelCounts = Database.DeviceModels.Select(dm => new Disco.Models.BI.Interop.Community.UpdateRequestV1.Stat { Key = dm.Manufacturer + ";" + dm.Model, Count = dm.Devices.Count(d => d.DecommissionedDate == null && (d.LastNetworkLogonDate == null || d.LastNetworkLogonDate > activeThreshold)) }).ToList(); m.Stat_UserCounts = new List() { @@ -117,6 +116,8 @@ namespace Disco.BI.Interop.Community } }; + m.Stat_JobWarrantyVendorCounts = Database.Jobs.Where(j => j.JobTypeId == JobType.JobTypeIds.HWar && j.JobMetaWarranty.ExternalLoggedDate.HasValue && j.JobMetaWarranty.ExternalName != null).GroupBy(j => j.JobMetaWarranty.ExternalName).Select(g => new Disco.Models.BI.Interop.Community.UpdateRequestV1.Stat { Key = g.Key ?? "", Count = g.Count() }).ToList(); + m.InstalledPlugins = Disco.Services.Plugins.Plugins.GetPlugins().Select(manifest => new Disco.Models.BI.Interop.Community.UpdateRequestV1.PluginRef { Id = manifest.Id, Version = manifest.VersionFormatted }).ToList(); return m; diff --git a/Disco.BI/BI/Interop/Community/UpdateCheckTask.cs b/Disco.BI/BI/Interop/Community/UpdateCheckTask.cs index e80035d3..c8b0ab95 100644 --- a/Disco.BI/BI/Interop/Community/UpdateCheckTask.cs +++ b/Disco.BI/BI/Interop/Community/UpdateCheckTask.cs @@ -1,12 +1,8 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Disco.Data.Repository; -using Disco.Services.Logging; +using Disco.Data.Repository; using Disco.Services.Tasks; using Quartz; +using System; +using System.Linq; namespace Disco.BI.Interop.Community { diff --git a/Disco.Models/BI/Interop/Community/UpdateRequestV1.cs b/Disco.Models/BI/Interop/Community/UpdateRequestV1.cs index 8d4e1c09..0db656f5 100644 --- a/Disco.Models/BI/Interop/Community/UpdateRequestV1.cs +++ b/Disco.Models/BI/Interop/Community/UpdateRequestV1.cs @@ -20,10 +20,13 @@ namespace Disco.Models.BI.Interop.Community public List Stat_JobCounts { get; set; } public List Stat_OpenJobCounts { get; set; } public List Stat_ActiveDeviceModelCounts { get; set; } + public List Stat_DeviceModelCounts { get; set; } public List Stat_UserCounts { get; set; } public List InstalledPlugins { get; set; } + public List Stat_JobWarrantyVendorCounts { get; set; } + public class Stat { public string Key { get; set; }