public async Task<string> UploadBytesAsync(
            byte[] imageBytes,
            UploadProgressChangedEventHandler progress = null,
            UploadValuesCompletedEventHandler completed = null)
        {
            using (var w = new WebClient())
            {
                try
                {
                    const string clientId = "68a0074c7783fd4";
                    w.Headers.Add("Authorization", "Client-ID " + clientId);
                    var values = new NameValueCollection
                    {
                        {"image", Convert.ToBase64String(imageBytes)}
                    };

                    if (progress != null) w.UploadProgressChanged += progress;
                    if (completed != null) w.UploadValuesCompleted += completed;

                    var response = await w.UploadValuesTaskAsync("https://api.imgur.com/3/upload.json", values);
                    var json = Encoding.UTF8.GetString(response);
                    dynamic model = JsonConvert.DeserializeObject(json);
                    return ((bool)model.success) ? (string)model.data.link : (string)model.data.error;
                }
                catch (Exception e)
                {
                    return e.Message;
                }
                finally
                {
                    if (progress != null) w.UploadProgressChanged -= progress;
                    if (completed != null) w.UploadValuesCompleted -= completed;
                }
            }
        }
Example #2
0
        private void AjaxForSearch()
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = new UploadValuesCompletedEventHandler(
                (o, args) =>
            {
                var html = Encoding.UTF8.GetString(args.Result);
                Debug.WriteLine(html);
                if (FMWW.Http.Client.IsFin(html))
                {
                    _Client.UploadValuesCompleted -= onUploadValuesCompleted;

                    FMWW.Http.IPage nextPage = new SearchResults.Page(_Client);
                    OnGoneAway(nextPage);
                    return;
                }

                uint row = 0;
                Match m  = Regex.Match(html, @"nextLine\s*=\s*(\d+);", RegexOptions.IgnoreCase);
                if (m.Success)
                {
                    row = UInt32.Parse(m.Groups[1].Value);
                }
                PostSlipList(row);
            });
            _Client.UploadValuesCompleted += onUploadValuesCompleted;
            PostSlipList();
        }
Example #3
0
        static public void SendPersonToDatabase(Person cp, UploadValuesCompletedEventHandler callback)
        {
            var nvc = new System.Collections.Specialized.NameValueCollection();

            nvc.Add("name", cp.Name);
            nvc.Add("accuracy", cp.Accuracy.ToString());
            nvc.Add("time", cp.Time.ToString());
            nvc.Add("action", API_INSERT);
            nvc.Add("password", API_PASSWORD);
            nvc.Add("gender", cp.IsMale.ToString());
            nvc.Add("age", cp.Age.ToString());

            var wb = new WebClient();

            wb.Headers.Add("user-agent", "Nergiz Quiz Desktop Client");
            wb.Headers.Add("content-type", "application/x-www-form-urlencoded");
            string apiPath;

            if (IS_DEBUGGING)
            {
                apiPath = LOCALHOST_URL + API_URL;
            }
            else
            {
                apiPath = SITE_URL + API_URL;
            }

            wb.UploadValuesAsync(new Uri(apiPath), "POST", nvc);
            wb.UploadValuesCompleted += callback;
        }
Example #4
0
        // 商品詳細から店舗別在庫一覧へ遷移
        public void LeaveDetailsForStockAsync(Action <int> completed)
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = (a, args) =>
            {
                // 店舗別在庫一覧
                int q = GetSalesQuantityLastWeek(args);
                if (Core.Helpers.Ajax.IsFin(Encoding.UTF8.GetString(args.Result)))
                {
                    this._Client.UploadValuesCompleted -= onUploadValuesCompleted;
                    completed(q);
                    return;
                }
                RequestAjaxAsync(Core.Helpers.UrlBuilder.Build(UrlX039Query.AbsolutePath.Replace("faces", "facesAjax")), q);
            };

            if (this.IsCancelled)
            {
                return;
            }
            this._Client.UploadValuesCompleted += onUploadValuesCompleted;
            this._Client.UploadValuesAsync(UrlX039Query,
                                           new NameValueCollection()
            {
                { "form1:action", "preview" },
                { "m", "sh" },
                { "i", "0" },
                { "form1:isAjaxMode", "1" },
                { "form1", "form1" },
                { "form1:execute", "execute" },
                { "cache", FMWW.Utility.UnixEpochTime.now().ToString() },
            });
        }
