private async Task BuildCasesAsync(string selection) { IList <ICase> casesData; try { _isBusyBuildCases = true; if (_caseType == CaseType.SF) { casesData = await Task.Run(() => SFConnector.Instance.GetCasesAsync(selection)); } else { throw new ArgumentException($"CaseType is not set to a proper type: {_caseType.ToString()}"); } } finally { _isBusyBuildCases = false; } LoggerController.Log(casesData.Count + $" {_caseType.ToString()} cases Retrived."); Cases = new ObservableCollection <ICase>(casesData); SelectedCase = (Cases.Count > 0) ? Cases[0] : default(ICase); }
private async Task BuildCasesAsync(string selection) { if (!string.IsNullOrEmpty(_previousQueue)) { UpdateCasesPositions(); } CaseControls.Clear(); CellLabels.Clear(); IList <ICase> casesData = default; try { _isBusyBuildCases = true; casesData = await Task.Run(() => SFConnector.Instance.GetCasesAsync(selection)); } catch (Exception e) { LoggerController.Log(e.Message); } _previousQueue = selection; LoggerController.Log(casesData.Count + $" cases Retrived."); CaseControls = await Task.Run(() => { ObservableCollection <CaseControlVM> cc = new ObservableCollection <CaseControlVM>(); foreach (var item in casesData) { var caseViewModel = new CaseControlVM(item, this); cc.Add(caseViewModel); CaseInfo positionInfo = null; try { positionInfo = CasesStatesOperations.GetCaseInfo(item.CaseNumber, selection, TabHeader); } catch (Exception e) { LoggerController.Log(e.Message); } if (positionInfo != null) { caseViewModel.Index = positionInfo.Index; } } return(cc); } ); try { //Add Labels from JSON var caseslist = await Task.Run(() => CasesStatesOperations.GetCasesList(selection, TabHeader)); foreach (LabelInfo item in caseslist.Labels.Values) { var success = Guid.TryParse(item.Guid, out Guid guid); if (!success) { continue; } CellLabels.Add(new CellLabelVM(this, item.Left, item.Top, item.Width, item.Height, item.Note, guid)); } } catch (Exception e) { LoggerController.Log(e.Message); } finally { _isBusyBuildCases = false; } }
public void HandleError(Exception e) { LoggerController.Log(e); //throw new Exception(); }