예제 #1
0
 private void OnExtendedSearch(object sender, ExtendedSearchEventArgs e)
 {
     Execute.BeginInvoke(() =>
     {
         try
         {
             var provider = (ISearchProvider)sender;
             provider.ExtendedSearchCompleted -= OnExtendedSearch;
             if (e.Success)
             {
                 _details = e.TorrentDetails;
                 _searchDetailsController.TableView.ReloadData();
             }
             else
             {
                 MessageBox.Show(e.ErrorMessage, "Error");
             }
             _busyIndicator.IsBusy = false;
         }
         catch (Exception exc)
         {
             Console.WriteLine(exc);
         }
     });
 }
예제 #2
0
        private void OnDetails(SearchDetailsMessage message)
        {
            _busyIndicator.IsBusy = true;
            _details = null;
            _searchDetailsController.TableView.ReloadData();
            _searchDetailsController.TableView.SetContentOffset(PointF.Empty, false);
            _navigationController.PushViewController(_searchDetailsController, true);

            //Fire off the search
            message.Provider.ExtendedSearchCompleted += OnExtendedSearch;
            message.Provider.ExtendedSearch(message.Url);
        }
예제 #3
0
        protected virtual void Initialize()
        {
            var container = TinyIoCContainer.Current;

            _hub = container.Resolve <ITinyMessengerHub>();
            _hub.Subscribe <CommentsMessage>(m =>
            {
                _details = m.Details;
                _commentsController.TableView.ReloadData();
                _commentsController.TableView.SetContentOffset(PointF.Empty, false);
                _navigationController.PushViewController(_commentsController, true);
            });
        }
예제 #4
0
        private TorrentUrlDetails TestSearchDetails(TorrentUrl url)
        {
            AutoResetEvent    resetEvent = new AutoResetEvent(false);
            TorrentUrlDetails details    = null;
            string            error      = null;

            EventHandler <ExtendedSearchEventArgs> handler = (sender, e) =>
            {
                if (e.Success)
                {
                    details = e.TorrentDetails;
                }
                else
                {
                    error = e.ErrorMessage;
                }

                resetEvent.Set();
            };

            try
            {
                _provider.ExtendedSearchCompleted += handler;
                _provider.ExtendedSearch(url);

                resetEvent.WaitOne(30000);

                Assert.IsNull(error, error);

                return(details);
            }
            finally
            {
                _provider.ExtendedSearchCompleted -= handler;
            }
        }
예제 #5
0
 protected virtual void Initialize()
 {
     var container = TinyIoCContainer.Current;
     _hub = container.Resolve<ITinyMessengerHub>();
     _hub.Subscribe<FilesMessage>(m =>
     {
         _details = m.Details;
         _filesController.TableView.ReloadData();
         _filesController.TableView.SetContentOffset(PointF.Empty, false);
         _navigationController.PushViewController(_filesController, true);
     });
 }
예제 #6
0
 public FilesMessage(object sender, TorrentUrlDetails details)
     : base(sender)
 {
     Details = details;
 }
 public CommentsMessage(object sender, TorrentUrlDetails details)
     : base(sender)
 {
     Details = details;
 }