Example #5
0
        public void ReachAsync(Action completed)
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted2 = null;

            onUploadValuesCompleted2 = (o, args) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted2;
                AjaxAsync(FMWW.Core.Helpers.UrlBuilder.Build(Address.AbsolutePath.Replace("faces", "facesAjax")),
                          (userState) =>
                {
                    completed();
                });
            };

            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = (o, args) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted;
                _Client.UploadValuesCompleted += onUploadValuesCompleted2;
                var url = FMWW.Core.Helpers.UrlBuilder.BuildContentsUrl("X021_080_PRODUCT_EXPORT/X021_SELECT.jsp");
                _Client.UploadValuesAsync(url, FMWW.Http.Method.Post, PageContext.Translate(true));
            };
            _Client.UploadValuesCompleted += onUploadValuesCompleted;
            _Client.UploadValuesAsync(FMWW.Core.MainMenu.Url, FMWW.Http.Method.Post, MainMenuFactory.CreateInstance().Translate());
        }
Example #6
0
        private void AjaxForCsv()
        {
            Action execute = () =>
            {
                _Client.UploadValuesAsync(
                    FMWW.Core.Helpers.UrlBuilder.Build("/JMODE_ASP/facesAjax/contents/A210_SALES_RANKING/A210_SELECT.jsp"),
                    "POST",
                    new NameValueCollection()
                {
                    { "form1:isAjaxMode", "1" },
                    { "form1", "form1" },
                    { "form1:execute", "execute" },
                    { "cache", FMWW.Utility.UnixEpochTime.now().ToString() }
                });
            };

            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = new UploadValuesCompletedEventHandler(
                (o, args) =>
            {
                var html = Encoding.UTF8.GetString(args.Result);
                Debug.WriteLine(DateTime.Now.ToString("HH:mm:ss:ff") + " >> " + html);
                if (FMWW.Http.Client.IsFin(html))
                {
                    _Client.UploadValuesCompleted -= onUploadValuesCompleted;
                    Download();
                    return;
                }
                System.Threading.Thread.Sleep(1000);
                execute();
            });
            _Client.UploadValuesCompleted += onUploadValuesCompleted;
            execute();
        }
Example #7
0
 public static KyghtWebClient PostAsync(string uri, NameValueCollection pairs, UploadValuesCompletedEventHandler onComplete)
 {
     KyghtWebClient client = new KyghtWebClient();
     var url = new Uri(uri);
     client.UploadValuesCompleted += onComplete;
     client.UploadValuesAsync( url, pairs);
     return client;
 }
Example #8
0
        private async void OnUploadToImgur(object sender, RoutedEventArgs e)
        {
            try
            {
                UploadProgressChangedEventHandler progress = (o, args) => TextEditor.Dispatcher.InvokeAsync(() =>
                {
                    if (_canceled)
                    {
                        ((WebClient)o).CancelAsync();
                    }
                    var progressPercentage = (int)((args.BytesSent / (double)args.TotalBytesToSend) * 100);
                    ProgressBar.Value      = progressPercentage;
                    if (progressPercentage == 100)
                    {
                        ProgressBar.IsIndeterminate = true;
                    }
                });

                UploadValuesCompletedEventHandler completed = (o, args) => { if (_canceled)
                                                                             {
                                                                                 ((WebClient)o).CancelAsync();
                                                                             }
                };

                string name;
                byte[] image;

                if (UseClipboardImage)
                {
                    name  = "clipboard";
                    image = Images.ClipboardDibToBitmapSource().ToPngArray();
                }
                else
                {
                    var path = DroppedFilePath();
                    name  = Path.GetFileNameWithoutExtension(path);
                    image = File.ReadAllBytes(path);
                }

                Uploading = true;
                var link = await new ImageUploadImgur().UploadBytesAsync(image, progress, completed);
                Close();

                if (Uri.IsWellFormedUriString(link, UriKind.Absolute))
                {
                    InsertImageTag(TextEditor, DragEventArgs, link, name);
                }
                else
                {
                    Utility.Alert(link);
                }
            }
            catch (Exception ex)
            {
                Close();
                Utility.Alert(ex.Message);
            }
        }
