using Newtonsoft.Json; using System; using System.Collections.Generic; namespace Disco.Models.Services.Interop.DiscoServices { public class UpdateRequestV2 { public Guid DeploymentId { get; set; } public DateTime RequestDate { get; set; } public string VersionCurrent { get; set; } public bool IsBetaDeployment { get; set; } public string OrganisationName { get; set; } public string VicEduDeptWanId { get; set; } 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_JobIdentifiers { get; set; } public List Stat_Jobs { get; set; } public List Stat_EnrollmentDiscovery { get; set; } public class StatisticIntPair { [JsonProperty("B")] public int Begin; [JsonProperty("E")] public int End; } public class StatisticInt { [JsonProperty("K")] public string Key; [JsonProperty("V")] public int Value; } public class StatisticString { [JsonProperty("K")] public string Key; [JsonProperty("V")] public string Value; } public class StatisticJob { /// /// Job Identifier /// [JsonProperty("I")] public int Identifier { get; set; } /// /// Opened Date /// [JsonProperty("OD")] public DateTime OpenedDate { get; set; } /// /// Closed Date /// [JsonProperty("CD", NullValueHandling = NullValueHandling.Ignore)] public DateTime? ClosedDate { get; set; } /// /// Job Type /// [JsonProperty("T")] public string Type { get; set; } /// /// Job Sub Types (Semicolon Separated) /// [JsonProperty("ST")] public string SubTypes { get; set; } /// /// Deployment-Unique Device Serial Identifier (Device Serial Number anonymized via hashing salted with Deployment Secret) /// [JsonProperty("D", NullValueHandling = NullValueHandling.Ignore)] public string DeviceIdentifier { get; set; } /// /// Deployment-Unique Job User Identifier (Job User Id anonymized via hashing salted with Deployment Secret) /// [JsonProperty("U", NullValueHandling = NullValueHandling.Ignore)] public string UserIdentifier { get; set; } /// /// Deployment-Unique Job Technician Identifier (Job Technician Id anonymized via hashing salted with Deployment Secret) /// [JsonProperty("TI")] public string TechnicianIdentifier { get; set; } /// /// Device Model /// [JsonProperty("DM", NullValueHandling = NullValueHandling.Ignore)] public string DeviceModel { get; set; } /// /// External Repairer /// [JsonProperty("R", NullValueHandling = NullValueHandling.Ignore)] public string Repairer { get; set; } /// /// External Repairer Logged /// [JsonProperty("RL", NullValueHandling = NullValueHandling.Ignore)] public DateTime? RepairerLogged { get; set; } /// /// External Repairer Completed /// [JsonProperty("RC", NullValueHandling = NullValueHandling.Ignore)] public DateTime? RepairerCompleted { get; set; } } } }