using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection; using System.Text; using System.Threading.Tasks; using Tango.BL; using Tango.BL.DTO; using Tango.BL.Entities; namespace Tango.FSE.BL.Services { public class TechComponentsService : FSEServiceBase { public ReadOnlyEntityRepository Monitors { get; private set; } public ReadOnlyEntityRepository IOs { get; private set; } public ReadOnlyEntityRepository Dispensers { get; private set; } public ReadOnlyEntityRepository Controllers { get; private set; } public ReadOnlyEntityRepository Heaters { get; private set; } public ReadOnlyEntityRepository Valves { get; private set; } public ReadOnlyEntityRepository Motors { get; private set; } public ReadOnlyEntityRepository Blowers { get; private set; } public TechComponentsService() { Monitors = new ReadOnlyEntityRepository( x => x.ToObservable(), x => TechMonitorDTO.FromObservable(x), DataResolverNode.InMemoryCache, DataResolverNode.Web, DataResolverNode.Online, DataResolverNode.DiskCache); IOs = new ReadOnlyEntityRepository( x => x.ToObservable(), x => TechIoDTO.FromObservable(x), DataResolverNode.InMemoryCache, DataResolverNode.Web, DataResolverNode.Online, DataResolverNode.DiskCache); Dispensers = new ReadOnlyEntityRepository( x => x.ToObservable(), x => TechDispenserDTO.FromObservable(x), DataResolverNode.InMemoryCache, DataResolverNode.Web, DataResolverNode.Online, DataResolverNode.DiskCache); Controllers = new ReadOnlyEntityRepository( x => x.ToObservable(), x => TechControllerDTO.FromObservable(x), DataResolverNode.InMemoryCache, DataResolverNode.Web, DataResolverNode.Online, DataResolverNode.DiskCache); Heaters = new ReadOnlyEntityRepository( x => x.ToObservable(), x => TechHeaterDTO.FromObservable(x), DataResolverNode.InMemoryCache, DataResolverNode.Web, DataResolverNode.Online, DataResolverNode.DiskCache); Valves = new ReadOnlyEntityRepository( x => x.ToObservable(), x => TechValveDTO.FromObservable(x), DataResolverNode.InMemoryCache, DataResolverNode.Web, DataResolverNode.Online, DataResolverNode.DiskCache); Motors = new ReadOnlyEntityRepository( x => x.ToObservable(), x => HardwareMotorTypeDTO.FromObservable(x), DataResolverNode.InMemoryCache, DataResolverNode.Web, DataResolverNode.Online, DataResolverNode.DiskCache); Blowers = new ReadOnlyEntityRepository( x => x.ToObservable(), x => HardwareBlowerTypeDTO.FromObservable(x), DataResolverNode.InMemoryCache, DataResolverNode.Web, DataResolverNode.Online, DataResolverNode.DiskCache); } public async Task Preload() { await Monitors.FindAll(); await IOs.FindAll(); await Dispensers.FindAll(); await Controllers.FindAll(); await Heaters.FindAll(); await Valves.FindAll(); await Motors.FindAll(); await Blowers.FindAll(); } } }