예제 #1
0
        ///-------------------------------------------------------------------------------------------------
        /// <summary>   Выход из профиля на борде </summary>
        ///
        /// <remarks>   SV Milovanov, 02.02.2018. </remarks>
        ///-------------------------------------------------------------------------------------------------

        public override void Exit()
        {
            DCT.Execute(data =>
            {
                WebWorker.DownloadPage("https://www.avito.ru/profile/exit", null);
            });
        }
예제 #2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);


            var worker = new StorageService();

            // Create your application here
            SetContentView(Resource.Layout.examflow_searchview);
            WebView localWebView = FindViewById <WebView>(Resource.Id.examflow_searchview_viewweb);



            localWebView.SetWebViewClient(new WebViewClient());     // stops request going to Web Browser

            var btnWebClient = FindViewById <Button>(Resource.Id.examflow_searchview_btnSearch);

            btnWebClient.Click += async(sender, e) => {
                //keyword

                var keyword = await worker.LoadTextAsync("googleSearch.txt");



                var Worker = new WebWorker();
                var result = await Worker.DownloadHtmlString("https://www.google.com.tw/#q=" + keyword);

                localWebView.LoadDataWithBaseURL(
                    null
                    , result
                    , "text/html"
                    , "utf-8"
                    , null);
            };
        }
예제 #3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.

            Worker = new WebWorker();

            Worker.HtmlStringReceived += (sender, e) =>
            {
                WriteLine(e.Html);

                PerformSegue("moveToMenuViewSegue", this);
            };

            btnLogin.TouchUpInside += async(object sender, EventArgs e) =>
            {
                var result = await Worker.DownloadHtmlString("https://stackoverflow.com");

                WriteLine($"這是直接使用回傳結果 { result.Length }");
            };

            //btnLogin.TouchUpInside += (object sender, EventArgs e) =>
            //{
            //	PerformSegue("moveToMenuViewSegue", this);

            //};

            //btnLogin.TouchUpInside += (sender, e) =>
            //{
            //	WriteLine($"TouchUpInside");
            //};
        }
예제 #4
0
        public JsonResult AddOrEditBuidingCase(WebBuidingCase webca)
        {
            WebWorker worker = workerSer.GetWebWorkerByID(webca.WorkerID);
            int       ret    = 0;

            string[] list = null;
            string   thum = "";

            if (webca.textimg == "" || webca.textimg == null)
            {
            }
            else
            {
                list = ImageHelper.GetHvtImgUrls(webca.textimg);
                foreach (string item in list)
                {
                    thum += item + "|";
                }
                webca.textthumbnailImage = thum;
            }
            webca.UserID = worker.UserID;
            if (webca.id == 0)
            {
                ret = buidingcase.addBuidingCase(webca);
            }
            else
            {
                ret = buidingcase.updateBuidingCase(webca);
            }
            return(Json(new { RetCode = ret }));
        }
