private void OnPriceLevelSelected(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count == 0) { lbLevelDates.Items.Clear(); _currentLevel = null; return; } _currentLevel = (DbPriceLevel)e.AddedItems[0]; btnRestoreLevel.IsEnabled = btnRemoveLevel.IsEnabled = true; if (_currentLevel.Id == "nil") { lbLevelDates.Items.Clear(); btnRestoreLevel.IsEnabled = btnRemoveLevel.IsEnabled = false; } else { DbPriceLevel obj = null; MainWindow.HandleException(() => obj = _controller.GetPriceLevelById(_currentLevel.Id)); if (obj != null) { lbLevelDates.Items.Clear(); foreach (var date in obj.ConfirmedDates) { lbLevelDates.Items.Add(date.ToLocalTime().ToString("dd MMM yyyy, HH:mm")); } } } }
public PriceLevelWindow() { _timer = new System.Windows.Forms.Timer(); _timer.Interval = 60000; _timer.Tick += OnTimerTick; InitializeComponent(); NullLevel = new DbPriceLevel { Id = "nil", PriceStr = "<..>" }; _controller = new PriceLevelController(); }
public DbPriceLevel GetPriceLevelById(string id) { DbPriceLevel level = null; var res = _dbRepo.GetPriceLevelById(id); if (res.Length > 0) { level = new DbPriceLevel { Id = id, Price = res[0].Price }; level.ConfirmedDates.AddRange(res.Select(x => x.Date2.Value)); } return(level); }
private void DrawPriceLevel(DbPriceLevel level) { var points = new PointPairList(); zedPrice.GraphPane.AddCurve(level.Id, points, Color.Red, SymbolType.None); var dt1 = level.ConfirmedDates[0]; var dt2 = level.Date2; while (dt1 < dt2) { points.Add(new XDate(dt1), level.Price); dt1 = dt1.AddMinutes(1); } }
private void OnRemoveLevelClick(object sender, RoutedEventArgs e) { if (_currentLevel == null) { MainWindow.Warning("Select active level."); return; } if (cbDelete.IsChecked.Value) { var result = MessageBox.Show("Are you confirm permanently removing price from the database?", "Warning", MessageBoxButton.OKCancel, MessageBoxImage.Warning); if (result == MessageBoxResult.Cancel) { return; } } var btn = (Button)sender; btn.IsEnabled = false; _controller.RemovePriceLevelAsync(_currentLevel.Id, _mainWnd, cbDelete.IsChecked.Value, () => { var level = _currentLevel; PriceLevel = _currentLevel; PriceRemoved(this, null); lbActiveLevels.Items.Remove(_currentLevel); if (!cbDelete.IsChecked.Value) { lbInactiveLevels.Items.Add(level); } }, () => { cbDelete.IsChecked = false; btn.IsEnabled = true; _currentLevel = null; }); }
private void OnRestoreLevelClick(object sender, RoutedEventArgs e) { if (_currentLevel == null) { MainWindow.Warning("Select active or inactive level."); return; } var btn = (Button)sender; btn.IsEnabled = false; _controller.RestorePriceLevelAsync(_currentLevel.Id, _mainWnd, () => { PriceLevel = _currentLevel; PriceCreated(this, null); lbActiveLevels.Items.Add(_currentLevel); lbInactiveLevels.Items.Remove(_currentLevel); }, () => { btn.IsEnabled = true; _currentLevel = null; }); }