コード例 #1
0
        public MainViewModel()
        {
            SynchronizationContext uiContext = SynchronizationContext.Current;

            ReportObjectCollection = new ObservableCollection <ReportObjects>();
            SelectedReportObject   = new ReportObjects()
            {
                Id = -1
            };
            serverConnection
            .ConnectAsync()
            .ContinueWith(task => {
                IReportServerClient client = task.Result;
                client.SetSynchronizationContext(uiContext);
                return(client.GetReportsAsync(null));
            }).Unwrap()
            .ContinueWith(task => {
                if (task.IsFaulted)
                {
                    MessageBoxService.Show(task.Exception.Message, "Error", System.Windows.MessageBoxButton.OK, System.Windows.MessageBoxImage.Error);
                }
                else
                {
                    FillReportListBox(task.Result);
                }
            }, TaskScheduler.FromCurrentSynchronizationContext());
        }
コード例 #2
0
 void FillReportListBox(IEnumerable <ReportCatalogItemDto> reports)
 {
     foreach (var reportDto in reports)
     {
         ReportObjects item = new ReportObjects()
         {
             DisplayName = reportDto.Name, Id = reportDto.Id
         };
         this.ReportObjectCollection.Add(item);
     }
 }