예제 #1
0
 public ConsumerWrapper(Consumer consumer, IWriteMeasurementToDb writer)
 {
     Consumer     = consumer;
     this.writer  = writer;
     IsConsumerOn = true;
     Task.Factory.StartNew(() => ConsumerTask());
 }
        public SmartHomeEnergySystem(IWriteMeasurementToDb writer)
        {
            batteryObservers    = new List <IObserver>();
            consumerObservers   = new List <IObserver>();
            solarPanelObservers = new List <IObserver>();
            using (ShesDbContext context = new ShesDbContext())
            {
                foreach (Battery b in context.Batteries)
                {
                    batteryObservers.Add(new BatteryWrapper(b, writer));
                }

                foreach (Consumer c in context.Consumers)
                {
                    consumerObservers.Add(new ConsumerWrapper(c, writer));
                }

                foreach (SolarPanel sp in context.SolarPanels)
                {
                    solarPanelObservers.Add(new SolarPanelWrapper(sp, writer));
                }
            }
        }
예제 #3
0
 public BatteryWrapper(Battery battery, IWriteMeasurementToDb writer)
 {
     Battery     = battery;
     this.writer = writer;
     Task.Factory.StartNew(() => BatteryTask());
 }
예제 #4
0
 public SolarPanelWrapper(SolarPanel solarPanel, IWriteMeasurementToDb writer)
 {
     SolarPanel  = solarPanel;
     this.writer = writer;
     Task.Factory.StartNew(() => SolarPanelTask());
 }