Esempio n. 1
0
        public static void StartDriving(ElectricVehicleCharger evc, double drinigHours)
        {
            if (evc.OnCharger)
            {
                DisconnectEVC(evc);
            }

            Task.Run(() => Driving(evc, drinigHours));
        }
        public bool AddElecticVehicleCharger(ElectricVehicleCharger electricVehicleCharger)
        {
            using (SHES_DBContext dbContext = new SHES_DBContext())
            {
                bool found = dbContext.ElectricVehicleChargers.Any(evc => evc.BatteryID.Equals(electricVehicleCharger.BatteryID));
                if (found)
                {
                    return(false);
                }

                dbContext.ElectricVehicleChargers.Add(electricVehicleCharger);
                dbContext.SaveChanges();

                return(true);
            }
        }
        public bool RemoveElectricVehicleCharger(ElectricVehicleCharger evc)
        {
            using (SHES_DBContext dbContext = new SHES_DBContext())
            {
                bool found = dbContext.ElectricVehicleChargers.Any(e => e.BatteryID.Equals(evc.BatteryID));
                if (found)
                {
                    dbContext.ElectricVehicleChargers.Attach(evc);
                    dbContext.ElectricVehicleChargers.Remove(evc);
                    dbContext.SaveChanges();

                    return(true);
                }

                return(false);
            }
        }
        public bool UpdateElecticVehicleCharger(ElectricVehicleCharger electricVehicleCharger)
        {
            using (SHES_DBContext dbContext = new SHES_DBContext())
            {
                bool found = dbContext.ElectricVehicleChargers.Any(evc => evc.BatteryID.Equals(electricVehicleCharger.BatteryID));
                if (found)
                {
                    ElectricVehicleCharger foundEVC = dbContext.ElectricVehicleChargers.SingleOrDefault(evc => evc.BatteryID.Equals(electricVehicleCharger.BatteryID));
                    dbContext.ElectricVehicleChargers.Attach(foundEVC);

                    foundEVC.MaxPower        = electricVehicleCharger.MaxPower;
                    foundEVC.MaxCapacity     = electricVehicleCharger.MaxCapacity;
                    foundEVC.CurrentCapacity = electricVehicleCharger.CurrentCapacity;
                    foundEVC.Mode            = electricVehicleCharger.Mode;
                    foundEVC.OnCharger       = electricVehicleCharger.OnCharger;

                    dbContext.SaveChanges();

                    return(true);
                }

                return(false);
            }
        }
Esempio n. 5
0
        public void ChangeEVCCharging()
        {
            Console.WriteLine("List of EVCs => ");
            Dictionary <string, ElectricVehicleCharger> evcs = DBManager.S_Instance.GetAllElectricVehicleChargers();

            evcs.Values.ToList().ForEach(b => Console.WriteLine($"ID: {b.BatteryID}  MaxPower: {b.MaxPower}  MaxCapacity: {b.MaxCapacity}  CurrentCapacity: {b.CurrentCapacity}  Mode: {b.Mode}  OnCharger: {b.OnCharger}"));

            Console.WriteLine("EVC-Battery ID: ");
            string id = Console.ReadLine();

            if (evcs.ContainsKey(id))
            {
                ElectricVehicleCharger currentEVC = DBManager.S_Instance.GetSingleElectricVehicleCharger(id);

                Console.WriteLine("Do you want to:");
                Console.WriteLine("1) Connect evc to charger");
                Console.WriteLine("2) Disconnect evc from charger");
                Console.WriteLine("3) Start charging");
                Console.WriteLine("4) Stop charging");
                Console.WriteLine();

                Console.WriteLine("Your answer: ");
                Int32.TryParse(Console.ReadLine(), out int answer2);


                switch (answer2)
                {
                case 1:
                {
                    if (currentEVC.OnCharger)
                    {
                        Console.WriteLine($"Battery with ID: {id} is already connected.");
                    }
                    else
                    {
                        MenuFunctions.ConnectEVC(currentEVC);
                        Console.WriteLine($"EVC ID: {currentEVC.BatteryID} updated successfully.");
                    }
                    break;
                }


                case 2:
                {
                    if (currentEVC.OnCharger)
                    {
                        Console.WriteLine($"Battery with ID: {id} is already disconnected.");
                    }
                    else
                    {
                        MenuFunctions.DisconnectEVC(currentEVC);
                        Console.WriteLine($"EVC ID: {currentEVC.BatteryID} updated successfully.");
                    }
                    break;
                }

                case 3:
                {
                    if (currentEVC.OnCharger)
                    {
                        MenuFunctions.StartCharging(currentEVC);
                        Console.WriteLine($"EVC ID: {currentEVC.BatteryID} updated successfully.");
                    }
                    else
                    {
                        Console.WriteLine($"EVC-battery with ID: {id} because it is not connected to a charger.");
                    }
                    break;
                }

                case 4:
                {
                    if (currentEVC.OnCharger)
                    {
                        MenuFunctions.StopCharging(currentEVC);
                        Console.WriteLine($"EVC ID: {currentEVC.BatteryID} updated successfully.");
                    }
                    else
                    {
                        Console.WriteLine($"EVC-battery with ID: {id} because it is not connected to a charger.");
                    }
                    break;
                }

                default:
                {
                    Console.WriteLine("Your answer is NOT VALID !");
                    break;
                }
                }
            }
            else
            {
                Console.WriteLine("EVC with that ID doesn't exist.");
            }
        }
Esempio n. 6
0
        public void EVCConstructor_GoodExample(string id)
        {
            ElectricVehicleCharger evc = new ElectricVehicleCharger(id);

            Assert.AreEqual(evc.BatteryID, id);
        }