Esempio n. 1
0
        public static Task <string> DownloadTask(F.ForShop.Work.Journals.Ref.Context context)
        {
            var tcs        = new TaskCompletionSource <string>();
            var downloader = new Downloader();

            downloader.Begin(context, asyncResult =>
            {
                try { tcs.SetResult(downloader.End(asyncResult)); }
                catch (Exception exc) { tcs.SetException(exc); }
            }, null);
            return(tcs.Task);
        }
Esempio n. 2
0
 public void DownloadAsync(F.ForShop.Work.Journals.Ref.Context context)
 {
     page = new F.ForShop.Work.Journals.Ref.Page()
     {
         UserAccount = Entity.Factory.UserAccount.Load(".user.json"),
         PageContext = context
     };
     //page.Reached += OnReached;
     //page.ReachAsync();
     page.ExcelDownloadCompleted += OnExcelDownloadCompleted;
     page.ExcelAsync();
 }
Esempio n. 3
0
        public virtual IAsyncResult Begin(F.ForShop.Work.Journals.Ref.Context context, AsyncCallback callback, object state)
        {
            var ar = new Context()
            {
                AsyncState = state, AsyncWaitHandle = null
            };
            Action <string> onDownloaded = null;

            onDownloaded = (string result) =>
            {
                Downloaded -= onDownloaded;
                ar.CompletedSynchronously = true;
                ar.IsCompleted            = true;
                ar.Result = result;
                callback(ar);
            };
            Downloaded += onDownloaded;
            DownloadAsync(context);

            ar.CompletedSynchronously = false;
            ar.IsCompleted            = false;
            return(ar);
        }