Example #9
0
        private async void OnUploadToImgur(object sender, RoutedEventArgs e)
        {
            var name = "Clipboard";

            if (Image == null)
            {
                var files = DragEventArgs.Data.GetData(DataFormats.FileDrop) as string[];
                if (files == null)
                {
                    return;
                }
                var path = files[0];
                name = Path.GetFileNameWithoutExtension(path);
                try
                {
                    Image = File.ReadAllBytes(path);
                }
                catch (Exception ex)
                {
                    Close();
                    MessageBox.Show(Application.Current.MainWindow, ex.Message, App.Title, MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
            }

            UploadProgressChangedEventHandler progress = (o, args) => TextEditor.Dispatcher.InvokeAsync(() =>
            {
                if (_canceled)
                {
                    ((WebClient)o).CancelAsync();
                }
                var progressPercentage = (int)((args.BytesSent / (double)args.TotalBytesToSend) * 100);
                ProgressBar.Value      = progressPercentage;
                if (progressPercentage == 100)
                {
                    ProgressBar.IsIndeterminate = true;
                }
            });

            UploadValuesCompletedEventHandler completed = (o, args) => { if (_canceled)
                                                                         {
                                                                             ((WebClient)o).CancelAsync();
                                                                         }
            };

            var link = await new ImageUploadImgur().UploadBytesAsync(Image, progress, completed);

            Close();
            if (Uri.IsWellFormedUriString(link, UriKind.Absolute))
            {
                InsertImageTag(TextEditor, DragEventArgs, link, name);
            }
            else
            {
                MessageBox.Show(Application.Current.MainWindow, link, App.Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Example #10
0
        /// <summary>
        /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed.
        /// <example>
        /// uploadvaluescompletedeventhandler.BeginInvoke(sender, e, callback);
        /// </example>
        /// </summary>
        public static IAsyncResult BeginInvoke(this UploadValuesCompletedEventHandler uploadvaluescompletedeventhandler, Object sender, UploadValuesCompletedEventArgs e, AsyncCallback callback)
        {
            if (uploadvaluescompletedeventhandler == null)
            {
                throw new ArgumentNullException("uploadvaluescompletedeventhandler");
            }

            return(uploadvaluescompletedeventhandler.BeginInvoke(sender, e, callback, null));
        }
Example #11
0
        static public void SendPersonToDatabase(Person cp, UploadValuesCompletedEventHandler callback)
        {
            var nvc = new System.Collections.Specialized.NameValueCollection();

            nvc.Add("name", cp.Name);
            nvc.Add("accuracy", cp.Accuracy.ToString());
            nvc.Add("time", cp.Time.ToString());
            nvc.Add("gender", cp.IsMale.ToString());
            nvc.Add("age", cp.Age.ToString());
        }
Example #12
0
        public override void ExcelAsync()
        {
            var address = FMWW.Core.Helpers.UrlBuilder.BuildContentsUrl("S086_SHOP_SALES_REPORT/S086_SELECT.jsp");

            #region OnAjax
            Action <object> OnAjax = null;
            OnAjax = (userState) =>
            {
                #region onExcelDownloaded
                UploadValuesCompletedEventHandler onExcelDownloaded = null;
                onExcelDownloaded = (object o, UploadValuesCompletedEventArgs arg) =>
                {
                    _Client.UploadValuesCompleted -= onExcelDownloaded;
                    OnExcelDownloadCompleted(arg.Result);
                };
                #endregion
                _Client.UploadValuesCompleted += onExcelDownloaded;
                _Client.UploadValuesAsync(address, PageContext.Translate());
            };
            #endregion

            #region onUploadValuesCompleted
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;
            onUploadValuesCompleted = (object o, UploadValuesCompletedEventArgs arg) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted;

                AjaxAsync(
                    FMWW.Core.Helpers.UrlBuilder.Build(address.AbsolutePath.Replace("faces", "facesAjax")),
                    OnAjax);
            };
            #endregion

            Action <string> OnReached = null;
            OnReached = (string html) =>
            {
                Reached -= OnReached;
                _Client.UploadValuesCompleted += onUploadValuesCompleted;
                _Client.UploadValuesAsync(address, PageContext.Translate(true));
            };

            #region onSignedIn
            FMWW.Component.SignedInEventHandler onSignedIn = null;
            onSignedIn = (o, arg) =>
            {
                Auth.SignedIn -= onSignedIn;
                Reached       += OnReached;
                ReachAsync();
            };
            #endregion

            Auth.SignedIn += onSignedIn;
            SignInAsync();
        }
Example #13
0
        public void DownloadProductMasterAsync(Context c, Action <byte[], Exception, object> DownloadProductMasterCompleted, object userToken = default(object))
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = (x, y) =>
            {
                if (null != y.Error)
                {
                    DownloadProductMasterCompleted(y.Result, y.Error, userToken);
                    return;
                }
                var userState = (Tuple <Context, object, UploadValuesCompletedEventHandler, string>)y.UserState;
                if (userState.Item4 == FMWW.Core.MainMenu.Url.ToString())
                {
                    var url = FMWW.Core.Helpers.UrlBuilder.Build("/JMODE_ASP/faces/contents/X021_080_PRODUCT_EXPORT/X021_SELECT.jsp").ToString();
                    this._Client.UploadValuesAsync(new Uri(url), FMWW.Http.Method.Post, c.Translate(true),
                                                   Tuple.Create(userState.Item1, userState.Item2, userState.Item3, url));
                }
                else if (userState.Item4 == FMWW.Core.Helpers.UrlBuilder.Build("/JMODE_ASP/faces/contents/X021_080_PRODUCT_EXPORT/X021_SELECT.jsp").ToString() ||
                         userState.Item4 == FMWW.Core.Helpers.UrlBuilder.Build("/JMODE_ASP/facesAjax/contents/X021_080_PRODUCT_EXPORT/X021_SELECT.jsp").ToString())
                {
                    var html = Encoding.UTF8.GetString(y.Result);
                    if (FMWW.Core.Helpers.Ajax.HasError(html))
                    {
                        throw new Exception();
                    }
                    var url  = FMWW.Core.Helpers.UrlBuilder.Build("/JMODE_ASP/facesAjax/contents/X021_080_PRODUCT_EXPORT/X021_SELECT.jsp").ToString();
                    var url2 = url;
                    var data = FMWW.Core.Helpers.Ajax.CreateAjaxQuery();
                    if (FMWW.Core.Helpers.Ajax.IsFin(html))
                    {
                        url  = FMWW.Core.Helpers.UrlBuilder.Build("/JMODE_ASP/faces/contents/X021_080_PRODUCT_EXPORT/X021_SELECT.jsp").ToString();
                        data = c.Translate();
                        url2 = "";
                    }
                    else
                    {
                        System.Threading.Thread.Sleep(2000);
                    }
                    this._Client.UploadValuesAsync(new Uri(url), FMWW.Http.Method.Post, data,
                                                   Tuple.Create(userState.Item1, userState.Item2, userState.Item3, url2));
                }
                else
                {
                    this._Client.UploadValuesCompleted -= userState.Item3;
                    DownloadProductMasterCompleted(y.Result, null, userToken);
                }
            };

            this._Client.UploadValuesCompleted += onUploadValuesCompleted;
            this._Client.UploadValuesAsync(FMWW.Core.MainMenu.Url, FMWW.Http.Method.Post,
                                           MainMenuFactory.CreateInstance().Translate(),
                                           Tuple.Create(c, userToken, onUploadValuesCompleted, FMWW.Core.Helpers.UrlBuilder.Build("/JMODE_ASP/faces/contents/index.jsp").ToString()));
        }
Example #14
0
        private void ReachWebPageDistributeExportAsync(Action <string> completed)
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = (o, args) =>
            {
                this._Client.UploadValuesCompleted -= onUploadValuesCompleted;
                var html = Encoding.UTF8.GetString(args.Result);
                completed(html);
            };
            this._Client.UploadValuesCompleted += onUploadValuesCompleted;
            this._Client.UploadValuesAsync(FMWW.Core.MainMenu.Url, FMWW.Http.Method.Post, MainMenuFactory.CreateInstance().Translate());
        }
Example #15
0
        public async Task <string> UploadBytesAsync(
            byte[] imageBytes,
            UploadProgressChangedEventHandler progress  = null,
            UploadValuesCompletedEventHandler completed = null)
        {
            using (var w = new WebClient())
            {
                try
                {
                    const string clientId = "68a0074c7783fd4";
                    w.Headers.Add("Authorization", "Client-ID " + clientId);
                    var values = new NameValueCollection
                    {
                        { "image", Convert.ToBase64String(imageBytes) }
                    };

                    if (progress != null)
                    {
                        w.UploadProgressChanged += progress;
                    }
                    if (completed != null)
                    {
                        w.UploadValuesCompleted += completed;
                    }

                    var response = await w.UploadValuesTaskAsync("https://api.imgur.com/3/upload.json", values);

                    var     json  = Encoding.UTF8.GetString(response);
                    dynamic model = JsonConvert.DeserializeObject(json);
                    return(((bool)model.success) ? (string)model.data.link : (string)model.data.error);
                }
                catch (Exception e)
                {
                    return(e.Message);
                }
                finally
                {
                    if (progress != null)
                    {
                        w.UploadProgressChanged -= progress;
                    }
                    if (completed != null)
                    {
                        w.UploadValuesCompleted -= completed;
                    }
                }
            }
        }
Example #16
0
        public void ReachAsync()
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = (o, args) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted;
                var html = Encoding.UTF8.GetString(args.Result);
                if (null != Reached)
                {
                    Reached(html);
                }
            };
            _Client.UploadValuesCompleted += onUploadValuesCompleted;
            _Client.UploadValuesAsync(FMWW.Core.MainMenu.Url, MainMenuFactory.CreateInstance().Translate());
        }
