Ejemplo n.º 1
0
        private void ButtonAddPanel_Click(object sender, RoutedEventArgs e)
        {
            if (Validate(textBoxName) && Validate(textBoxMaxPower))
            {
                double maxPower = 0;
                bool   uspelo   = false;
                uspelo = double.TryParse(textBoxMaxPower.Text, out maxPower);
                if (uspelo && maxPower > 0)
                {
                    SolarPanelViewModel.solarPanels.Add(new SolarPanelModel(textBoxName.Text, maxPower, (SHES.sunPower * maxPower) / 100));

                    using (dbSHESEntities entity = new dbSHESEntities())
                    {
                        SolarPanelTable spmt = new SolarPanelTable()
                        {
                            Name         = textBoxName.Text,
                            MaxPower     = maxPower,
                            CurrentPower = 0
                        };
                        entity.SolarPanelTables.Add(spmt);
                        entity.SaveChanges();
                    }
                }
                else
                {
                    MessageBox.Show("Incorrect input", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            else
            {
                MessageBox.Show("Incorrect input", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Ejemplo n.º 2
0
 private void BtnAdd_Click(object sender, RoutedEventArgs e)
 {
     if (Validate(textBoxName) && Validate(textBoxConsumption))
     {
         double result = 0;
         bool   uspelo = false;
         uspelo = double.TryParse(textBoxConsumption.Text, out result);
         if (uspelo && result >= 0)
         {
             ConsumerViewModel.consumers.Add(new ConsumerModel(textBoxName.Text, Double.Parse(textBoxConsumption.Text)));
             using (dbSHESEntities entity = new dbSHESEntities())
             {
                 ConsumerTable cmt = new ConsumerTable()
                 {
                     Name        = textBoxName.Text,
                     Consumption = Double.Parse(textBoxConsumption.Text),
                     State       = Enums.ConsumerEnum.OFF.ToString()
                 };
                 entity.ConsumerTables.Add(cmt);
                 entity.SaveChanges();
             }
         }
         else
         {
             MessageBox.Show("Incorrect input", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
         }
     }
     else
     {
         MessageBox.Show("Incorrect input", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
Ejemplo n.º 3
0
 public void loadVehicles()
 {
     Vehicles = new ObservableCollection <eVehicleChargerModel>();
     using (dbSHESEntities entity = new dbSHESEntities())
     {
         List <eVehicleTable> lista = entity.eVehicleTables.ToList <eVehicleTable>();
         foreach (var item in lista)
         {
             eVehicleChargerModel vehicle = new eVehicleChargerModel(item.Name, (double)item.MaxPower, (double)item.Capacity, (double)item.MaxCapacity);
             Vehicles.Add(vehicle);
         }
     }
 }
Ejemplo n.º 4
0
 public void Execute()
 {
     ConsumerViewModel.consumers.Remove(consumerToDelete);
     using (dbSHESEntities entity = new dbSHESEntities())
     {
         ConsumerTable cmt = entity.ConsumerTables.Where(x => x.Name == consumerToDelete.Name).SingleOrDefault();
         if (cmt != null)
         {
             entity.ConsumerTables.Remove(cmt);
             entity.SaveChanges();
         }
     };
 }
Ejemplo n.º 5
0
 public void Execute()
 {
     SolarPanelViewModel.solarPanels.Remove(panelToDelete);
     using (dbSHESEntities entity = new dbSHESEntities())
     {
         SolarPanelTable spmt = entity.SolarPanelTables.Where(x => x.Name == panelToDelete.Name).SingleOrDefault();
         if (spmt != null)
         {
             entity.SolarPanelTables.Remove(spmt);
             entity.SaveChanges();
         }
     };
 }
Ejemplo n.º 6
0
 private void loadConsumers()
 {
     consumers = new ObservableCollection <ConsumerModel>();
     using (dbSHESEntities entity = new dbSHESEntities())
     {
         List <ConsumerTable> cons = entity.ConsumerTables.ToList <ConsumerTable>();
         foreach (var c in cons)
         {
             ConsumerModel consumer = new ConsumerModel(c.Name, (double)c.Consumption);
             consumer.State = (ConsumerEnum)Enum.Parse(typeof(ConsumerEnum), c.State);
             consumers.Add(consumer);
         }
     };
 }
Ejemplo n.º 7
0
 public void loadBatteries()
 {
     Batteries = new ObservableCollection <BatteryModel>();
     using (dbSHESEntities entity = new dbSHESEntities())
     {
         List <BatteryTable> bateries = entity.BatteryTables.ToList <BatteryTable>();
         foreach (var bat in bateries)
         {
             BatteryModel battery = new BatteryModel(bat.Name, (double)bat.MaxPower, (double)bat.Capacity, (double)bat.CurrentCapacity);
             battery.CapacityMin = (double)bat.CapacityMin;
             battery.State       = (BatteryEnum)Enum.Parse(typeof(BatteryEnum), bat.State);
             Batteries.Add(battery);
         }
     };
 }
Ejemplo n.º 8
0
        public void Execute()
        {
            lock (BatteryViewModel.Batteries)
            {
                BatteryViewModel.Batteries.Remove(batteryToDelete); //program ne dodje dovde

                using (dbSHESEntities entity = new dbSHESEntities())
                {
                    BatteryTable bmt = entity.BatteryTables.Where(x => x.Name == batteryToDelete.Name).SingleOrDefault();
                    if (bmt != null)
                    {
                        entity.BatteryTables.Remove(bmt);
                        entity.SaveChanges();
                    }
                };
            }
        }
Ejemplo n.º 9
0
        public void loadSolarPanels()
        {
            solarPanels = new ObservableCollection <SolarPanelModel>();

            using (dbSHESEntities entity = new dbSHESEntities())
            {
                List <SolarPanelTable> cons = entity.SolarPanelTables.ToList <SolarPanelTable>();
                if (cons != null)
                {
                    foreach (var c in cons)
                    {
                        SolarPanelModel consumer = new SolarPanelModel(c.Name, (double)c.MaxPower, (double)c.CurrentPower);
                        solarPanels.Add(consumer);
                    }
                }
            };
        }
Ejemplo n.º 10
0
        private void ButtonAdd_Click(object sender, RoutedEventArgs e)
        {
            if (Validate(textBoxName) && Validate(textBoxMaxPower) && Validate(textBoxCapacity))
            {
                bool   p = false, c = false;
                double pp = 0, cc = 0;
                p = double.TryParse(textBoxMaxPower.Text, out pp);
                c = double.TryParse(textBoxCapacity.Text, out cc);
                if (p && c && pp >= 0 && cc >= 0)
                {
                    lock (BatteryViewModel.Batteries)
                    {
                        BatteryViewModel.Batteries.Add(new BatteryModel(textBoxName.Text, Double.Parse(textBoxMaxPower.Text), Double.Parse(textBoxCapacity.Text), 0));

                        using (dbSHESEntities entity = new dbSHESEntities())
                        {
                            BatteryTable bmt = new BatteryTable()
                            {
                                Name            = textBoxName.Text,
                                MaxPower        = Double.Parse(textBoxMaxPower.Text),
                                Capacity        = Double.Parse(textBoxCapacity.Text),
                                CurrentCapacity = 0,
                                CapacityMin     = 0,
                                State           = Enums.BatteryEnum.IDLE.ToString()
                            };
                            entity.BatteryTables.Add(bmt);
                            entity.SaveChanges();
                        }

                        BatteryViewModel.Refresh();
                    }
                }
                else
                {
                    MessageBox.Show("Incorrect input", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            else
            {
                MessageBox.Show("Incorrect input", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Ejemplo n.º 11
0
 private void loadCharts()
 {
     Chart = new Dictionary <DateTime, ChartModel>();
     using (dbSHESEntities entity = new dbSHESEntities())
     {
         List <ChartTable> charts = entity.ChartTables.ToList <ChartTable>();
         foreach (var c in charts)
         {
             ChartModel ch = new ChartModel()
             {
                 SolarPanel         = (double)c.SolarPanel,
                 BatteryConsumption = (double)c.BatteryConsumption,
                 BatteryProduction  = (double)c.BaterryProduction,
                 ExchangePositive   = (double)c.ExchangePositive,
                 ExchangeNegative   = (double)c.ExchangeNegative,
                 Consumer           = (double)c.Consumer,
                 Price = (double)c.Price
             };
             Chart.Add(new DateTime(2020, 6, int.Parse(c.Date)), ch);
         }
     };
 }
Ejemplo n.º 12
0
        public void CalculateChartProduction()
        {
            int    date            = DateTime.Now.Date.Day;
            double panels          = 0;
            double product         = 0;
            double cons            = 0;
            double batteryPositive = 0;
            double batteryNegative = 0;
            double exhangePositive = 0;
            double exhangeNegative = 0;
            double consumers       = 0;
            double price           = 0;
            double temp            = 0;
            double cnt             = 0;

            new Thread(() =>
            {
                while (true)
                {
                    if (temp == 60)
                    {
                        temp = 0;
                        cnt++;
                    }
                    else
                    {
                        temp += ClockModel.Time.Minute;
                    }
                    if (cnt == 23)
                    {
                        cnt  = 0;
                        temp = 0;
                        using (dbSHESEntities entity = new dbSHESEntities())
                        {
                            ChartTable ct = new ChartTable()
                            {
                                Date               = date.ToString(),
                                SolarPanel         = price,
                                BaterryProduction  = batteryPositive,
                                BatteryConsumption = batteryNegative,
                                ExchangePositive   = exhangePositive,
                                ExchangeNegative   = exhangeNegative,
                                Consumer           = consumers,
                                Price              = price
                            };
                            entity.ChartTables.Add(ct);
                            entity.SaveChanges();
                        }
                        date++;
                    }
                    panels          += SolarPanelViewModel.SolarPanelProduction();
                    product          = SolarPanelViewModel.SolarPanelProduction() + BatteryViewModel.BatteryProduction();
                    cons             = ConsumerViewModel.ConsumerConsumption() + BatteryViewModel.BatteryConsumption() + eVehicleChargerViewModel.VehicleConsumption();
                    exhangePositive += product;
                    exhangeNegative += cons;
                    batteryPositive += BatteryViewModel.BatteryProduction();
                    batteryNegative += BatteryViewModel.BatteryConsumption();
                    consumers       += ConsumerViewModel.ConsumerConsumption();
                    price            = price + (product - cons) * 0.2;
                    Thread.Sleep(1000);
                }
            }).Start();
        }