using Disco.Models.Services.Documents; using Disco.Models.Services.Jobs.JobLists; using Disco.Models.UI.Device; using Disco.Services.Plugins; using Disco.Services.Plugins.Features.DocumentHandlerProvider; using Disco.Web.Models.Shared; using System.Collections.Generic; using System.Linq; namespace Disco.Web.Models.Device { public class ShowModel : DeviceShowModel { public Disco.Models.Repository.Device Device { get; set; } public List DeviceProfiles { get; set; } public HashSet DecommissionedDeviceProfileIds { get; set; } public Disco.Models.BI.Config.OrganisationAddress DeviceProfileDefaultOrganisationAddress { get; set; } public List DeviceProfileCertificateProviders { get; set; } public List DeviceProfileWirelessProfileProviders { get; set; } public List DeviceBatches { get; set; } public HashSet DecommissionedDeviceBatchIds { get; set; } public JobTableModel Jobs { get; set; } public List Certificates { get; set; } public string OrganisationUnit { get; set; } public List DocumentTemplates { get; set; } public List DocumentTemplatePackages { get; set; } public GenerateDocumentControlModel GenerateDocumentControlModel => new GenerateDocumentControlModel() { Target = Device, Templates = DocumentTemplates, TemplatePackages = DocumentTemplatePackages, HandlersPresent = Plugins.GetPluginFeatures(typeof(DocumentHandlerProviderFeature)).Any(), }; public Dictionary AssignedUserDetails { get; set; } public bool HasAssignedUserPhoto { get; set; } } }