Example #17
0
        private void DownloadDistributeExportWithCsvAsync(Context context, Action <string> completed)
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = (o, args) =>
            {
                this._Client.UploadValuesCompleted -= onUploadValuesCompleted;
                var csv = ShiftJIS.GetString(args.Result);
                completed(csv);
            };

            this._Client.UploadValuesAsync(
                FMWW.Core.Helpers.UrlBuilder.Build("/JMODE_ASP/faces/contents/X024_160_DISTRIBUTE_EXPORT/X024_SELECT.jsp"),
                FMWW.Http.Method.Post, context.Translate());
            this._Client.UploadValuesCompleted += onUploadValuesCompleted;
        }
Example #18
0
        public override void Search()
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = new UploadValuesCompletedEventHandler(
                (o, args) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted;
                var htmlText = Encoding.UTF8.GetString(args.Result);
                Debug.WriteLine(htmlText);
                AjaxForSearch();
            });
            _Client.UploadValuesCompleted += onUploadValuesCompleted;
            var url = FMWW.Core.Helpers.UrlBuilder.BuildContentsUrl("/A210_SALES_RANKING/A210_SELECT.jsp");

            _Client.UploadValuesAsync(url, "POST", this.PageContext.Translate(Context.FormAction.Search));
        }
Example #19
0
        // 商品一覧から商品詳細へ遷移
        public void LeaveSummariesForDetailsAsync(UploadValuesCompletedEventHandler onUploadValuesCompleted, int index = 0)
        {
            Debug.Assert((index >= 0) && (index < 10));

            if (this.IsCancelled)
            {
                return;
            }
            this._Client.UploadValuesCompleted += onUploadValuesCompleted;
            this._Client.UploadValuesAsync(UrlX039Servlet,
                                           new NameValueCollection()
            {
                { "m", "qp" },
                { "i", index.ToString() },
                { "cache", FMWW.Utility.UnixEpochTime.now().ToString() },
            });
        }
