private dynamic DownloadItem(SiteEnum site, string filename, CookieAwareWebClient cookieAwareWebClient)
        {
            var id        = FilenameToId(filename);
            var url       = this.resolver.Resolve(site) + string.Format(UrlFormat, id);
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            CQ dom = this.retry.RetryWeb(
                () => cookieAwareWebClient.DownloadString(new Uri(url)),
                x => this.Logger.Error($"Thread:{Thread.CurrentThread.ManagedThreadId:00} Id:{id} Elapsed:{stopwatch.ShortElapsed()}", x));

            stopwatch.Stop();
            var message =
                $"Record:{(this.total++).ToString("00000")} Thread:{Thread.CurrentThread.ManagedThreadId:00} Id:{id} Elapsed:{stopwatch.ShortElapsed()}";

            if (stopwatch.Elapsed.Seconds <= 5)
            {
                this.Logger.Info(message);
            }
            else
            {
                this.Logger.Warn(message);
            }
            return(new { Id = id, Dom = dom });
        }
示例#2
0
 public SitePlayer(string teamCode, PlayerConstants.DepthChartEnum depthChartPosition, PositionEnum position, SiteEnum site, string name)
 {
     Team       = teamCode;
     DepthChart = depthChartPosition;
     Position   = position;
     Site       = site;
     Name       = name;
 }
        private dynamic DownloadItem(SiteEnum site, string filename, CookieAwareWebClient cookieAwareWebClient)
        {
            var id  = filename.Substring(filename.LastIndexOf("\\") + 1).Split('.').First();
            var url = this.resolver.Resolve(site) + string.Format(UrlFormat, id);
            CQ  dom = cookieAwareWebClient.DownloadString(url);

            return(new { Id = id, Dom = dom });
        }
        private IEnumerable <dynamic> DownloadPages(IEnumerable <string> filenames, SiteEnum site)
        {
            using (var cookieAwareWebClient = new CookieAwareWebClient())
            {
                foreach (var filename in filenames)
                {
                    yield return(this.DownloadItem(site, filename, cookieAwareWebClient));

                    Thread.Sleep(WaitBetweenRequestsMs);
                }
            }
        }
示例#5
0
        public string Resolve(SiteEnum site)
        {
            switch (site)
            {
            case SiteEnum.Pre:
                return("https://pre.findapprenticeship.service.gov.uk");

            case SiteEnum.Prod:
                return("https://www.findapprenticeship.service.gov.uk");
            }

            return(null);
        }
示例#6
0
        private IEnumerable <dynamic> DownloadPages(IEnumerable <string> filenames, SiteEnum site)
        {
            using (var cookieAwareWebClient = new CookieAwareWebClient())
            {
                foreach (var filename in filenames)
                {
                    var id  = filename.Substring(filename.LastIndexOf("\\") + 1).Split('.').First();
                    var url = this.resolver.Resolve(site) + string.Format(UrlFormat, id);
                    CQ  dom = cookieAwareWebClient.DownloadString(url);
                    yield return(new { Id = id, Dom = dom });

                    Thread.Sleep(WaitBetweenRequestsMs);
                }
            }
        }
示例#7
0
        public static string GetSiteName(this SiteEnum site)
        {
            string siteName = "homepage";

            switch (site)
            {
            case SiteEnum.TEAMSITEHOMEPAGE:
                siteName = "teamsitehomepage";
                break;

            case SiteEnum.UPLOADDOC:
                siteName = "uploaddoc";
                break;
            }
            return(siteName);
        }
        public static FailedProbesOverview Get(string farmLabel, SiteEnum site, DateTime startTime, DateTime endTime)
        {
            FailedProbesOverview overview = new FailedProbesOverview();

            string searchID = Guid.NewGuid().ToString();
            // start the search
            SearchPayload payload = new SearchPayload
            {
                EndTime    = DateTimeUtils.ToZuluString(endTime),
                Endpoint   = ENDPOINT,
                EventNames = new List <string>()
                {
                    "RunnerCentralEventTable"
                },
                IdentityColumns = new Dictionary <string, string>(),
                MaxResults      = 50000,
                Namespaces      = new List <string>()
                {
                    "RunnerService"
                },
                Query          = null,
                QueryID        = searchID,
                QueryType      = 0,
                SearchCriteria = new List <LogSearchCriteria>()
                {
                    new LogSearchCriteria
                    {
                        Key       = "Status",
                        Operation = 1,
                        Value     = "Unhealthy"
                    },
                    new LogSearchCriteria
                    {
                        Key       = "Role",
                        Operation = 1,
                        Value     = "RunnerContainer"
                    },
                    new LogSearchCriteria
                    {
                        Key       = "InstanceName",
                        Operation = 5,
                        Value     = "/" + farmLabel + "/Primary/"
                    },
                    new LogSearchCriteria
                    {
                        Key       = "Name",
                        Operation = 1,
                        Value     = "ngspo" + site.GetSiteName()
                    }
                },
                StartTime = DateTimeUtils.ToZuluString(startTime)
            };

            FailedProbesRequester.Search(payload);

            // search started, let's ping until we find results
            SearchResponse lastResponse;
            int            count = 0;

            do
            {
                Console.WriteLine("sleeping...");
                Thread.Sleep(1000);
                lastResponse = FailedProbesRequester.Ping(searchID);
            } while (!lastResponse.Status.Equals("Completed") && count++ < 60);

            Console.WriteLine("COUNT: " + count);

            // search is complete, let's grab top 20 results
            lastResponse = FailedProbesRequester.GetFailedProbes(searchID);

            Console.Write(lastResponse);
            return(overview);
        }
