public bool StopOutageSimulation(long outageElementId) { //TODO: END TASK HERE if (!outageTokenMap.ContainsKey(outageElementId)) { return(false); } outageTokenMap[outageElementId].Cancel(); outageTokenMap.Remove(outageElementId); if (!activeOutagesMap.ContainsKey(outageElementId)) { return(false); } ActiveOutageBindingModel outage = activeOutagesMap[outageElementId]; ActiveOutages.Remove(outage); activeOutagesMap.Remove(outageElementId); OnPropertyChanged("IsSelectedOutageGridVisible"); OnPropertyChanged("OutageElement"); OnPropertyChanged("OptimumIsolationPoints"); OnPropertyChanged("DefaultIsolationPoints"); return(true); }
private async Task EndOutage() { var outageElementId = SelectedOutage.OutageElement.GID; var outageSimulatorUIClient = OutageSimulatorUIClient.CreateClient(); if (await outageSimulatorUIClient.EndOutage(outageElementId)) { if (!activeOutagesMap.ContainsKey(outageElementId)) { return; } ActiveOutageBindingModel outage = activeOutagesMap[outageElementId]; ActiveOutages.Remove(outage); activeOutagesMap.Remove(outageElementId); OnPropertyChanged("ActiveOutages"); OnPropertyChanged("SelectedOutage"); OnPropertyChanged("IsSelectedOutageGridVisible"); OnPropertyChanged("OutageElement"); OnPropertyChanged("OptimumIsolationPoints"); OnPropertyChanged("DefaultIsolationPoints"); } }