コード例 #1
0
        /// <summary>
        /// scans the two evils website for all the derby profiles
        /// </summary>
        public static void ScanTwoEvilsWebsite()
        {

            //<tr class="(trc1|trc2)"><td>(&nbsp;|[a-zA-Z0-9\s�\-\.\'\%\(\),!"#$*/\?:&\+!_=~@\[\]`]+)</td><td>(&nbsp;|[0-9a-zA-Z\s\.\/\-%#:'�$"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(&cent;)?|&times;)</td><td>([0-9\-]+|&nbsp;)</td><td>(&nbsp;|[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)</td></tr>

            //name: (&nbsp;|[a-zA-Z0-9\s�\-\.\'\%\(\),!"#$*/\?:&\+!_=~@\[\]`]+)
            //number: (&nbsp;|[0-9a-zA-Z\s\.\/\-%#:'�$"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(&cent;)?|&times;)
            // date: ([0-9\-]+|&nbsp;)
            //league: (&nbsp;|[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)

            List<MemberDisplay> profiles = new List<MemberDisplay>();
            StringBuilder sb = new StringBuilder();
            sb.Append("<tr class=\"");
            sb.Append("(trc1|trc2)\"");
            sb.Append(@"><td>(&nbsp;|[a-zA-Z0-9\s�\-\.\'\%\(\),!");
            sb.Append(@"#$*/\?:&\+!_=~@\[\]`]+)</td><td>(&nbsp;|[0-9a-zA-Z\s\.\/\-%#:'�$");
            sb.Append(@"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(&cent;)?|&times;)</td><td>([0-9\-]+|&nbsp;)</td><td>(&nbsp;|[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)</td></tr>");


            Regex lineItem = new Regex(sb.ToString(), RegexOptions.IgnoreCase | RegexOptions.Compiled);

            Regex name = new Regex(@"(&nbsp;|[a-zA-Z0-9\s�\-\.\'\%\(\),!#$*/\?:&\+!_=~@\[\]`]+)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            Regex number = new Regex(@"(&nbsp;|[0-9a-zA-Z\s\.\/\-%#:'�$\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(&cent;)?|&times;)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            Regex date = new Regex(@"([0-9\-]+|&nbsp;)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            Regex league = new Regex(@"(&nbsp;|[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)", RegexOptions.IgnoreCase | RegexOptions.Compiled);
            Regex tdBlah = new Regex(@"</td><td>", RegexOptions.Compiled | RegexOptions.IgnoreCase);

            WebClient webClient = new WebClient();
            const string strUrl = "http://www.twoevils.org/rollergirls/";
            byte[] reqHTML;
            reqHTML = webClient.DownloadData(strUrl);
            UTF8Encoding objUTF8 = new UTF8Encoding();
            string html = objUTF8.GetString(reqHTML);
            int blah = lineItem.Matches(html).Count;
            MatchCollection matches = lineItem.Matches(html);
            foreach (Match pro in matches)
            {
                string website = "";
                string teamName = "";
                string match = pro.Value;
                match = match.Replace("<tr class=\"trc2\"><td>", "");
                match = match.Replace("<tr class=\"trc1\"><td>", "");
                MemberDisplay profile = new MemberDisplay();
                profile.DerbyName = name.Match(match).Value;
                match = match.Remove(name.Match(match).Index, profile.DerbyName.Length);
                match = tdBlah.Replace(match, "", 1);
                profile.PlayerNumber = number.Match(match).Value;
                if (profile.PlayerNumber.Contains("&nbsp;"))
                    profile.PlayerNumber = string.Empty;
                match = match.Remove(number.Match(match).Index, profile.PlayerNumber.Length);
                match = tdBlah.Replace(match, "", 1);
                website = date.Match(match).Value;
                if (website.Contains("&nbsp;"))
                    website = string.Empty;
                match = match.Remove(date.Match(match).Index, website.Length);
                match = tdBlah.Replace(match, "", 1);
                teamName = league.Match(match).Value;
                teamName = teamName.Replace("(trademarked name)", "");
                if (teamName.Contains("&nbsp;") || teamName.Contains("delete"))
                    teamName = string.Empty;
                match = match.Remove(league.Match(match).Index, teamName.Length);
                RDN.Portable.Classes.League.Classes.League l = new RDN.Portable.Classes.League.Classes.League();
                l.Website = website;
                l.Name = teamName;
                profile.Leagues.Add(l);
                if (!profile.DerbyName.Contains("Expletive Deleted"))
                    profiles.Add(profile);
            }

            foreach (var pr in profiles)
            {
                try
                {
                    Console.WriteLine("teamName:" + pr.DerbyName);
                    var dc = new ManagementContext();
                    Guid skaterId = new Guid();
                    Guid teamId = new Guid();
                    if (pr.Leagues.FirstOrDefault() != null)
                    {
                        var team = dc.LeaguesForTwoEvils.Where(x => x.Name.ToLower() == pr.Leagues.FirstOrDefault().Name.ToLower()).FirstOrDefault();
                        var teamRoster = dc.LeaguesForDerbyRoster.Where(x => x.Name.ToLower() == pr.Leagues.FirstOrDefault().Name.ToLower()).FirstOrDefault();
                        if (team == null)
                        {
                            TwoEvilsProfile skater = new TwoEvilsProfile();
                            skater.Date = pr.Leagues.FirstOrDefault().Website;
                            skater.Name = pr.DerbyName;
                            skater.Number = pr.PlayerNumber;
                            dc.ProfilesForTwoEvils.Add(skater);

                            TwoEvilsLeague leagueDb = new TwoEvilsLeague();
                            if (pr.Leagues.FirstOrDefault().Name.Length > 0)
                            {
                                leagueDb.Name = pr.Leagues.FirstOrDefault().Name;
                                leagueDb.Skaters.Add(skater);
                                dc.LeaguesForTwoEvils.Add(leagueDb);
                            }
                            if (teamRoster != null)
                            {
                                teamRoster.Skaters.Add(skater);
                            }

                            dc.SaveChanges();
                            skaterId = skater.ProfileId;
                            teamId = leagueDb.TeamId;
                        }
                        else
                        {
                            TwoEvilsProfile skater = new TwoEvilsProfile();
                            skater.Date = pr.Leagues.FirstOrDefault().Website;
                            skater.Name = pr.DerbyName;
                            skater.Number = pr.PlayerNumber;
                            dc.ProfilesForTwoEvils.Add(skater);
                            team.Skaters.Add(skater);

                            if (teamRoster != null)
                            {
                                teamRoster.Skaters.Add(skater);
                            }

                            dc.SaveChanges();
                            teamId = team.TeamId;
                            skaterId = skater.ProfileId;
                        }

                        if (skaterId != new Guid())
                        {
                            //  http://rdnation.com/roller-derby-skater/A-LO/5cb2bdb641f747f39d1745286d6a1561
                            string url = "http://rdnation.com/roller-derby-skater/1/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(pr.DerbyName) + "/" + skaterId.ToString().Replace("-", "");
                            SitemapHelper.AddNode(url, false);
                        }
                        if (teamId != new Guid())
                        {
                            //http://rdnation.com/roller-derby-league/San-Diego-Roller-Derby/99121fbf301f4c2fb4beb5c13d011088
                            string url = "http://rdnation.com/roller-derby-league/1/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(pr.Leagues.FirstOrDefault().Name) + "/" + teamId.ToString().Replace("-", "");
                            SitemapHelper.AddNode(url, false);
                        }
                    }
                }
                catch { }
            }

        }
コード例 #2
0
ファイル: User.cs プロジェクト: mukhtiarlander/git_demo_torit
        public static MemberDisplay GetMemberDisplayTwoEvils(Guid memberId)
        {
            try
            {
                var dc = new ManagementContext();
                var member = dc.ProfilesForTwoEvils.Where(x => x.ProfileId == memberId).FirstOrDefault();
                if (member == null)
                    return null;

                MemberDisplay mem = new MemberDisplay();

                mem.MemberId = member.ProfileId;
                mem.PlayerNumber = member.Number;
                mem.DerbyName = member.Name;
                mem.MemberId = memberId;

                if (member.LeagueDerbyRoster != null)
                {
                    mem.Team1ScoreTotal = 2;
                    RDN.Portable.Classes.League.Classes.League l = new Portable.Classes.League.Classes.League();
                    l.Name = member.LeagueDerbyRoster.Name;
                    l.LeagueId = member.LeagueDerbyRoster.TeamId;
                    mem.Leagues.Add(l);
                }
                else if (member.League != null)
                {
                    mem.Team1ScoreTotal = 1;
                    RDN.Portable.Classes.League.Classes.League l = new RDN.Portable.Classes.League.Classes.League();
                    l.Name = member.League.Name;
                    l.LeagueId = member.League.TeamId;
                    mem.Leagues.Add(l);
                }
                return mem;
            }
            catch (Exception exception)
            {
                ErrorDatabaseManager.AddException(exception, exception.GetType());
            }
            return null;
        }
コード例 #3
0
        /// <summary>
        /// iterates throught the collection of members and sets them up for display to the end user.
        /// </summary>
        /// <param name="members"></param>
        /// <returns></returns>
        public static List<MemberDisplay> IterateMembersForDisplay(ICollection<DataModels.League.LeagueMember> members)
        {
            List<MemberDisplay> membersReturned = new List<MemberDisplay>();
            foreach (var mem in members)
            {
                try
                {
                    MemberDisplay memTemp = new MemberDisplay();
                    memTemp.IsProfileRemovedFromPublicView = mem.Member.IsProfileRemovedFromPublic;
                    memTemp.DerbyName = mem.Member.DerbyName;
                    memTemp.StartedSkating = mem.Member.YearStartedSkating;
                    memTemp.DOB = mem.Member.DateOfBirth.GetValueOrDefault();
                    if (mem.Member.ContactCard.Emails.Count > 0)
                        memTemp.Email = mem.Member.ContactCard.Emails.Where(x => x.IsDefault == true).FirstOrDefault().EmailAddress;
                    memTemp.Firstname = mem.Member.Firstname;
                    GenderEnum gen;
                    if (Enum.TryParse<GenderEnum>(mem.Member.Gender.ToString(), out gen))
                        memTemp.Gender = gen;
                    memTemp.LastName = mem.Member.Lastname;
                    memTemp.MemberId = mem.Member.MemberId;

                    memTemp.PlayerNumber = mem.Member.PlayerNumber;
                    memTemp.DayJob = mem.Member.DayJob;

                    if (mem.Member.ContactCard != null && mem.Member.ContactCard.Communications.Count > 0)
                    {
                        var com = mem.Member.ContactCard.Communications.Where(x => x.IsDefault == true).Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).FirstOrDefault();
                        if (com != null)
                        {
                            memTemp.PhoneNumber = com.Data;
                            memTemp.SMSVerificationNum = com.SMSVerificationCode;
                            memTemp.Carrier = (MobileServiceProvider)com.CarrierType;
                            memTemp.IsCarrierVerified = com.IsCarrierVerified;
                        }

                    }
                    if (mem.Member.ContactCard != null && mem.Member.ContactCard.Addresses.Count > 0)
                    {
                        foreach (var add in mem.Member.ContactCard.Addresses)
                        {
                            var address =new RDN.Portable.Classes.ContactCard.Address();
                            address.AddressId = add.AddressId;
                            address.Address1 = add.Address1;
                            address.Address2 = add.Address2;
                            address.CityRaw = add.CityRaw;
                            if (add.Country != null)
                                address.Country = add.Country.Code;
                            address.StateRaw = add.StateRaw;
                            address.Zip = add.Zip;
                            if (add.Coords != null)
                            {
                                address.Coords = new Portable.Classes.Location.GeoCoordinate();
                                address.Coords.Latitude = add.Coords.Latitude;
                                address.Coords.Longitude = add.Coords.Longitude;
                            }

                            memTemp.ContactCard.Addresses.Add(address);
                        }
                    }

                    if (mem.League != null)
                    {
                        RDN.Portable.Classes.League.Classes.League l = new RDN.Portable.Classes.League.Classes.League();
                        l.LeagueId = mem.League.LeagueId;
                        l.Name = mem.League.Name;
                        l.DepartureDate = mem.DepartureDate;
                        l.SkillsTestDate = mem.SkillsTestDate;
                        if (mem.Member.CurrentLeagueId == l.LeagueId)
                        {
                            memTemp.IsInactiveFromCurrentLeague = mem.IsInactiveForLeague;
                            if (mem.SkaterClass != null)
                                memTemp.LeagueClassificationOfSkatingLevel = mem.SkaterClass.ClassName;
                        }

                        l.LeagueOwnersEnum = (LeagueOwnersEnum)mem.LeagueOwnersEnums;
                        if (mem.Member.CurrentLeagueId == l.LeagueId)
                            memTemp.LeagueOwnersEnum = l.LeagueOwnersEnum;
                        l.IsInactiveInLeague = mem.IsInactiveForLeague;
                        if (mem.SkaterClass != null)
                        {
                            l.SkaterClass = mem.SkaterClass.ClassId;
                            //l.SkaterLevel = mem.SkaterClass.ClassName;
                        }
                        memTemp.Leagues.Add(l);
                    }


                    if (mem.Member.AspNetUserId != null && mem.Member.AspNetUserId != new Guid())
                    {
                        memTemp.UserId = mem.Member.AspNetUserId;
                        memTemp.IsConnected = true;
                    }
                    else
                    {
                        memTemp.IsConnected = false;
                        memTemp.VerificationCode = mem.Member.MemberId.ToString().Replace("-", "") + mem.Member.Gender.ToString();
                    }

                    foreach (var photo in mem.Member.Photos.OrderBy(x => x.Created))
                    {
                        memTemp.Photos.Add(new PhotoItem(photo.ImageUrl, photo.ImageUrlThumb, photo.IsPrimaryPhoto, mem.Member.DerbyName));
                    }

                    foreach (var numb in mem.Member.InsuranceNumbers)
                    {
                        if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.Other))
                        {
                            memTemp.InsuranceNumOther = numb.InsuranceNumber;
                            memTemp.InsuranceNumOtherExpires = numb.Expires;
                        }
                        else if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.USARS))
                        {
                            memTemp.InsuranceNumUsars = numb.InsuranceNumber;
                            memTemp.InsuranceNumUsarsExpires = numb.Expires;
                        }
                        else if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.WFTDA))
                        {
                            memTemp.InsuranceNumWftda = numb.InsuranceNumber;
                            memTemp.InsuranceNumWftdaExpires = numb.Expires;
                        }
                        else if (numb.InsuranceType == Convert.ToInt32(InsuranceProviderEnum.CRDI))
                        {
                            memTemp.InsuranceNumCRDI = numb.InsuranceNumber;
                            memTemp.InsuranceNumCRDIExpires = numb.Expires;
                        }
                    }

                    MedicalInformationFactory.AttachMemberMedicalInformation(mem.Member, memTemp);
                    memTemp.Settings = MemberSettingsFactory.DisplayMemberSettings(mem.Member.Settings);
                    membersReturned.Add(memTemp);

                }
                catch (Exception exception)
                {
                    ErrorDatabaseManager.AddException(exception, exception.GetType());
                }

            }
            return membersReturned;
        }
