using Disco.Models.Services.Devices.Importing; using Disco.Models.UI.Device; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Linq; namespace Disco.Web.Models.Device { public class ImportReviewModel : DeviceImportReviewModel { public IDeviceImportContext Context { get; set; } public int StatisticErrorRecords { get; set; } public int StatisticNewRecords { get; set; } public int StatisticModifiedRecords { get; set; } public int StatisticUnmodifiedRecords { get; set; } public int StatisticImportRecords { get { return this.StatisticNewRecords + StatisticModifiedRecords; } } public IEnumerable> HeaderTypes { get; set; } public ImportReviewModel() { HeaderTypes = typeof(DeviceImportFieldTypes) .GetFields() .Select(p => Tuple.Create(p, (DisplayAttribute)p.GetCustomAttributes(typeof(DisplayAttribute), false).FirstOrDefault())) .Where(p => p.Item2 != null) .Select(p => Tuple.Create((DeviceImportFieldTypes)p.Item1.GetRawConstantValue(), p.Item2.Name)).ToList(); } } }