Files
Disco/Disco.Web/Areas/Config/Models/DeviceProfile/IndexModel.cs
T
Gary Sharp 4c91d03385 Hide Document Templates & UI Tweaks
Flag Document Templates as hidden. UI changes aim to improve visibility
of used features in lists.
2016-11-10 17:42:10 +11:00

43 lines
1.5 KiB
C#

using Disco.Data.Repository;
using Disco.Models.UI.Config.DeviceProfile;
using System.Collections.Generic;
using System.Linq;
namespace Disco.Web.Areas.Config.Models.DeviceProfile
{
public class IndexModel : ConfigDeviceProfileIndexModel
{
public List<ConfigDeviceProfileIndexModelItem> DeviceProfiles { get; set; }
public static IndexModel Build(DiscoDataContext Database)
{
var m = new IndexModel();
m.DeviceProfiles = Database.DeviceProfiles.OrderBy(dp => dp.Name).Select(dp => new _IndexModelItem()
{
Id = dp.Id,
Name = dp.Name,
ShortName = dp.ShortName,
Address = dp.DefaultOrganisationAddress,
Description = dp.Description,
DistributionType = dp.DistributionType.Value,
DeviceCount = dp.Devices.Count,
DeviceDecommissionedCount = dp.Devices.Count(d => d.DecommissionedDate.HasValue),
IsLinked = dp.AssignedUsersLinkedGroup != null || dp.DevicesLinkedGroup != null
}).ToArray().Cast<ConfigDeviceProfileIndexModelItem>().ToList();
if (DiscoApplication.MultiSiteMode)
{
foreach (var dp in m.DeviceProfiles)
{
if (dp.Address.HasValue)
{
dp.AddressName = Database.DiscoConfiguration.OrganisationAddresses.GetAddress(dp.Address.Value)?.Name;
}
}
}
return m;
}
}
}