/// <summary> /// scans the two evils website for all the derby profiles /// </summary> public static void ScanTwoEvilsWebsite() { //<tr class="(trc1|trc2)"><td>( |[a-zA-Z0-9\s�\-\.\'\%\(\),!"#$*/\?:&\+!_=~@\[\]`]+)</td><td>( |[0-9a-zA-Z\s\.\/\-%#:'�$"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(¢)?|×)</td><td>([0-9\-]+| )</td><td>( |[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)</td></tr> //name: ( |[a-zA-Z0-9\s�\-\.\'\%\(\),!"#$*/\?:&\+!_=~@\[\]`]+) //number: ( |[0-9a-zA-Z\s\.\/\-%#:'�$"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(¢)?|×) // date: ([0-9\-]+| ) //league: ( |[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>( |[a-zA-Z0-9\s�\-\.\'\%\(\),!"); sb.Append(@"#$*/\?:&\+!_=~@\[\]`]+)</td><td>( |[0-9a-zA-Z\s\.\/\-%#:'�$"); sb.Append(@"\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(¢)?|×)</td><td>([0-9\-]+| )</td><td>( |[a-zA-Z\s\(\)0-9/\.':,\-�!_\*\?]+)</td></tr>"); Regex lineItem = new Regex(sb.ToString(), RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex name = new Regex(@"( |[a-zA-Z0-9\s�\-\.\'\%\(\),!#$*/\?:&\+!_=~@\[\]`]+)", RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex number = new Regex(@"( |[0-9a-zA-Z\s\.\/\-%#:'�$\+&/\\!_@\>=\?,\)\(\*\^;\]\[~]+(¢)?|×)", RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex date = new Regex(@"([0-9\-]+| )", RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex league = new Regex(@"( |[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(" ")) 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(" ")) 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(" ") || 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 { } } }
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; }
/// <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; }
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; }