示例#9
0
        public string ResumeSearch(ResumeSearchEntity entity)
        {
            var reponseJson  = string.Empty;
            var jsSerializer = new JavaScriptSerializer();

            try
            {
                entity.EmployeeNo = string.IsNullOrEmpty(entity.EmployeeNo) ? "" : entity.EmployeeNo.Trim();
                if (string.IsNullOrEmpty(entity.EmployeeNo))
                {
                    return(jsSerializer.Serialize(new { Falg = 1, Info = "请登录", Result = "[]" }));
                }

                var company = companyDb.GetCompanyById(new TokenManage().GetCompanyId(entity.token));
                if (company == null)
                {
                    reponseJson = jsSerializer.Serialize(new { Flag = 4, Info = "公司不存在", Result = "[]" });
                    return(reponseJson);
                }

                resumeDb = new ResumeDb(new ApplicationCommon().GetUserDBConnection(company));
                userDb   = new UserDb(new ApplicationCommon().GetUserDBConnection(company));

                var user = userDb.GetUserByUsername(new TokenManage().GetUserName(entity.token));
                if (user == null)
                {
                    reponseJson = jsSerializer.Serialize(new { Flag = 4, Info = "该账号不存在", Result = "[]" });
                    return(reponseJson);
                }


                entity.Birth                   = string.IsNullOrEmpty(entity.Birth) ? "" : entity.Birth.Trim();
                entity.Sex                     = string.IsNullOrEmpty(entity.Sex) ? "" : entity.Sex.Trim();
                entity.School                  = string.IsNullOrEmpty(entity.School) ? "" : entity.School.Trim();
                entity.CompanyAll              = entity.Company;
                entity.Company                 = string.IsNullOrEmpty(entity.Company) ? "" : Regex.Replace(entity.Company.Trim(), "有限|责任|公司|分公司|股份|集团|工作室|技术|软件|计算机|信息|科技|网络|系统", "");
                entity.ExtId                   = string.IsNullOrEmpty(entity.ExtId) ? "" : entity.ExtId.Trim();
                entity.SiteCode                = string.IsNullOrEmpty(entity.SiteCode) ? "" : entity.SiteCode.Trim();
                entity.CandidateName           = string.IsNullOrEmpty(entity.CandidateName) ? "" : entity.CandidateName.Trim();
                entity.Email                   = string.IsNullOrEmpty(entity.Email) ? "" : entity.Email.Trim();
                entity.Mobile                  = string.IsNullOrEmpty(entity.Mobile) ? "" : entity.Mobile.Trim();
                entity.MobileLast              = string.IsNullOrEmpty(entity.MobileLast) ? "" : entity.MobileLast.Trim();
                entity.GraduateYear            = string.IsNullOrEmpty(entity.GraduateYear) ? "" : entity.GraduateYear.Trim();
                entity.Cities                  = string.IsNullOrEmpty(entity.Cities) ? "" : entity.Cities.Trim();
                entity.Registry                = string.IsNullOrEmpty(entity.Registry) ? "" : entity.Registry.Trim();
                entity.ExtraDatas.UserName     = string.IsNullOrEmpty(entity.ExtraDatas.UserName) ? "" : entity.ExtraDatas.UserName.Trim();
                entity.ExtraDatas.HidResumeId  = string.IsNullOrEmpty(entity.ExtraDatas.HidResumeId) ? "" : entity.ExtraDatas.HidResumeId.Trim();
                entity.ExtraDatas.ResumeUserId = string.IsNullOrEmpty(entity.ExtraDatas.ResumeUserId) ? "" : entity.ExtraDatas.ResumeUserId.Trim();
                SiteEnum site = (SiteEnum)Convert.ToInt32(entity.SiteCode);

                List <SearchReturnEntity> returnResult = SearchResumeBaseFunction(entity);
                if (returnResult.Count == 0)
                {
                    reponseJson = jsSerializer.Serialize(new { Flag = (entity.SearchType == 0 ? 0 : 2), Info = string.Empty, Result = "[]" });
                    return(reponseJson);
                }
                if (entity.SearchType == 0)
                {
                    returnResult.ForEach(r => r.CanUpdate = false);
                }
                //var result = returnResult.Where(p => p.Score > 0f);
                reponseJson = jsSerializer.Serialize(new { Flag = 0, Info = string.Empty, Result = returnResult });
                return(reponseJson);
            }
            catch (Exception ex)
            {
                reponseJson = jsSerializer.Serialize(new { Flag = 2, Info = ex.Message, Result = "[]" });//搜索异常
                return(reponseJson);
            }
        }
示例#10
0
 private string GetProfileProviderName(SiteEnum site)
 {
     return "SqlProfileProvider";
 }
示例#11
0
 private string GetMembershipProviderName(SiteEnum site)
 {
     return "SqlMembershipProvider";
 }
示例#12
0
 public abstract void ProcessRequest(long userId, SiteEnum siteType, ref string originalTarget);
示例#13
0
        internal static string GetSiteMemberProfileUrl(SiteEnum site)
        {
            switch (site)
            {
                case 2:
                    return "http://global.thenest.com/join/MemberProfile.aspx";

                case 3:
                    return "http://global.lilaguide.com/join/MemberProfile.aspx";

                case 4:
                    return "http://global.thenestbaby.com/join/MemberProfile.aspx";

                case 7:
                    return "http://global.weddingchannel.com/join/MemberProfile.aspx";

                case 11:
                    return "http://global.thebump.com/join/MemberProfile.aspx";

                case 12:
                    return ("http://" + HttpContext.Current.Request.Url.Host + "/join/MemberProfile.aspx");

                case 15:
                    return "http://global.giftregistry360.com/join/MemberProfile.aspx";

                case 0x10:
                    return "http://global.breastfeeding.com/join/MemberProfile.aspx";
            }
            return "http://global.theknot.com/join/MemberProfile.aspx";
        }