예제 #5
0
        private void CheckVersion()
        {
            try
            {
                if (TempFilesWorker.CheckVersion())
                {
                    float    code      = 0;
                    float    important = 0;
                    string   versiont  = "";
                    DateTime date;

                    WebWorker.GetVersionInfo(out code, out important, out versiont, out date);

                    if (code > Good_Teacher.MainWindow.VersionCode)
                    {
                        Window_CheckForUpdates checkForUpdates = new Window_CheckForUpdates(code, important, versiont, date);
                        checkForUpdates.Owner = this;
                        checkForUpdates.ShowDialog();
                    }


                    TempFilesWorker.WriteCurrentDay();
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
        }
예제 #6
0
        public ActionResult AddAndUpdateUser(int userid)
        {
            //省份
            IEnumerable<SelectListItem> provinceList = null;
            List<t_Province> common = areaService.GetProvinceList();
            provinceList = common.Select(com => new SelectListItem { Value = com.provinceID.ToString(), Text = com.province });
            ViewBag.provinceList = provinceList;
            //工作年限
            List<WebLookup> workyearlist = commonService.GetLookupList("people_workyear");
            ViewBag.workyearslist = workyearlist;
            //工人职位
            List<WebLookup> commonworkPosition = commonService.GetLookupList("workers_position");       
            ViewBag.workPositionList = commonworkPosition;

            WebUser webuser = webuserservice.GetWebUserByID(userid);
            //List<WebLookup> weblooktypelist = webcommonser.GetLookupList("people_category");
            //IEnumerable<SelectListItem> typelist = weblooktypelist.Select(com => new SelectListItem { Value = com.Code.ToString(), Text = com.Description });
            //ViewBag.typelist = typelist;
            WebWorker work = new WebWorker();
            if (webuser != null)
            {
                if (webuser.PositionCode != "WebUser")
                {
                    work = workSer.GetWebWorkerByUserID(userid);
                }
            }else
            {
                webuser = new WebUser();
            }
            ViewBag.worker = work;
            return View(webuser);
        }
예제 #7
0
        public MainWindow()
        {
            InitializeComponent();

            UiHelper.SetAction(q => ActionState.Text = q, q => GlobalState.Text = q, q => ObjectState.Text = q);

            WebWorker.SetBrowser((MyWebBrowser.Child as System.Windows.Forms.WebBrowser));
            UiHelper.UpdateWorkState("Ожидание работы");
            UiHelper.UpdateActionState("WebWorker инициализирован");

            //using(var s = new EngineService())
            //{
            //    var ping = s.Ping();
            //}
            //var webProxy = new WebProxy
            //{
            //    Address = new Uri("http://5.101.64.68:55907"),
            //};
            //WebRequest.DefaultWebProxy = webProxy;

            //WinInetInterop.SetConnectionProxy("http://217.23.6.40:8080");

            //WebWorker.NavigatePage("https://www.whatismyip.com/my-ip-information/");

            //WebRequest request = WebRequest.Create("http://google.com");
            //HttpWebResponse response = (HttpWebResponse)request.GetResponse();


            //var a = new AvitoBulletinPackageContainer();
            //a.TestImage();
        }
예제 #8
0
 protected override void Exit()
 {
     DCT.Execute(data =>
     {
         UiHelper.UpdateActionState("Выход из профиля");
         WebWorker.NavigatePage("https://www.avito.ru/profile/exit");
     });
 }
예제 #9
0
        public ActionResult DecBuidingDetail(int WorkerID = 0, int BuidingID = 0)
        {
            WebBuiding buiding = webbuidingSer.GetWebBuidingByID(BuidingID);
            WebWorker  worker  = webworkerService.GetWebWorkerByID(WorkerID);

            ViewBag.buiding = buiding;
            return(View(worker));
        }
예제 #10
0
 public bool IsHaveWorker(int UserID)
 {
     using (AIYunNetContext context = new AIYunNetContext())
     {
         WebWorker WebWorker = context.WebWorker.FirstOrDefault(us => us.UserID == UserID);
         return(WebWorker != null ? true : false);
     }
 }
예제 #11
0
 /// <summary>
 /// 添加
 /// </summary>
 public int AddWebWorker(WebWorker WebWorker)
 {
     using (AIYunNetContext context = new AIYunNetContext())
     {
         context.WebWorker.Add(WebWorker);
         context.SaveChanges();
         return(1);
     }
 }
예제 #12
0
        public Working(params PatientDiscriptor[] patients)
        {
            InitializeComponent();
            patientList = patients;
            WebWorker ww = new WebWorker(patients);

            t = new Thread(new ThreadStart(ww.work));
            t.Start();
        }
예제 #13
0
 /// <summary>
 /// 通过审核
 /// </summary>
 public int PassCheckByWorker(int userid, bool IsApproved)
 {
     using (AIYunNetContext context = new AIYunNetContext())
     {
         WebWorker work = context.WebWorker.FirstOrDefault(c => c.UserID == userid);
         work.IsApproved = IsApproved;
         context.SaveChanges();
         return(1);
     }
 }
        public ActionResult mWorkerDetail(int workerid = 1)
        {
            WebWorker             worker   = workerSer.GetWebWorkerByID(workerid);
            List <WebBuiding>     list     = buidSer.moblieGetWebBuidingList(workerid, 4);
            List <WebBuidingCase> caselist = buidcaseSer.GetBuidingCaseListByWorkerID(workerid, 4);

            ViewBag.caselist = caselist;
            ViewBag.list     = list;
            return(View(worker));
        }
예제 #15
0
 public WebCrawlerMgr(string startUrl, int maxDepth, List <string> patterns, bool isOnlyStartUrlHost)
 {
     _startUrl           = startUrl ?? string.Empty;
     _maxDepth           = maxDepth > 0 ? maxDepth : Consts.DefaultMaxDepth;
     _patterns           = patterns ?? new List <string>();
     _isOnlyStartUrlHost = isOnlyStartUrlHost;
     _authContext        = null;
     _isUsingLogin       = false;
     _webWorker          = new WebWorker();
 }
예제 #16
0
 protected LinkWalkerBotService(IOfferStorageWorker storage, ILog eventLogger, BotOptions botOptions)
 {
     _storage     = storage;
     _eventLogger = eventLogger;
     _processors  = new List <Task>();
     BotOptions   = botOptions;
     _queueLinks  = new ConcurrentQueue <string>();
     _webWorker   = new T();
     _htmlParser  = new HtmlParser();
 }
예제 #17
0
        void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
        {
            Application.Current.Dispatcher.Invoke(
                () =>
            {
                Debug.WriteLine("Download Completed");
                if (e.Error != null)
                {
                    Debug.WriteLine("Download Failed");
                    LB_Size.Content = Good_Teacher.Strings.ResStrings.Failure;
                }
                else
                {
                    Debug.WriteLine("Download Success");
                    R_Percentage.Text = "100%";
                    LB_Size.Content   = Good_Teacher.Strings.ResStrings.Success;

#if RELEASEX64
                    string txt = RemoveSpecialCharacters(WebWorker.ReadText("http://goodteacher.diodegames.eu/internal/UpdateVerificationx64.txt")).ToUpper();
#else
                    string txt = RemoveSpecialCharacters(WebWorker.ReadText("http://goodteacher.diodegames.eu/internal/UpdateVerification.txt")).ToUpper();
#endif

                    string checksum = RemoveSpecialCharacters(GetChecksum(PathToInstaller)).ToUpper();

                    Debug.WriteLine("Downloaded Checksum: " + txt);
                    Debug.WriteLine("File Checksum: " + checksum);

                    if (checksum == txt)
                    {
                        Debug.WriteLine("CheckSum is good!");
                        System.Diagnostics.Process.Start(PathToInstaller, "/SILENT /CLOSEAPPLICATIONS /NOCANCEL");
                        System.Windows.Application.Current.Shutdown();
                    }
                    else
                    {
                        Debug.WriteLine("CheckSum is wrong!");
                        if (MessageBox.Show(Good_Teacher.Strings.ResStrings.DownloadVerFailed, Good_Teacher.Strings.ResStrings.Error, MessageBoxButton.YesNo, MessageBoxImage.Error) == MessageBoxResult.No)
                        {
                            System.Windows.Application.Current.Shutdown();
                        }
                        else
                        {
                            Process.Start(Good_Teacher.MainWindow.HomeWebURL);
                            System.Windows.Application.Current.Shutdown();
                        }
                    }

                    /*
                     * System.Diagnostics.Process.Start(PathToInstaller, "/SILENT /CLOSEAPPLICATIONS /NOCANCEL");
                     * System.Windows.Application.Current.Shutdown();
                     */
                }
            });
        }
예제 #18
0
        public Window_CheckForUpdates()
        {
            InitializeComponent();

            string is64XVersion = "";

            #if RELEASEX64
            is64XVersion = " (x64)";
            #endif

            CurVersion.Content = Assembly.GetExecutingAssembly().GetName().Version.ToString() + " " + MainWindow.VersionSpecialIdentificationName + is64XVersion;

            try
            {
                float    code      = 0;
                float    important = 0;
                string   versiont  = "";
                DateTime date;

                WebWorker.GetVersionInfo(out code, out important, out versiont, out date);

                if (code > MainWindow.VersionCode)
                {
                    SP_UpToDate.Visibility   = Visibility.Collapsed;
                    SP_NewVersion.Visibility = Visibility.Visible;
                    LB_Date.Visibility       = Visibility.Visible;

                    NewVersion.Content = versiont;

                    LB_Date.Content = date.ToShortDateString();

                    if (MainWindow.VersionCode >= important)
                    {
                        ImportantV.Visibility = Visibility.Collapsed;
                    }
                    else
                    {
                        ImportantV.Visibility = Visibility.Visible;
                    }
                }
                else
                {
                    SP_UpToDate.Visibility   = Visibility.Visible;
                    SP_NewVersion.Visibility = Visibility.Collapsed;
                    LB_Date.Visibility       = Visibility.Collapsed;
                }
            }catch (Exception ex)
            {
                Debug.WriteLine(ex);
                MessageBox.Show(Strings.ResStrings.CantCheckVersion, Strings.ResStrings.Error);
                closeW = true;
            }

            Loaded += Window_CheckForUpdates_Loaded;
        }
예제 #19
0
 /// <summary>
 /// 修改
 /// </summary>
 public int UpdateWebWorker(WebWorker webworker)
 {
     using (AIYunNetContext context = new AIYunNetContext())
     {
         WebWorker originalPeople = context.WebWorker.Find(webworker.WorkerID);
         if (originalPeople != null)
         {
             context.SaveChanges();
         }
         return(1);
     }
 }
예제 #20
0
        public ServiceShell(IConfiguration configuration, ILogger <ServiceShell> logger, DbWorker db, WebWorker web, ResponseParser parser)
        {
            _configuration = configuration;
            _logger        = logger;
            _db            = db;
            _web           = web;
            _parser        = parser;

            _cancellationTokenSource = new CancellationTokenSource();
            _workSignal = new ManualResetEventSlim(false);

            _worker = new Task(() => Worker(_cancellationTokenSource.Token));
        }
예제 #21
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            // Perform any additional setup after loading the view, typically from a nib.

            WebWorker WebWorker = new WebWorker();

            btnLogin.TouchUpInside += async(sender, e) => {
                var result = await WebWorker.DownloadHtmlString("https://stackoverflow.com");

                PerformSegue("moveToMenuViewSegue", this);
            };
        }
예제 #22
0
        public async Task GetRequest_Ok_Test()
        {
            WebWorker web = new WebWorker(SU.GetConfiguration(), SU.GetLogger <WebWorker>());

            await using Stream response = await web.RequestNewCurrencyAsync(DateTime.Today);

            Assert.NotNull(response);

            using StreamReader responseReader = new StreamReader(response);
            string stringResponse = await responseReader.ReadToEndAsync();

            Assert.True(stringResponse.Length > 0);
        }
예제 #23
0
        private void ScanUrls(List <string> urls, List <string> patterns)
        {
            if (urls == null || patterns == null || urls.Count == 0 || patterns.Count == 0)
            {
                return;
            }

            var htmlsOfUrls = new List <string>();

            foreach (var url in urls)
            {
                var checkingUrl = ClearUrl(url);
                //Проверяем пробегали ли мы уже эту страницу
                var existItem = GetVisitedUrls().SingleOrDefault(g => g.Url == checkingUrl);
                if (existItem != null)
                {
                    existItem.VisitingCount++;
                    continue;
                }

                //Результаты поиска на текущей странице
                string currentHtml;
                ScanUrl(checkingUrl, patterns, out currentHtml);

                if (!string.IsNullOrEmpty(currentHtml))
                {
                    htmlsOfUrls.Add(currentHtml);
                }
            }

            _currentDepth++;
            if (_currentDepth > _maxDepth)
            {
                return;
            }

            var linksForNextScan = new List <string>();

            foreach (var currentHtml in htmlsOfUrls)
            {
                linksForNextScan.AddRange(HtmlUtils.GetLinksFromHtml(currentHtml)
                                          .Select(g => ClearUrl(WebWorker.ResolveUrl(g, _startUrl)))
                                          .Where(h => GetVisitedUrls().SingleOrDefault(g => g.Url == h) == null &&
                                                 IsInHost(h, _startUrl)));
            }

            htmlsOfUrls = null;
            urls        = null;

            ScanUrls(linksForNextScan, patterns);
        }
예제 #24
0
        public WebWorker GetWebWorkerByID(int id)
        {
            WebWorker worker = new WebWorker();

            using (AIYunNetContext context = new AIYunNetContext())
            {
                worker = context.WebWorker.Find(id);
                if (worker == null)
                {
                    worker = new WebWorker();
                }
                return(worker);
            }
        }
예제 #25
0
        //在手机端修改worker
        public int UpdateWebWorkerFromMobile(int id, string data, string type)
        {
            using (AIYunNetContext context = new AIYunNetContext())
            {
                WebWorker originalWorker = context.WebWorker.Find(id);
                if (originalWorker != null)
                {
                    switch (type)
                    {
                    case "WorkYearsID":
                        originalWorker.WorkYearsID = Convert.ToInt32(data);
                        originalWorker.WorkYears   = cSer.GetLookupDesc("people_workyear", data);
                        break;

                    case "WorkerPositionID":
                        originalWorker.WorkerPositionID = data;
                        originalWorker.WorkerPosition   = cSer.GetLookupDesc("workers_position", data);
                        break;

                    case "PriceName":
                        originalWorker.PriceName = data;
                        break;

                    case "GoodAtStyle":
                        originalWorker.GoodAtStyle = data;
                        break;

                    case "WorkerMotto":
                        originalWorker.WorkerMotto = data;
                        break;

                    case "WorkerInfo":
                        originalWorker.WorkerInfo = data;
                        break;

                    case "Address":
                        originalWorker.Address = data;
                        break;

                    default:

                        break;
                    }
                    originalWorker.EditOn = DateTime.Now;
                    context.SaveChanges();
                }
                return(1);
            }
        }
예제 #26
0
        public ActionResult DecWorkerBuidingDetail(int WorkerID = 0, int BuidingID = 0)
        {
            WebWorker worker = webworkerService.GetWebWorkerByID(WorkerID);
            //WebBuidingSingle buidingSingle = WebBuidingSingleSer.GetWebBuidingSingleByID(BuidingSingleID);
            WebBuiding buiding = webbuidingSer.GetWebBuidingByID(BuidingID);
            DecDemand  demand  = DemandSer.GetDecDemandByID(buiding.DemandID);
            //工人在constructionstageID中只有单个id
            WebBuidingStages buidingstage = WebBuidingStagesSer.GetWebBuidingStagesByID(BuidingID, Convert.ToInt32(buiding.constructionstageID.Replace(",", "")));

            ViewBag.buiding      = buiding;
            ViewBag.buidingstage = buidingstage;
            ViewBag.demand       = demand;
            ViewBag.worker       = worker;
            return(View(worker));
        }
예제 #27
0
        protected override bool Auth()
        {
            var result = false;

            DCT.Execute(d =>
            {
                UiHelper.UpdateActionState("Поиск валидного прокси");
                ProxyManager.UseProxy();

                UiHelper.UpdateActionState("Навигация на страницу авторизации");
                WebWorker.NavigatePage(LoginUrl);
                if (WebWorker.WebDocument != null)
                {
                    UiHelper.UpdateActionState("Заполнение логина и пароля");
                    var e         = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>();
                    var loginForm = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                    .FirstOrDefault(q => q.GetAttribute("name") == "login");
                    if (loginForm != null)
                    {
                        loginForm.SetAttribute("value", currentAccess.Login);
                    }

                    var passwordForm = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                       .FirstOrDefault(q => q.GetAttribute("type") == "password");
                    if (passwordForm != null)
                    {
                        passwordForm.SetAttribute("value", currentAccess.Password);
                    }

                    var signIn = WebWorker.WebDocument.GetElementsByTagName("button").Cast <HtmlElement>()
                                 .FirstOrDefault(btn => btn.InnerText == "Войти" && btn.GetAttribute("type") == "submit");

                    if (signIn != null)
                    {
                        signIn.InvokeMember("click");
                    }
                }
                else
                {
                    UiHelper.UpdateActionState("Страница авторизации is NULL");
                    Thread.Sleep(2000);
                }
                UiHelper.UpdateActionState("Ожидание авторизации...");
                Thread.Sleep(15000);
                result = true;
            });
            return(result);
        }
예제 #28
0
        ///-------------------------------------------------------------------------------------------------
        /// <summary>   Авторизация на борде </summary>
        ///
        /// <remarks>   SV Milovanov, 02.02.2018. </remarks>
        ///
        /// <returns>   True if it succeeds, false if it fails. </returns>
        ///-------------------------------------------------------------------------------------------------

        public override bool Auth()
        {
            var result = false;

            DCT.Execute(data =>
            {
                var access = data.Db1.Accesses.FirstOrDefault(q => q.BoardId == Uid && q.UserId == data.Objects.CurrentUser.Id && q.State == (int)AccessState.Activated);
                if (access == null)
                {
                    return;
                }

                data.Objects.CurrentAccess = access;

                WebWorker.DownloadPage(LoginUrl, (doc) =>
                {
                    if (WebWorker.WebDocument != null)
                    {
                        var e         = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>();
                        var loginForm = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                        .FirstOrDefault(q => q.GetAttribute("name") == "login");
                        if (loginForm != null)
                        {
                            loginForm.SetAttribute("value", access.Login);
                        }

                        var passwordForm = WebWorker.WebDocument.GetElementsByTagName("input").Cast <HtmlElement>()
                                           .FirstOrDefault(q => q.GetAttribute("type") == "password");
                        if (passwordForm != null)
                        {
                            passwordForm.SetAttribute("value", access.Password);
                        }

                        var signIn = WebWorker.WebDocument.GetElementsByTagName("button").Cast <HtmlElement>()
                                     .FirstOrDefault(btn => btn.InnerText == "Войти" && btn.GetAttribute("type") == "submit");

                        if (signIn != null)
                        {
                            signIn.InvokeMember("click");
                        }
                    }
                });
                //Без принудительного ожидания даже с Application.DoEvents авторизация не сработает, если перейти на другую страницу
                WebWorker.JustWait(2);
                result = true;
            });
            return(result);
        }
예제 #29
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            //
            Worker = new WebWorker();

            Worker.HtmlStringReceived += (sender, e) => {
                WriteLine(e.Html);
            };

            btnWebClient.TouchUpInside += async(sender, e) => {
                var result = await Worker.DownloadHtmlString("https://stackoverflow.com");

                WriteLine($"這是直接使用回傳結果 { result.Length }");
            };
        }
예제 #30
0
        ///-------------------------------------------------------------------------------------------------
        /// <summary>   Загружает все группы и поля Board. </summary>
        ///
        /// <remarks>   SV Milovanov, 02.02.2018. </remarks>
        ///-------------------------------------------------------------------------------------------------

        public override void ReloadGroups()
        {
            DCT.Execute(data =>
            {
                //Exit();
                //Auth();

                Thread.Sleep(1000);

                WebWorker.DownloadPage("https://www.avito.ru/additem", (doc) =>
                {
                    var groupContainer = GroupContainerList.Get(Uid);
                    groupContainer.Reinitialize();
                });
            });
        }