コード例 #1
0
        public PhantomJSDriver RegisterNewDriver(SpyAccountViewModel account)
        {
            if (string.IsNullOrWhiteSpace(account.Proxy))
            {
                return(new PhantomJSDriver());
            }

            var service = PhantomJSDriverService.CreateDefaultService();

            service.AddArgument(string.Format("--proxy-auth={0}:{1}", account.ProxyLogin, account.ProxyPassword));
            service.AddArgument(string.Format("--proxy={0}", account.Proxy));

            var driver = new PhantomJSDriver(service);

            return(driver);
        }
コード例 #2
0
        public ActionResult UpdateUser(SpyAccountViewModel model)
        {
            var textList = new[]
            {
                model.Login,
                model.Name,
                model.Password
            };

            if (textList.Any(string.IsNullOrWhiteSpace))
            {
                return(View("Index", model));
            }

            spyService.AddOrUpdateSpyAccount(model, new BackgroundJobService());

            return(RedirectToAction("Index", "Spies"));
        }
コード例 #3
0
        public void AddOrUpdateSpyAccount(SpyAccountViewModel model, IBackgroundJobService backgroundJobService)
        {
            var accountId = new AddOrUpdateSpyAccountCommandHandler(new DataBaseContext()).Handle(new AddOrUpdateSpyAccountCommand
            {
                Id            = model.Id,
                Name          = model.Name,
                PageUrl       = model.PageUrl,
                FacebookId    = model.FacebookId,
                Password      = model.Password,
                Login         = model.Login,
                Proxy         = model.Proxy,
                ProxyLogin    = model.ProxyLogin,
                ProxyPassword = model.ProxyPassword
            });

            new CookieService().RefreshCookies(new AccountViewModel
            {
                Id            = accountId,
                Login         = model.Login,
                Password      = model.Password,
                Proxy         = model.Proxy,
                ProxyLogin    = model.ProxyLogin,
                ProxyPassword = model.ProxyPassword,
            },
                                               true,
                                               backgroundJobService);

            var account = new GetSpyAccountByIdQueryHandler(new DataBaseContext()).Handle(new GetSpyAccountByIdQuery
            {
                UserId = accountId
            });

            if (model.PageUrl == null || model.FacebookId == 0)
            {
                var accountFacebookId = _proxyManager.GetAccountFacebookId(account.Cookie.CookieString);
                var homePageUrl       = _accountManager.CreateHomePageUrl(accountFacebookId);

                new AddOrUpdateSpyAccountCommandHandler(new DataBaseContext()).Handle(new AddOrUpdateSpyAccountCommand
                {
                    Id            = account.Id,
                    Name          = model.Name,
                    PageUrl       = homePageUrl,
                    FacebookId    = accountFacebookId,
                    Password      = model.Password,
                    Login         = model.Login,
                    Proxy         = model.Proxy,
                    ProxyLogin    = model.ProxyLogin,
                    ProxyPassword = model.ProxyPassword
                });

                account = new GetSpyAccountByIdQueryHandler(new DataBaseContext()).Handle(new GetSpyAccountByIdQuery
                {
                    UserId = accountId
                });
            }

            var jobModel = new AddOrUpdateAccountModel
            {
                Account = new AccountViewModel
                {
                    Id            = accountId,
                    Name          = model.Name,
                    PageUrl       = model.PageUrl,
                    FacebookId    = account.FacebookId,
                    Password      = model.Password,
                    Login         = model.Login,
                    Proxy         = model.Proxy,
                    ProxyLogin    = model.ProxyLogin,
                    ProxyPassword = model.ProxyPassword,
                    Cookie        = account.Cookie.CookieString
                }
            };

            _jobService.AddOrUpdateSpyAccountJobs(jobModel);
        }