Example #20
0
        // 商品検索から商品一覧へ遷移
        public void LeaveMainMenuForAsync(Context c, UploadValuesCompletedEventHandler onUploadValuesCompleted)
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted02 = null;

            onUploadValuesCompleted02 = (a, args) =>
            {
                this._Client.UploadValuesCompleted -= onUploadValuesCompleted02;

                if (this.IsCancelled)
                {
                    return;
                }
                this._Client.UploadValuesCompleted += onUploadValuesCompleted;
                this._Client.UploadValuesAsync(UrlX039Servlet,
                                               new NameValueCollection()
                {
                    { "m", "ql" },
                    { "p", "0" },
                    { "cache", FMWW.Utility.UnixEpochTime.now().ToString() },
                });
            };

            UploadValuesCompletedEventHandler onUploadValuesCompleted01 = null;

            onUploadValuesCompleted01 = (a, args) =>
            {
                this._Client.UploadValuesCompleted -= onUploadValuesCompleted01;
                if (this.IsCancelled)
                {
                    return;
                }
                AjaxAsync(Core.Helpers.UrlBuilder.Build(UrlX039Select.AbsolutePath.Replace("faces", "facesAjax")),
                          (userState) =>
                {
                    this._Client.UploadValuesCompleted += onUploadValuesCompleted02;
                    this._Client.UploadValuesAsync(UrlX039Select, c.Translate(Context.FormAction.Preview));
                });
            };

            if (this.IsCancelled)
            {
                return;
            }
            this._Client.UploadValuesCompleted += onUploadValuesCompleted01;
            this._Client.UploadValuesAsync(UrlX039Select, c.Translate());
        }
