public async Task <JsonResult> DeleteBoxPanels([FromBody] TvBoxPanelsDto dto) { CheckApiKey(); await _tvPanelRepository.DeleteBoxPanels(dto); return(Json("OK")); }
private void OnTimerRefreshPanelsConfig(object sender, ElapsedEventArgs e) { lock (_timerConfigLocker) { try { if (_boxId.HasValue) { var data = DataRepository.GetInstance().GetBoxPanels(_boxId.Value); if (data.Count == 0) { //либо нет регистрации либо кто-то ебнул все панели _logger.Error("ошибка, получена пустая конфигурация"); MessageBox.Show("ошибка, получена пустая конфигурация"); ExitApp(); } var curScreens = ScreenHandler.GetScreens(); if (data.Count != curScreens.Length) { if (data.Count > curScreens.Length) { _logger.Debug("screen count changed-"); var dto = new TvBoxPanelsDto { BoxId = _boxId.Value, PanelIds = data.Where(o => !curScreens.Contains(o.Num)).Select(o => o.Num).ToArray() }; DataRepository.GetInstance().DeleteBoxPanels(dto); } else { _logger.Debug("screen count changed+"); var dto = new TvBoxPanelsDto { BoxId = _boxId.Value, PanelIds = curScreens.Where(o => !data.Select(p => p.Num).Contains(o)).ToArray() }; DataRepository.GetInstance().AddBoxPanels(dto); } } //перезапросим актуальные данные после изменения числа мониторов data = DataRepository.GetInstance().GetBoxPanels(_boxId.Value); UpdatePanelsData(data); } } catch (Exception ex) { _logger.Error(ex, "OnTimerRefreshPanelsConfig error"); } } }
public void DeleteBoxPanels(TvBoxPanelsDto dto) { var response = _remoteClient.PostAsJsonAsync("/api/TvPanels/DeleteBoxPanels", dto).Result; if (!response.IsSuccessStatusCode) { _logger.Error($"DeleteBoxPanels non-success status code: {response.StatusCode}"); throw new Exception("ошибка подключения к источнику данных"); } }