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); } }
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."); } }
public void EVCConstructor_GoodExample(string id) { ElectricVehicleCharger evc = new ElectricVehicleCharger(id); Assert.AreEqual(evc.BatteryID, id); }