Example #21
0
        public void ReachAsync()
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = new UploadValuesCompletedEventHandler(
                (o, args) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted;
                var htmlText = Encoding.UTF8.GetString(args.Result);
                Debug.WriteLine(htmlText);
                if (null != Reached)
                {
                    Reached();
                }
            });
            _Client.UploadValuesCompleted += onUploadValuesCompleted;
            _Client.UploadValuesAsync(FMWW.Core.MainMenu.Url, "POST", MainMenuFactory.CreateInstance().Translate());
        }
Example #22
0
        private void Download()
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = new UploadValuesCompletedEventHandler(
                (o, args) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted;
                var csvText = Encoding.GetEncoding("Shift_JIS").GetString(args.Result);
                Debug.WriteLine(csvText);
                OnCsvDownloadCompleted(csvText);
            });
            _Client.UploadValuesCompleted += onUploadValuesCompleted;
            _Client.UploadValuesAsync(
                FMWW.Core.Helpers.UrlBuilder.BuildContentsUrl("/A210_SALES_RANKING/A210_SELECT.jsp"),
                "POST",
                this.PageContext.Translate(Context.FormAction.Export));
        }
Example #23
0
        // 入荷予定 -> 投入表エクスポート 条件を入力し絞込
        private void FilterDistributeExportAsync(Context context, Action <string> completed)
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = (o, args) =>
            {
                this._Client.UploadValuesCompleted -= onUploadValuesCompleted;
                var html = Encoding.UTF8.GetString(args.Result);
                completed(html);
            };

            this._Client.UploadValuesAsync(
                new UriBuilder(SchemeName, FMWW.Core.Config.Instance.HostName)
            {
                Path = "/JMODE_ASP/faces/contents/X024_160_DISTRIBUTE_EXPORT/X024_SELECT.jsp"
            }.Uri,
                FMWW.Http.Method.Post, context.Translate(true));
            this._Client.UploadValuesCompleted += onUploadValuesCompleted;
        }
Example #24
0
        public void ReachAsync()
        {
            SignIn();

            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = new UploadValuesCompletedEventHandler(
                (o, args) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted;
                HtmlText = ShiftJIS.GetString(args.Result);
                if (null != Reached)
                {
                    Reached();
                }
            });
            _Client.UploadValuesCompleted += onUploadValuesCompleted;
            _Client.UploadValuesAsync(FMWW.Core.MainMenu.Url, "POST", MainMenuFactory.CreateInstance().Translate());
        }
