Ejemplo n.º 1
0
        private static void AddUserquakeHistory(UserquakeEvaluateEventArgs eventArgs)
        {
            App.Current.Dispatcher.Invoke(() =>
            {
                // 開始日時が同じものが存在する場合は上書き更新する
                var histories = viewModel.InformationViewModel.Histories;
                var existItem = histories.FirstOrDefault(e => (e is EPSPUserquakeView view) && (view.EventArgs.StartedAt == eventArgs.StartedAt));

                if (existItem == null)
                {
                    var obj = Factory.WrapEventArgs(eventArgs, viewModel.InformationViewModel);
                    histories.Insert(0, obj);
                    if (histories.Count > HistoryLimit)
                    {
                        histories.RemoveAt(HistoryLimit);
                    }
                }
                else if (existItem is EPSPUserquakeView view && view.EventArgs.UpdatedAt < eventArgs.UpdatedAt)
                {
                    view.EventArgs = eventArgs;
                }
            });
        }
Ejemplo n.º 2
0
 private static void Client_OnUpdateUserquakeEvaluation(object sender, UserquakeEvaluateEventArgs e)
 {
     AddUserquakeHistory(e);
 }