private async void BaseMessageEvent(IMessageContainer arg) { SimpleStatusOverlays.ActivityOn(); await Task.Run(() => { if (this.CheckOptionAndLoadLandkreise(arg)) { return; } this._viewModel.ActualDataFromDate = StaticDataManager.ActualLoadedDataDate; this.Dispatcher.Invoke(() => { this._viewModel.Districts.Clear(); }); this._viewModel.CountyCount = 0; foreach (var item in StaticDataManager.ActualLoadedData) { this.Dispatcher.Invoke(() => { this._viewModel.Districts.Add(item); this._viewModel.CountyCount++; }); } SimpleStatusOverlays.ActivityOff(); }); }
private bool CheckOptionAndLoadLandkreise(IMessageContainer arg) { if (arg.Content is BaseMessageOptions option && option == BaseMessageOptions.LoadActualData) { var component = RkiCoronaLandkreiseComponent.GetInstance(); component.RkiDataErrorEvent += this.Component_RkiDataErrorEvent; var landkreise = component.LoadData(out var safeData); if (safeData != null) { SimpleStatusOverlays.ShowAsk("Question", "Overwrite local data with actual loaded data?", safeData); } if (landkreise == null) { SimpleStatusOverlays.ActivityOff(); return(true); } // TODO aktuell wird nicht im jeden Datensatz das Datum hinterlegt. var districtItems = landkreise.Districts.Select(s => new DistrictItem { Name = s.Name, Deaths = s.Deaths, WeekIncidence = s.WeekIncidence, Date = landkreise.Date }); StaticDataManager.ActualLoadedDataDate = landkreise.Date; StaticDataManager.ActualLoadedData = districtItems; } return(false); }
public void Execute(object parameter) { var filename = $"{Environment.CurrentDirectory}/rki-status-{this._viewModel.DistrictData.Date:dd-MM-yyyy}.jpg"; if (!WpfControlToBitmap.SaveControlImage(this._renderPicturePrint, filename)) { SimpleStatusOverlays.Show("ERROR", "Can't save picture!"); } this._renderPicturePrint.Visibility = Visibility.Hidden; }
private void Component_RkiDataErrorEvent(string message) => SimpleStatusOverlays.Show("ERROR", message);