예제 #1
0
        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();
            });
        }
예제 #2
0
        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;
        }
예제 #4
0
 private void Component_RkiDataErrorEvent(string message) => SimpleStatusOverlays.Show("ERROR", message);