コード例 #4
0
        public static Game DisplayGame(DataModels.Game.Game game)
        {
            ManagementContext dc = new ManagementContext();
            Game tempGame = new Game();
            tempGame.IsThereVideoOfGame = (GameVideoTypeEnum)Enum.Parse(typeof(GameVideoTypeEnum), game.IsThereVideoOfGame.ToString());
            tempGame.StreamingUrlSilverlight = game.StreamingUrlOfVideo;
            tempGame.StreamingMobileUrlSilverlight = game.StreamingUrlOfVideoMobile;
            tempGame.EmbededVideoString = game.EmbededVideoHtml;
            if (game.Paywall != null)
                tempGame.SelectedPaywall = game.Paywall.PaywallId;
            tempGame.GameDate = game.GameDate;
            tempGame.GameId = game.GameId;
            tempGame.PrivateKeyForGame = game.IdForOnlineManagementUse;
            tempGame.GameName = game.GameName;
            if (game.SelectedShop != null)
                tempGame.SelectedShop = game.SelectedShop.MerchantId.ToString();
            var games = game.GameTeams.OrderByDescending(x => x.Created).Take(2);
            var team2 = games.OrderBy(x => x.TeamName).FirstOrDefault();
            var team1 = games.OrderByDescending(x => x.TeamName).FirstOrDefault();

            if (team1 != null)
                tempGame.Team1Name = team1.TeamName;
            else
                tempGame.Team1Name = "Home";
            if (team2 != null)
                tempGame.Team2Name = team2.TeamName;
            else
                tempGame.Team2Name = "Away";
            tempGame.HasGameStarted = game.HasGameStarted;
            tempGame.IsGameLive = game.IsGameLive;
            tempGame.IsGameOver = game.IsGameOver;
            tempGame.IsGamePublishedOnline = game.IsGamePublishedOnline;
            tempGame.IsGameScrimmage = game.IsGameScrimmage;
            tempGame.VersionNumber = game.VersionNumber;

            foreach (var team in game.GameTeams)
            {
                foreach (var mem in team.GameMembers)
                {
                    MemberDisplayGame member = new MemberDisplayGame();
                    member.DerbyName = mem.MemberName;
                    member.MemberId = mem.GameMemberId;
                    if (mem.MemberLinkId != new Guid())
                    {
                        var memDb = (from xx in dc.Members
                                     where xx.MemberId == mem.MemberLinkId
                                     select xx.DerbyName).FirstOrDefault();
                        if (!String.IsNullOrEmpty(memDb))
                        {
                            member.MemberLinkId = mem.MemberLinkId;
                            member.DerbyLinkName = memDb;
                        }
                    }
                    tempGame.MembersOfGame.Add(member);
                }
            }
            var endDate = DateTime.UtcNow.AddDays(5);
            var tournys = dc.GameTournaments.Where(x => x.StartDate < DateTime.UtcNow && x.EndDate < endDate).ToList();
            if (game.GameTournament != null)
            {
                tempGame.SelectedTournament = game.GameTournament.TournamentId.ToString();
                tempGame.PassCodeEnteredForTournament = game.GameTournament.TournamentPasscode;
                Tournament t = new Tournament();
                t.Name = game.GameTournament.TournamentName;
                t.EndDate = game.GameTournament.EndDate;
                t.Id = game.GameTournament.TournamentId;
                t.StartDate = game.GameTournament.StartDate;
                tempGame.AvailableTournaments.Add(t);
            }

            foreach (var owner in game.MemberOwners)
            {
                MemberDisplayBasic mem = new MemberDisplayBasic();
                mem.MemberId = owner.Member.MemberId;
                mem.DerbyName = owner.Member.DerbyName;
                tempGame.MemberOwners.Add(mem);
            }
            if (tempGame.MemberOwners.Count < 5)
            {
                MemberDisplayBasic mem = new MemberDisplayBasic();
                tempGame.MemberOwners.Add(mem);
                MemberDisplayBasic mem1 = new MemberDisplayBasic();
                tempGame.MemberOwners.Add(mem1);
                MemberDisplayBasic mem2 = new MemberDisplayBasic();
                tempGame.MemberOwners.Add(mem2);
                MemberDisplayBasic mem3 = new MemberDisplayBasic();
                tempGame.MemberOwners.Add(mem3);
            }

            foreach (var owner in game.LeagueOwners)
            {
                RDN.Portable.Classes.League.Classes.League mem = new RDN.Portable.Classes.League.Classes.League();
                mem.LeagueId = owner.League.LeagueId;
                mem.Name = owner.League.Name;
                tempGame.LeagueOwners.Add(mem);
            }
            if (tempGame.LeagueOwners.Count < 2)
            {
                RDN.Portable.Classes.League.Classes.League mem = new RDN.Portable.Classes.League.Classes.League();
                tempGame.LeagueOwners.Add(mem);
                RDN.Portable.Classes.League.Classes.League mem1 = new RDN.Portable.Classes.League.Classes.League();
                tempGame.LeagueOwners.Add(mem1);
            }
            foreach (var owner in game.FederationOwners)
            {
                FederationDisplay mem = new FederationDisplay();
                mem.FederationId = owner.Federation.FederationId;
                mem.FederationName = owner.Federation.Name;
                tempGame.FederationOwners.Add(mem);
            }
            if (tempGame.FederationOwners.Count == 0)
            {
                FederationDisplay mem = new FederationDisplay();
                tempGame.FederationOwners.Add(mem);
            }

            foreach (var tourn in tournys)
            {
                var gameT = tourn.Games.Where(x => x.GameId == tempGame.GameId).FirstOrDefault();
                if (gameT != null)
                {
                    tempGame.SelectedTournament = tourn.TournamentId.ToString();
                    tempGame.PassCodeEnteredForTournament = tourn.TournamentPasscode;
                }
                Tournament t = new Tournament();
                t.Name = tourn.TournamentName;
                t.EndDate = tourn.EndDate;
                t.Id = tourn.TournamentId;
                t.StartDate = tourn.StartDate;
                if (tempGame.AvailableTournaments.Where(x => x.Id == t.Id).FirstOrDefault() == null)
                    tempGame.AvailableTournaments.Add(t);
            }
            return tempGame;
        }