/// <summary> /// Beendet den Bearbeitungsvorgang einer Zone. /// </summary> /// <param name="viewmodel">Enthalt alle Daten</param> /// <returns>Eine Seite mit einer Übersicht über aller Standorte</returns> public IActionResult EndEdit(EditZoneViewModel viewmodel) { // Die Liste der Standorte wird aus dem Cache geladen. if (!cache.TryGetValue(CacheKeys.LOCATION, out locations)) { locations = new List <ILocation>(); } // Ermitteln des richtigen Standorts. foreach (ILocation location in locations) { if (viewmodel.id.ToString().Equals(location.id)) { // Ermittelt die richtige Zone. foreach (Zone z in location.zones) { if (viewmodel.site == z.site) { z.maxPower = viewmodel.zone.maxPower; // Validiert das Model if (!TryValidateModel(z)) { RedirectToAction("EditZone", viewmodel.id, viewmodel.site); } } } break; } } return(RedirectToAction("Index")); }
public IActionResult EndEditZoneHistory(EditZoneViewModel viewmodel) { ExecutedScenario scenario = null; if (!cache.TryGetValue("ChangeInfrastrukture", out scenario)) { return(RedirectToAction("Index")); } // Ermittelt die richtige Zone. foreach (Zone z in scenario.location.zones) { if (viewmodel.site == z.site) { z.maxPower = viewmodel.zone.maxPower; // Validiert das Model if (!TryValidateModel(z)) { RedirectToAction("EditZoneHistory", viewmodel.id, viewmodel.site); } break; } } return(View("EditLocationHistory", scenario.location)); }
public IActionResult EndEditZoneScenario(EditZoneViewModel viewmodel) { Scenario scenario = null; if (!cache.TryGetValue("ScenarioEdit", out scenario)) { scenario = new Scenario(); } // Ermittelt die richtige Zone. foreach (Zone z in scenario.location.zones) { if (viewmodel.site == z.site) { z.maxPower = viewmodel.zone.maxPower; // Validiert das Model if (!TryValidateModel(z)) { RedirectToAction("EditZoneScenario", viewmodel.id, viewmodel.site); } break; } } return(RedirectToAction("EditLocationScenario")); }
public IActionResult StartEditStationHistory(char site, int idStation) { ExecutedScenario scenario = null; if (!cache.TryGetValue("ChangeInfrastrukture", out scenario)) { return(RedirectToAction("Index")); } EditZoneViewModel viewmodel = new EditZoneViewModel(); viewmodel.name = scenario.location.name; // Ermitteln der richtigen Station foreach (Zone z in scenario.location.zones) { if (z.site == site) { // Befüllen des ViewModels mit den bereits bekannten Werten. viewmodel.zone = z; viewmodel.site = site; // Ermitteln der richtigen Station foreach (Station s in z.stations) { if (s.id == idStation) { // Befüllen des ViewModels mit den bereits bekannten Werten. viewmodel.station = s; viewmodel.ccs = 0; viewmodel.type2 = 0; foreach (Plug p in s.plugs) { if (p.type == PlugType.CCS) { viewmodel.ccsPower = p.power; viewmodel.ccs++; } else { viewmodel.type2++; viewmodel.type2Power = p.power; } } // Entfernen der Station aus der Zone um doppelungen zu vermeiden. viewmodel.zone.deleteStation(s); return(View("EditZoneHistory", viewmodel)); } } break; } } // Station nicht gefunden. return(RedirectToAction("Index")); }
/// <summary> /// Fügt einem Standort eine neue Zone hinzu. /// </summary> /// <param name="id">Id des Standorts, welchem eine neue Zone hinzugefügt werden.</param> /// <returns>Eine Seite auf der man die Zone bearbeiten kann.</returns> public IActionResult CreateZone(string id) { Zone zone = new Zone(); char site = 'A'; bool siteValid = false; // Die Liste der Standorte wird aus dem Cache geladen. if (!cache.TryGetValue(CacheKeys.LOCATION, out locations)) { locations = new List <ILocation>(); } EditZoneViewModel viewmodel = new EditZoneViewModel(); // Ermittelt den Standort richtigen Standort mithilfe der Id. ILocation location = null; foreach (ILocation l in locations) { if (l.id.Equals(id.ToString())) { location = l; break; } } // Ermittelt einen Validen site char und setzen. while (!siteValid) { siteValid = true; foreach (Zone z in location.zones) { if (z.site == site) { siteValid = false; site++; break; } } } zone.site = site; // Initialisieren der Zone und hinzufügen zum Standort. zone.stations = new List <Station>(); location.addZone(zone); // Befüllen des Viemodels für die Seite. viewmodel.name = location.name; viewmodel.id = id; viewmodel.site = site; viewmodel.zone = zone; viewmodel.station = new Station(); return(View("EditZone", viewmodel)); }
/// <summary> /// Löschen der Station. /// </summary> /// <param name="_id">Id der Location</param> /// <param name="_site">Site der Zone</param> /// <param name="idStation">id der Station, welche zu Löschen ist.</param> /// <returns>Seite, auf welcher man die Zone bearbeiten kann.</returns> public IActionResult DeleteStation(string _id, char _site, int idStation) { // Die Liste der Standorte wird aus dem Cache geladen. if (!cache.TryGetValue(CacheKeys.LOCATION, out locations)) { locations = new List <ILocation>(); } // Ermitteln des richtigen Standorts. EditZoneViewModel viewmodel = new EditZoneViewModel(); foreach (ILocation l in locations) { if (l.id.Equals(_id)) { // Befüllen des ViewModels mit den bereits bekannten Werten. viewmodel.name = l.name; viewmodel.id = _id; // Ermittelt die richtige Zone. foreach (Zone z in l.zones) { if (z.site == _site) { // Befüllen des ViewModels mit den bereits bekannten Werten. viewmodel.site = z.site; viewmodel.zone = z; // Ermitteln der richtigen Station foreach (Station s in z.stations) { if (s.id == idStation) { // entfernen der Station. z.deleteStation(s); viewmodel.station = new Station(); return(View("EditZone", viewmodel)); } } break; } } break; } } // Station nicht gefunden. return(RedirectToAction("Index")); }
public IActionResult DeleteStationHistory(char site, int idStation) { ExecutedScenario scenario = null; if (!cache.TryGetValue("ChangeInfrastrukture", out scenario)) { return(RedirectToAction("Index")); } EditZoneViewModel viewmodel = new EditZoneViewModel(); viewmodel.name = scenario.location.name; // Ermitteln der richtigen Station foreach (Zone z in scenario.location.zones) { if (z.site == site) { // Befüllen des ViewModels mit den bereits bekannten Werten. viewmodel.zone = z; viewmodel.site = site; // Ermitteln der richtigen Station foreach (Station s in z.stations) { if (s.id == idStation) { viewmodel.station = new Station(); // Entfernen der Station aus der Zone viewmodel.zone.deleteStation(s); return(View("EditZoneHistory", viewmodel)); } } break; } } // Station nicht gefunden. return(RedirectToAction("EditLocationHistory")); }
public IActionResult EditZone(string id, char site) { // Die Liste der Standorte wird aus dem Cache geladen. if (!cache.TryGetValue(CacheKeys.LOCATION, out locations)) { locations = new List <ILocation>(); } // Ermitteln der Location. EditZoneViewModel viewmodel; foreach (ILocation l in locations) { if (l.id.Equals(id.ToString())) { // Vorbereiten des Viewmodels, für die Seite. viewmodel = new EditZoneViewModel(); viewmodel.name = l.name; viewmodel.id = id; viewmodel.station = new Station(); // Ermitteln der richtigen Zone, befüllen des VieModels und anzeigen der Seite. foreach (Zone z in l.zones) { if (z.site == site) { viewmodel.zone = z; viewmodel.site = site; return(View(viewmodel)); } } break; } } // Sollte die Zone nicht gefunden werden wird auf die Index Methode weitergeleitet. return(RedirectToAction("Index")); }
public IActionResult EditStationHistory(EditZoneViewModel viewmodel) { ExecutedScenario scenario = null; if (!cache.TryGetValue("ChangeInfrastrukture", out scenario)) { return(RedirectToAction("Index")); } Station station = viewmodel.station; // Erzeugt die Stecker der Station. station.plugs = new List <Plug>(); for (int i = 0; i < viewmodel.ccs; i++) { station.addPlug(new Plug() { power = viewmodel.ccsPower, type = PlugType.CCS }); } for (int i = 0; i < viewmodel.type2; i++) { station.addPlug(new Plug() { power = viewmodel.type2Power, type = PlugType.TYPE2 }); } viewmodel.name = scenario.location.name; foreach (Zone z in scenario.location.zones) { if (viewmodel.site == z.site) { viewmodel.zone = z; break; } } bool idValid = false; int id = 0; while (!idValid) { idValid = true; foreach (Station s in viewmodel.zone.stations) { if (id == s.id) { idValid = false; id++; break; } } } station.id = id; //Validiert die Station. if (TryValidateModel(station)) { // Zurücksetzten des viewmodels und hinzufügen der Station. viewmodel.zone.addStation(station); viewmodel.station = new Station(); viewmodel.ccs = 0; viewmodel.type2 = 0; viewmodel.ccsPower = 0; viewmodel.type2Power = 0; station.maxParallelUseable = Math.Min(station.maxParallelUseable, station.plugs.Count); return(View("EditZoneHistory", viewmodel)); } return(View("EditZoneHistory", viewmodel)); }
/// <summary> /// Beginnt das Bearbeiten einer Station. /// </summary> /// <param name="id">Id der Location</param> /// <param name="site">Site der Zone</param> /// <param name="idStation">Id der zu bearbeitenden Station.</param> /// <returns>Lädt die Daten aus der Station in das Create Formular.</returns> public IActionResult StartEditStation(string id, char site, int idStation) { // Die Liste der Standorte wird aus dem Cache geladen. if (!cache.TryGetValue(CacheKeys.LOCATION, out locations)) { locations = new List <ILocation>(); } // Ermitteln des richtigen Standorts. EditZoneViewModel viewmodel = new EditZoneViewModel(); foreach (ILocation l in locations) { if (l.id.Equals(id.ToString())) { // Befüllen des ViewModels mit den bereits bekannten Werten. viewmodel.name = l.name; viewmodel.id = id; // Ermitteln der richtigen Station foreach (Zone z in l.zones) { if (z.site == site) { // Befüllen des ViewModels mit den bereits bekannten Werten. viewmodel.zone = z; viewmodel.site = site; // Ermitteln der richtigen Station foreach (Station s in z.stations) { if (s.id == idStation) { // Befüllen des ViewModels mit den bereits bekannten Werten. viewmodel.station = s; viewmodel.ccs = 0; viewmodel.type2 = 0; foreach (Plug p in s.plugs) { if (p.type == PlugType.CCS) { viewmodel.ccsPower = p.power; viewmodel.ccs++; } else { viewmodel.type2++; viewmodel.type2Power = p.power; } } // Entfernen der Station aus der Zone um doppelungen zu vermeiden. viewmodel.zone.deleteStation(s); return(View("EditZone", viewmodel)); } } break; } } break; } } // Station nicht gefunden. return(RedirectToAction("Index")); }
/// <summary> /// Erstellt eine neue Ladestation und fügt diese der Zone hinzu. /// </summary> /// <param name="viewmodel">Enthält die nötigen Daten.</param> /// <returns>Seite, auf welcher man die Zone bearbeiten kann.</returns> public IActionResult EditStation(EditZoneViewModel viewmodel) { Station station = viewmodel.station; // Erzeugt die Stecker der Station. station.plugs = new List <Plug>(); for (int i = 0; i < viewmodel.ccs; i++) { station.addPlug(new Plug() { power = viewmodel.ccsPower, type = PlugType.CCS }); } for (int i = 0; i < viewmodel.type2; i++) { station.addPlug(new Plug() { power = viewmodel.type2Power, type = PlugType.TYPE2 }); } // Die Liste der Standorte wird aus dem Cache geladen. if (!cache.TryGetValue(CacheKeys.LOCATION, out locations)) { locations = new List <ILocation>(); } // Ermitteln des richtigen Standorts. foreach (ILocation location in locations) { if (viewmodel.id.ToString().Equals(location.id)) { // Ermittelt die richtige Zone. viewmodel.name = location.name; foreach (Zone z in location.zones) { if (viewmodel.site == z.site) { viewmodel.zone = z; break; } } break; } } //Ermittelt eine Valide Id. bool idValid = false; int id = 0; while (!idValid) { idValid = true; foreach (Station s in viewmodel.zone.stations) { if (id == s.id) { idValid = false; id++; break; } } } station.id = id; //Validiert die Station. if (TryValidateModel(station)) { // Zurücksetzten des viewmodels und hinzufügen der Station. viewmodel.zone.addStation(station); viewmodel.station = new Station(); viewmodel.ccs = 0; viewmodel.type2 = 0; viewmodel.ccsPower = 0; viewmodel.type2Power = 0; station.maxParallelUseable = Math.Min(station.maxParallelUseable, station.plugs.Count); return(View("EditZone", viewmodel)); } return(View("EditZone", viewmodel)); }