Example #25
0
        public void WaitAsync(Uri address, Func <NameValueCollection> factory)
        {
            UploadValuesCompletedEventHandler OnProgressChanged = null;

            OnProgressChanged = (o, args) =>
            {
                var javascript = Encoding.UTF8.GetString(args.Result);
                var parser     = new Script.Parser();
                parser.Parse(javascript);

                if (FMWW.Http.Client.IsFin(javascript))
                {
                    _Client.UploadValuesCompleted -= OnProgressChanged;
                    CompletedIfPresence(parser.Message);
                    return;
                }
                ConfirmAsync(address, factory);
            };
            _Client.UploadValuesCompleted += OnProgressChanged;
            ConfirmAsync(address, factory);
        }
Example #26
0
        protected void AjaxAsync(Uri address, Action <object> completed, object userState = null)
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = (o, args) =>
            {
                var html = Encoding.UTF8.GetString(args.Result);
                if (Core.Helpers.Ajax.IsFin(html))
                {
                    this._Client.UploadValuesCompleted -= onUploadValuesCompleted;
                    completed(args.UserState);
                }
                else
                {
                    System.Threading.Thread.Sleep(1000);
                    RequestAjaxAsync(address, userState);
                }
            };
            this._Client.UploadValuesCompleted += onUploadValuesCompleted;
            RequestAjaxAsync(address, userState);
        }
Example #27
0
        private void DownloadAsync()
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = new UploadValuesCompletedEventHandler(
                (o, args) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted;
                OnExcelDownloadCompleted(args.Result);
            });
            _Client.UploadValuesCompleted += onUploadValuesCompleted;
            _Client.UploadValuesAsync(
                UrlSlipList,
                "POST",
                new NameValueCollection()
            {
                { "index", "0" },
                { "row", "0" },
                { "action", "download" },
                { "smt", "ファイルが作成されました。ここをクリックして下さい。" }
            });
        }
Example #28
0
        /// <summary>
        /// Posts data to the website and downloads the response page using async
        /// </summary>
        /// <param name="URL">The URL to the website</param>
        /// <param name="postData">The data to send as post request</param>
        /// <param name="method">The method to run once the post is done</param>
        /// <param name="useNewClient">Use a new client</param>
        /// <param name="client">A custom client(leave null to create a new one)</param>
        /// <returns>If the data was posted successfully</returns>
        public static bool PosDataAsync(string URL, NameValueCollection postData, UploadValuesCompletedEventHandler method, bool useNewClient = true, WeebClient client = null)
        {
            try
            {
                if (useNewClient || client == null)
                {
                    WeebClient wc = new WeebClient();

                    wc.UploadValuesCompleted += new UploadValuesCompletedEventHandler(OnUploadValues);
                    wc.UploadValuesCompleted += method;
                    wc.UploadValuesAsync(new Uri(URL), postData);
                    return(true);
                }

                client.UploadValuesAsync(new Uri(URL), postData);
                return(true);
            }
            catch (Exception ex)
            {
                PointBlankLogging.LogError("Failed to post data via async to " + URL, ex, false, false);
                return(false);
            }
        }
Example #29
0
        public ScorePHPYhteys()
        {
            /// Luo tapahtuma datan saantiin.
            UploadValuesCompletedEventHandler p = delegate(object res, UploadValuesCompletedEventArgs args) {
                if (args.Cancelled)
                {
                    Debug.WriteLine("Saatiin ScorePHP dataa, mutta yhteys on peruttu.");

                    /// Tapahtuma EI invokea epäonnistumista.
                    return;
                }
                else if (args.Error != null)
                {
                    Debug.WriteLine("Score.php datan latauksessa virhe: {0}", args.Error);
                    Epäonnistui?.Invoke();
                    return;
                }
                else
                {
                    try
                    {
                        String tulosdata = Encoding.UTF8.GetString(args.Result);
                        Debug.WriteLine("Saatu data: {0} ", tulosdata);
                        List <ScoreItem> r = JsonConvert.DeserializeObject <List <ScoreItem> >(tulosdata);

                        Suoritettu?.Invoke(r);
                    }
                    catch (Exception e)
                    {
                        Debug.WriteLine("Virhe purettaessa tulosdataa: " + e.Message);
                        Epäonnistui?.Invoke();
                    }
                }
            };

            UploadValuesCompleted += new UploadValuesCompletedEventHandler(p);
        }
