async void SecChanged() { Boards.Clear(); var symbol = (Security?.Name ?? SecText)?.Split(' ')?.First(); Info = ""; if (symbol != null) { try { var resp = await Task.Run((() => new SecurityDefinitionRequest(symbol).Response)); Info = string.Join("\n", resp.Description.Data.Select(d => $"{d["name"]}: {d["value"]}")); foreach (var board in resp.Boards.Data) { Boards.Add(new Item() { Name = board["boardid"], Value = board["boardid"], Data = board }); } } catch (Exception e) { } } FirePropertyChanged(nameof(Info)); }
public void DeviceRemoved(UsbDevice device) { Log.Info(TAG, "DeviceRemoved called"); if (device == null) { // ugh, Android didn't tell us which device was removed, but if we only have one connected, we'll remove it if (Boards.Count == 1) { Boards[0].Disconnect(); Boards.Clear(); } } else { if (device.VendorId == 0x10c4 && device.ProductId == 0x8a7e) { TreehopperUsb removedBoard = Boards.FirstOrDefault(b => b.SerialNumber == device.SerialNumber); if (removedBoard != null) { removedBoard.Disconnect(); Boards.Remove(removedBoard); } } } }
private void Engine_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { Markets.Clear(); foreach (var item in new MarketsRequest(Engine.Value).Response.Markets.Data.Select(d => new Item { Name = d["title"], Value = d["NAME"], Data = d } )) { Markets.Add(item); } Securities.Clear(); Boards.Clear(); Info = ""; History = new List <HistoryObject>(); FirePropertyChanged(nameof(Info)); FirePropertyChanged(nameof(History)); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } }
private async void Market_SelectionChanged(object sender, SelectionChangedEventArgs e) { Securities.Clear(); Boards.Clear(); Info = ""; History = new List <HistoryObject>(); FirePropertyChanged(nameof(Info)); FirePropertyChanged(nameof(History)); try { foreach (var item in await Task <IEnumerable <Item> > .Run(() => { return(new MarketSecuritiesListRequest(Engine.Value, Market.Value).Response.Securities.Data.Select(d => new Item { Name = $"{d["SECID"]}", Value = d["SECID"], Data = d }).Distinct(new ItemEqvCmp())); })) { Securities.Add(item); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error"); } }
void Refresh() { try { Engines.Clear(); foreach (var item in new EnginesRequest().Response.Engines.Data.Select(d => new Item() { Name = d["title"], Value = d["name"], Data = d })) { Engines.Add(item); } Markets.Clear(); Securities.Clear(); Boards.Clear(); Info = ""; History = new List <HistoryObject>(); FirePropertyChanged(nameof(Info)); FirePropertyChanged(nameof(History)); } catch (Exception e) { MessageBox.Show(e.Message, "Error"); } }
private void ReloadComandExecute() { IsBusy = true; Boards.Clear(); Task.Factory.StartNew(() => Business.Jira.GetBoards()).ContinueWith(t => { t.Result.Select(b => new Tuple <int, string>(b.Key, b.Value)).ToList().ForEach(i => Boards.Add(i)); IsBusy = false; }, TaskScheduler.FromCurrentSynchronizationContext()); }
private async void LoadBoards(string selectedId) { _progress.Show("Loading boards..."); try { var boards = (await _api.Boards.ForMe(BoardFilter.Open)).ToList(); Boards.Clear(); Boards.AddRange(boards); SelectedBoard = boards.FirstOrDefault(b => b.Id == selectedId); } catch (Exception ex) { Analytics.LogException(ex); MessageBox.Show("Your boards were unable to be loaded. Please " + "ensure that you have an active internet connection."); } finally { _progress.Hide(); } }
public async Task GetBoards() { Boards.Clear(); var result = await _boardsService.GetTestedBoards(CertificateId); if (!result.Success) { Dialogs.Toast(result.Message); return; } var boards = result.ResultObject as List <BoardTest>; if (boards == null || !boards.Any()) { return; } Boards.AddRange(new List <BoardTest>(boards.OrderBy(x => x.BoardIdentity))); await GetCircuitsForCurrentBoard(); }
public async void OnNavigatedTo() { Boards.Clear(); RecentBoards.Clear(); try { BusyMessage = "Downloading available agile boards..."; IsBusy = true; var boards = await _jiraApi.Agile.GetAgileBoards(); var recentBoards = GetRecentBoardsIds(); foreach (var board in boards.OrderBy(b => b.Name)) { Boards.Add(board); if (recentBoards.Contains(board.Id)) { RecentBoards.Add(board); } } } catch (MissingJiraAgileSupportException) { MessageBox.Show("Please log into JIRA instance with JIRA Agile installed.", "JIRA Assistant", MessageBoxButton.OK, MessageBoxImage.Information); } catch (Exception e) { Sentry.CaptureException(e); MessageBox.Show("Failed to retrieve list of available JIRA boards. Can't go any further.\nReason: " + e.Message, "JIRA Assistant", MessageBoxButton.OK, MessageBoxImage.Warning); } finally { IsBusy = false; BusyMessage = ""; } }
private async Task GetBoards(BoardsFilters filters, bool forceCloud = false) { try { using (var dlg = this.Dialogs.Loading("Progress (No Cancel)")) { Boards.Clear(); var testedBoardsResult = await _boardsService.GetTestedBoards(CertificateId); if (!testedBoardsResult.Success) { Dialogs.Toast(testedBoardsResult.Message); return; } var relatedBoards = testedBoardsResult.ResultObject as List <BoardTest>; if (relatedBoards != null) { TestedBoards = relatedBoards; var allBoardsResult = await _boardsService.GetAllBoards(filters, BuildingId, forceCloud); if (!allBoardsResult.Success) { Dialogs.Toast(allBoardsResult.Message); return; } var boardsAndNumber = allBoardsResult.ResultObject as Tuple <IEnumerable <BoardRow>, int, int>; if (boardsAndNumber == null) { return; } Dialogs.Toast("Results; " + boardsAndNumber.Item3 + " records returned out of " + boardsAndNumber.Item2 + " found."); var boards = boardsAndNumber.Item1; if (boards != null && boards.Any()) { foreach (var board in boards) { var selectableBoard = new BoardSelect { Board = board, IsSelected = false }; if (relatedBoards.Any(x => x.BoardId == board.BoardId)) { selectableBoard.IsSelected = true; } Boards.Add(selectableBoard); } } } } } catch (ServiceAuthenticationException e) { var result = await TryToLogin(); if (!result) { await NavigationService.NavigateToAsync <LoginViewModel>(); } else { await GetBoards(filters, forceCloud); } } catch (Exception e) { await ShowErrorAlert(e.Message); } }
private void LoadBoards() { Boards.Clear(); Boards.AddRange(ArduinoCLI_API.GetInstalledBoards().OrderBy(b => b.Fqbn)); ((BindingSource)(cbBoards.DataSource)).ResetBindings(false); }
private async Task GetBoards() { try { using (var dlg = this.Dialogs.Loading("Progress (No Cancel)")) { Boards.Clear(); var testedBoardsResult = await _boardsService.GetTestedBoards(CertificateId); if (!testedBoardsResult.Success) { Dialogs.Toast(testedBoardsResult.Message); return; } var relatedBoards = testedBoardsResult.ResultObject as List <BoardTest>; if (relatedBoards != null) { TestedBoards = relatedBoards; var downloadedBoardsResult = await _boardsService.GetAllDownloadedBoards(BuildingId); if (!downloadedBoardsResult.Success) { Dialogs.Toast(downloadedBoardsResult.Message); return; } var boards = downloadedBoardsResult.ResultObject as List <Board>; if (boards != null && boards.Any()) { foreach (var board in boards) { var selectableBoard = new BoardDetailsSelect { Board = board, IsSelected = false }; if (relatedBoards.Any(x => x.BoardId == board.BoardId)) { selectableBoard.IsSelected = true; } Boards.Add(selectableBoard); } foreach (var board in relatedBoards) { if (Boards.Any(x => x.Board.BoardId == board.BoardId)) { continue; } var testedBoard = AutoMapper.Mapper.Map <Board>(board); var selectableBoard = new BoardDetailsSelect { Board = testedBoard, IsSelected = true }; Boards.Add(selectableBoard); } } } } } catch (ServiceAuthenticationException e) { var result = await TryToLogin(); if (!result) { await NavigationService.NavigateToAsync <LoginViewModel>(); } else { await GetBoards(); } } catch (Exception e) { await ShowErrorAlert(e.Message); } }
public void Solve() { ensureDataLoaded(); Boards.Clear(); Solutions.Clear(); var level = 1; MaxLevelReached = 1; Combinations.Clear(); var totalCombinations = GetTotalCombinations(); Combinations.Add(totalCombinations); var prevCombinations = totalCombinations; var boardSize = Math.Max(_data.Width, _data.Height); while (true) { // get all possible combinations of nr+1 indexes, so that we can filter the possibilities away // nr=0 means the possible combinations are just one of each perpendicular rows or columns // nr=1 means possibilities are weighed against every combination in any two perpendicular rows or columns,etc var piRows = getAllPossibleIndexes(_data.Height, level); filterPossibilities(_colPossibilities, _rowPossibilities, piRows); // filter column possibilities by rows totalCombinations = GetTotalCombinations(); addCombinationNr(totalCombinations); generateBoard(); // generates a board with partial results if (prevCombinations != totalCombinations) { level = 1; } Debug.WriteLine($"Combinations so far: {totalCombinations}, level: {level}, max level reached: {MaxLevelReached}"); Console.WriteLine($"Combinations so far: {totalCombinations}, level: {level}, max level reached: {MaxLevelReached}"); var piCols = getAllPossibleIndexes(_data.Width, level); filterPossibilities(_rowPossibilities, _colPossibilities, piCols); // filter row possibilities by columns totalCombinations = GetTotalCombinations(); if (totalCombinations <= 1) { break; } addCombinationNr(totalCombinations); generateBoard(); // generates a board with partial results if (prevCombinations == totalCombinations) { if (level <= boardSize && level < MaxPuzzleLevel) { level++; if (level > MaxLevelReached) { MaxLevelReached = level; } } else { Debug.WriteLine("Maximum puzzle level reached"); Console.WriteLine("Maximum puzzle level reached. Starting brute force (it will take a while, please wait...)"); break; } } else { level = 1; } Debug.WriteLine($"Combinations so far: {totalCombinations}, level: {level}, max level reached: {MaxLevelReached}"); Console.WriteLine($"Combinations so far: {totalCombinations}, level: {level}, max level reached: {MaxLevelReached}"); prevCombinations = totalCombinations; } // fill all possible solutions from the remaining column and row possibilities generateSolutions(); }