Example #30
0
        public override void ExcelAsync()
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = new UploadValuesCompletedEventHandler(
                (o, args) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted;
                var htmlText = Encoding.UTF8.GetString(args.Result);
                Debug.Assert(FMWW.Http.Client.IsFin(htmlText));
                DownloadAsync();
            });
            _Client.UploadValuesCompleted += onUploadValuesCompleted;
            _Client.UploadValuesAsync(
                UrlSlipList,
                "POST",
                new NameValueCollection()
            {
                { "action", "excel" },
                { "row", "0" },
                { "index", "0" },
                { "cache", FMWW.Utility.UnixEpochTime.now().ToString() }
            });
        }
Example #31
0
        public override void ExcelAsync()
        {
            UploadValuesCompletedEventHandler onUploadValuesCompleted = null;

            onUploadValuesCompleted = (x, y) =>
            {
                _Client.UploadValuesCompleted -= onUploadValuesCompleted;
                OnExcelDownloadCompleted(y.Result);
            };

            SignedInEventHandler onSignedIn = null;

            onSignedIn = (a, b) =>
            {
                Auth.SignedIn -= onSignedIn;
                ReachAsync(() =>
                {
                    _Client.UploadValuesCompleted += onUploadValuesCompleted;
                    _Client.UploadValuesAsync(Address, FMWW.Http.Method.Post, PageContext.Translate());
                });
            };
            Auth.SignedIn += onSignedIn;
            SignInAsync();
        }
        private async void OnUploadToImgur(object sender, RoutedEventArgs e)
        {
            try
            {
                UploadProgressChangedEventHandler progress = (o, args) => TextEditor.Dispatcher.InvokeAsync(() =>
                {
                    if (_canceled)
                    {
                        ((WebClient)o).CancelAsync();
                    }
                    var progressPercentage = (int)(args.BytesSent / (double)args.TotalBytesToSend * 100);
                    ProgressBar.Value      = progressPercentage;
                    if (progressPercentage == 100)
                    {
                        ProgressBar.IsIndeterminate = true;
                    }
                });

                UploadValuesCompletedEventHandler completed = (o, args) =>
                {
                    if (_canceled)
                    {
                        ((WebClient)o).CancelAsync();
                    }
                };

                string name;
                byte[] image;

                if (_vm.UseClipboardImage)
                {
                    name  = "clipboard";
                    image = Images.ClipboardDibToBitmapSource().ToPngArray();
                }
                else
                {
                    var files = DroppedFiles();
                    if (files.Length > 1)
                    {
                        throw new Exception("Upload only 1 file at a time");
                    }
                    var path = files[0];
                    name  = Path.GetFileNameWithoutExtension(path);
                    image = File.ReadAllBytes(path);
                }

                _vm.Uploading      = true;
                ContextMenu.IsOpen = false;
                var link = await new ImageUploadImgur().UploadBytesAsync(image, progress, completed);
                ActivateClose();

                if (Uri.IsWellFormedUriString(link, UriKind.Absolute))
                {
                    InsertText(TextEditor, DragEventArgs, CreateImageTag(link, name));
                }
                else
                {
                    Notify.Alert(link);
                }
            }
            catch (Exception ex)
            {
                ActivateClose();
                Notify.Alert(ex.Message);
            }
        }
 /// <summary>
 ///     异步抓取页面HTML代码
 /// </summary>
 private TmphDataCrawler()
 {
     onDownloadHandle = onDownload;
     onUploadHandle = onUpload;
 }