public static List<MemberDisplayFederation> IterateMembersForDisplay(ICollection<FederationMember> members) { List<MemberDisplayFederation> membersReturned = new List<MemberDisplayFederation>(); foreach (var mem in members) { try { MemberDisplayFederation memTemp = new MemberDisplayFederation(); memTemp.DerbyName = mem.Member.DerbyName; 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.MembershipId = mem.FederationIdForMember; memTemp.MadeClassRank = ((MADEClassRankEnum)Enum.ToObject(typeof(MADEClassRankEnum), mem.MADEClassRankForMember)).ToString(); memTemp.FederationMemberType = ((MemberTypeFederationEnum)Enum.ToObject(typeof(MemberTypeFederationEnum), mem.MemberType)).ToString(); if (mem.Member.ContactCard.Communications.Count > 0) memTemp.PhoneNumber = mem.Member.ContactCard.Communications.Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).Where(x => x.IsDefault == true).FirstOrDefault().Data; memTemp.PlayerNumber = mem.Member.PlayerNumber; foreach (var league in mem.Member.Leagues) { RDN.Portable.Classes.League.Classes.League l = new Portable.Classes.League.Classes.League(); l.LeagueId = league.League.LeagueId; l.Name = league.League.Name; memTemp.Leagues.Add(l); } foreach (var photo in mem.Member.Photos.OrderBy(x => x.Created)) { memTemp.Photos.Add(new PhotoItem(photo.ImageUrl, photo.IsPrimaryPhoto, mem.Member.DerbyName)); } memTemp.Edit = "<a href='http://league.rdnation.com/Federation/Member/Edit/" + memTemp.MemberId.ToString().Replace("-", "") + "/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(memTemp.DerbyName) + "'>Edit</a>"; memTemp.MemberUrl = "<a href='http://league.rdnation.com/member/" + memTemp.MemberId.ToString().Replace("-", "") + "/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(memTemp.DerbyName) + "'>" + memTemp.DerbyName + "</a>"; membersReturned.Add(memTemp); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } return membersReturned; }
public static RDN.Portable.Classes.League.Classes.League DisplayLeague(DataModels.League.League league, bool isPublic = false, bool isRemovedFromLeague = false) { try { RDN.Portable.Classes.League.Classes.League leagueTemp = new Portable.Classes.League.Classes.League(); leagueTemp.LeagueId = league.LeagueId; leagueTemp.Name = league.Name; //leagues don't put the http in their profile. if (!String.IsNullOrEmpty(league.WebSite) && !league.WebSite.Contains("http://")) leagueTemp.Website = "http://" + league.WebSite; else leagueTemp.Website = league.WebSite; if (!String.IsNullOrEmpty(league.Twitter) && !league.Twitter.Contains("http://")) leagueTemp.Twitter = "http://" + league.Twitter; else leagueTemp.Twitter = league.Twitter; if (!String.IsNullOrEmpty(league.Instagram) && !league.Instagram.Contains("http://")) leagueTemp.Instagram = "http://" + league.Instagram; else leagueTemp.Instagram = league.Instagram; if (!String.IsNullOrEmpty(league.Facebook) && !league.Facebook.Contains("http://")) leagueTemp.Facebook = "http://" + league.Facebook; else leagueTemp.Facebook = league.Facebook; leagueTemp.RuleSetsPlayedEnum = (RuleSetsUsedEnum)league.RuleSetsPlayedEnum; leagueTemp.ShopUrl = StoreGateway.GetShopUrl(league.LeagueId); leagueTemp.SubscriptionPeriodEnds = league.SubscriptionPeriodEnds.GetValueOrDefault(); leagueTemp.Groups = LeagueGroupFactory.DisplayGroups(league.Groups.Where(x => x.IsGroupRemoved == false).ToList()); if (league.Founded.HasValue) leagueTemp.Founded = league.Founded.Value; //we use the contact card Id as the join code for "making contact with the league" //instead of creating a new id //and when I don't want to release to use the public LeagueId as the join key. leagueTemp.JoinCode = league.LeagueJoinCode; if (league.ContactCard != null) { if (league.ContactCard.Addresses.FirstOrDefault() != null) { leagueTemp.TimeZone = league.ContactCard.Addresses.FirstOrDefault().TimeZone; leagueTemp.Address = league.ContactCard.Addresses.FirstOrDefault().Address1; leagueTemp.City = league.ContactCard.Addresses.FirstOrDefault().CityRaw; leagueTemp.State = league.ContactCard.Addresses.FirstOrDefault().StateRaw; leagueTemp.ZipCode = league.ContactCard.Addresses.FirstOrDefault().Zip; if (league.ContactCard.Addresses.FirstOrDefault().Country != null) { leagueTemp.Country = league.ContactCard.Addresses.FirstOrDefault().Country.Name; leagueTemp.CountryId = league.ContactCard.Addresses.FirstOrDefault().Country.CountryId; } } if (league.ContactCard.Emails.FirstOrDefault() != null) leagueTemp.Email = league.ContactCard.Emails.Where(x => x.IsDefault == true).FirstOrDefault().EmailAddress; //int numberType = Convert.ToInt32(CommunicationTypeEnum.PhoneNumber); var phone = league.ContactCard.Communications.Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).FirstOrDefault(); if (phone != null) leagueTemp.PhoneNumber = phone.Data; } if (league.Logo != null) leagueTemp.Logo = new PhotoItem(league.Logo.ImageUrl, league.Logo.IsPrimaryPhoto, league.Logo.AlternativeText); if (league.InternalWelcomePicture != null) leagueTemp.InternalWelcomeImage = new PhotoItem(league.InternalWelcomePicture.ImageUrl, league.InternalWelcomePicture.IsPrimaryPhoto, league.InternalWelcomePicture.AlternativeText); leagueTemp.InternalWelcomeMessage = league.InternalWelcomeMessage; //sets culture as united states english if (league.CultureLCID == 0) leagueTemp.CultureSelected = 1033; else leagueTemp.CultureSelected = league.CultureLCID; if (league.LastModified > new DateTime(2013, 11, 23) || league.Created > new DateTime(2013, 11, 23)) { leagueTemp.InternalWelcomeMessageHtml = leagueTemp.InternalWelcomeMessage; } else if (league.Created < new DateTime(2013, 11, 23)) { RDN.Library.Util.MarkdownSharp.Markdown markdown = new RDN.Library.Util.MarkdownSharp.Markdown(); markdown.AutoHyperlink = true; markdown.AutoNewLines = true; markdown.LinkEmails = true; if (!String.IsNullOrEmpty(leagueTemp.InternalWelcomeMessage)) { leagueTemp.InternalWelcomeMessageHtml = markdown.Transform(HtmlSanitize.FilterHtmlToWhitelist(leagueTemp.InternalWelcomeMessage)); leagueTemp.InternalWelcomeMessageHtml = leagueTemp.InternalWelcomeMessageHtml.Replace("</p>", "</p><br/>"); } } List<LeagueMember> members = new List<LeagueMember>(); if (isPublic) members = league.Members.Where(x => x.HasLeftLeague == isRemovedFromLeague && x.Member.IsProfileRemovedFromPublic == false).ToList(); else members = league.Members.Where(x => x.HasLeftLeague == isRemovedFromLeague).ToList(); leagueTemp.LeagueMembers.AddRange(MemberDisplayFactory.IterateMembersForDisplay(members).OrderBy(x => x.DerbyName)); try { foreach (var color in league.Colors) { if (color != null) { var c = Color.FromArgb(color.Color.ColorIdCSharp); var hex = ColorTranslator.ToHtml(c); ColorDisplay d = new ColorDisplay(); d.ColorId = color.ColorId; d.CSharpColor = color.Color.ColorIdCSharp; d.HexColor = hex; d.NameOfColor = color.Color.ColorName; leagueTemp.ColorTempSelected += d.HexColor + ";"; leagueTemp.ColorsSelected += d.HexColor + ";"; leagueTemp.Colors.Add(d); } } } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } foreach (var team in league.Teams) { TeamDisplay teamTemp = new TeamDisplay(); teamTemp.TeamName = team.Name; teamTemp.TeamId = team.TeamId; teamTemp.Description = team.Description; leagueTemp.Teams.Add(teamTemp); } foreach (var con in league.Contacts) { try { ContactDisplayBasic c = new ContactDisplayBasic(); c.ContactId = con.Contact.ContactId; c.FirstName = con.Contact.Firstname; c.LastName = con.Contact.Lastname; c.ContactTypeForOrg = (ContactTypeForOrganizationEnum)con.ContactTypeEnum; c.ContactTypeSelected = c.ContactTypeForOrg.ToString(); if (con.Contact.ContactCard.Addresses.FirstOrDefault() != null) { c.ContactCard = new Portable.Classes.ContactCard.ContactCard(); Portable.Classes.ContactCard.Address add = new Portable.Classes.ContactCard.Address(); add.Address1 = con.Contact.ContactCard.Addresses.FirstOrDefault().Address1; add.Address2 = con.Contact.ContactCard.Addresses.FirstOrDefault().Address2; add.CityRaw = con.Contact.ContactCard.Addresses.FirstOrDefault().CityRaw; add.Zip = con.Contact.ContactCard.Addresses.FirstOrDefault().Zip; add.StateRaw = con.Contact.ContactCard.Addresses.FirstOrDefault().StateRaw; if (con.Contact.ContactCard.Addresses.FirstOrDefault().Country != null) add.Country = con.Contact.ContactCard.Addresses.FirstOrDefault().Country.Name; c.Address1 = con.Contact.ContactCard.Addresses.FirstOrDefault().Address1; c.Address2 = con.Contact.ContactCard.Addresses.FirstOrDefault().Address2; c.CityRaw = con.Contact.ContactCard.Addresses.FirstOrDefault().CityRaw; c.Zip = con.Contact.ContactCard.Addresses.FirstOrDefault().Zip; c.StateRaw = con.Contact.ContactCard.Addresses.FirstOrDefault().StateRaw; if (con.Contact.ContactCard.Addresses.FirstOrDefault().Country != null) { c.CountryId = con.Contact.ContactCard.Addresses.FirstOrDefault().Country.CountryId; c.CountryName = con.Contact.ContactCard.Addresses.FirstOrDefault().Country.Name; } c.ContactCard.Addresses.Add(add); } if (con.Contact.ContactCard.Emails.FirstOrDefault() != null) c.Email = con.Contact.ContactCard.Emails.FirstOrDefault().EmailAddress; var phone = con.Contact.ContactCard.Communications.OrderByDescending(x => x.Created).FirstOrDefault(); if (phone != null) c.PhoneNumber = phone.Data; c.CompanyName = con.Contact.CompanyName; c.Notes = con.Notes; c.Link = con.Contact.Link; leagueTemp.Contacts.Add(c); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } foreach (var federation in league.Federations) { FederationDisplay fed = new FederationDisplay(); fed.FederationId = federation.Federation.FederationId; fed.FederationName = federation.Federation.Name; fed.MembershipId = federation.InternalLeagueIdForFederation; leagueTemp.Federations.Add(fed); } return leagueTemp; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return null; }
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> /// builds up the member object to display out to the world. /// </summary> /// <param name="memberId"></param> /// <returns></returns> public static MemberDisplay GetMemberDisplay(Guid memberId, bool isPublicProfile = false, bool pullGameData = true) { try { var dc = new ManagementContext(); var member = dc.Members.Include("Notifications").Include("Settings").Include("Leagues").Include("Leagues.SkaterClass").Include("InsuranceNumbers").Include("ContactCard").Include("ContactCard.Emails").Include("ContactCard.Communications").Include("Photos").Include("Federations").Include("MedicalInformation").FirstOrDefault(x => x.MemberId.Equals(memberId)); if (member == null) return null; MemberDisplay mem = new MemberDisplay(); mem.IsProfileRemovedFromPublicView = member.IsProfileRemovedFromPublic; if (member.IsProfileRemovedFromPublic && isPublicProfile) return null; foreach (var photo in member.Photos.OrderBy(x => x.Created)) { mem.Photos.Add(new PhotoItem(photo.ImageUrl, photo.IsPrimaryPhoto, member.DerbyName)); } if (member.YearStartedSkating != null && member.YearStartedSkating != new DateTime()) mem.StartedSkating = member.YearStartedSkating.Value; else mem.StartedSkating = null; if (member.YearStoppedSkating != null && member.YearStoppedSkating != new DateTime()) mem.StoppedSkating = member.YearStoppedSkating.Value; else mem.StoppedSkating = null; mem.CurrentLeagueId = member.CurrentLeagueId; mem.IsRetired = member.Retired; mem.Firstname = member.Firstname; mem.DerbyName = member.DerbyName; mem.DerbyNameUrl = ServerConfig.WEBSITE_DEFAULT_LOCATION + "/roller-derby-skater/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(member.DerbyName) + "/" + member.MemberId.ToString().Replace("-", ""); mem.MemberId = memberId; mem.UserId = member.AspNetUserId; mem.DayJob = member.DayJob; var user = Membership.GetUser((object)member.AspNetUserId); if (user != null) mem.UserName = user.UserName; mem.IsNotConnectedToDerby = member.IsNotConnectedToDerby; mem.Email = ExtractEmailFromContactCard(member); if (member.ContactCard.Addresses.Count > 0) { foreach (var add in 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; address.Type = (AddressTypeEnum)add.AddressType; mem.ContactCard.Addresses.Add(address); } } GenderEnum gen; if (Enum.TryParse<GenderEnum>(member.Gender.ToString(), out gen)) mem.Gender = gen; mem.LastName = member.Lastname; mem.Bio = member.Bio; mem.DefaultPositionType = (DefaultPositionEnum)Enum.Parse(typeof(DefaultPositionEnum), member.PositionType.ToString()); mem.BioHtml = member.Bio; if (member.DateOfBirth.HasValue) mem.DOB = member.DateOfBirth.Value; mem.WeightLbs = member.WeightInLbs; if (member.HeightInches != 0) { mem.HeightFeet = (int)(member.HeightInches / 12); mem.HeightInches = (int)(member.HeightInches % 12); } DisplayInsuranceNumbers(member.InsuranceNumbers, mem); DisplayMemberNotifications(member.Notifications, mem); mem.Settings = MemberSettingsFactory.DisplayMemberSettings(member.Settings); foreach (var memberContact in member.MemberContacts) { try { RDN.Portable.Classes.Account.Classes.MemberContact contact = new RDN.Portable.Classes.Account.Classes.MemberContact(); contact.ContactId = memberContact.ContactId; contact.Firstname = memberContact.Firstname; contact.Lastname = memberContact.Lastname; contact.ContactType = (MemberContactTypeEnum)Enum.Parse(typeof(MemberContactTypeEnum), memberContact.ContactTypeEnum.ToString()); if (memberContact.ContactCard != null) { if (memberContact.ContactCard.Emails.Count > 0) contact.Email = memberContact.ContactCard.Emails.Where(x => x.IsDefault == true).FirstOrDefault().EmailAddress; if (memberContact.ContactCard.Communications.Count > 0) { contact.PhoneNumber = memberContact.ContactCard.Communications.FirstOrDefault().Data; contact.SMSVerificationNum = memberContact.ContactCard.Communications.FirstOrDefault().SMSVerificationCode; contact.Carrier = (MobileServiceProvider)memberContact.ContactCard.Communications.FirstOrDefault().CarrierType; } if (memberContact.ContactCard.Addresses.Count > 0) { contact.Addresses = new List<Portable.Classes.ContactCard.Address>(); foreach (var add in memberContact.ContactCard.Addresses) { var address = new RDN.Portable.Classes.ContactCard.Address(); 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; address.Type = (AddressTypeEnum)add.AddressType; contact.Addresses.Add(address); } } } mem.MemberContacts.Add(contact); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } } if (member.ContactCard.Communications.Count > 0) { var com = member.ContactCard.Communications.Where(x => x.IsDefault == true).Where(x => x.CommunicationTypeEnum == (byte)CommunicationTypeEnum.PhoneNumber).FirstOrDefault(); if (com != null) { mem.PhoneNumber = com.Data; mem.SMSVerificationNum = com.SMSVerificationCode; mem.Carrier = (MobileServiceProvider)com.CarrierType; mem.IsCarrierVerified = com.IsCarrierVerified; } } mem.PlayerNumber = member.PlayerNumber; if (member.Leagues.Count > 0) { foreach (var league in member.Leagues) { RDN.Portable.Classes.League.Classes.League l = new Portable.Classes.League.Classes.League(); l.LeagueId = league.League.LeagueId; l.Name = league.League.Name; l.IsInactiveInLeague = league.IsInactiveForLeague; l.DepartureDate = league.DepartureDate; l.MembershipDate = league.MembershipDate; l.SkillsTestDate = league.SkillsTestDate; l.HasLeftLeague = league.HasLeftLeague; l.NotesAboutMember = league.Notes; l.NameUrl = ServerConfig.WEBSITE_DEFAULT_LOCATION_FOR_LEAGUES + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(l.Name) + "/" + l.LeagueId.ToString().Replace("-", ""); l.LeagueOwnersEnum = (LeagueOwnersEnum)league.LeagueOwnersEnums; if (l.LeagueId == mem.CurrentLeagueId) { mem.LeagueOwnersEnum = l.LeagueOwnersEnum; mem.DoesReceiveLeagueNotifications = !league.TurnOffEmailNotifications; } if (league.SkaterClass != null) l.SkaterClass = league.SkaterClass.ClassId; else l.SkaterClass = 0; mem.Leagues.Add(l); } } MedicalInformationFactory.AttachMemberMedicalInformation(member, mem); foreach (var fed in member.Federations) { FederationDisplay fedDisplay = new FederationDisplay(); fedDisplay.FederationId = fed.Federation.FederationId; fedDisplay.FederationName = fed.Federation.Name; fedDisplay.MADEClassRank = ((MADEClassRankEnum)Enum.ToObject(typeof(MADEClassRankEnum), fed.MADEClassRankForMember)).ToString(); fedDisplay.MemberType = ((MemberTypeFederationEnum)Enum.ToObject(typeof(MemberTypeFederationEnum), fed.MemberType)).ToString(); var ownersOfFed = fed.Federation.Owners.Where(x => x.Member == member).FirstOrDefault(); if (ownersOfFed == null) fedDisplay.OwnerType = FederationOwnerEnum.None.ToString(); else fedDisplay.OwnerType = ((FederationOwnerEnum)Enum.ToObject(typeof(FederationOwnerEnum), ownersOfFed.OwnerType)).ToString(); if (fed.MembershipDate != null && fed.MembershipDate != new DateTime()) fedDisplay.MembershipDate = fed.MembershipDate.Value; else fedDisplay.MembershipDate = DateTime.UtcNow; fedDisplay.MembershipId = fed.FederationIdForMember; mem.FederationsApartOf.Add(fedDisplay); } if (pullGameData) GetGameStats(memberId, dc, mem); return mem; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } return null; }
public ActionResult ManagePost(Game game) { try { var gameDb = GameManager.GetGameForManagement(game.GameId, game.PrivateKeyForGame, RDN.Library.Classes.Account.User.GetMemberId()); if (game == null) return Redirect(Url.Content("~/")); gameDb.GameName = game.GameName; gameDb.GameDate = game.GameDate; for (int i = 0; i < gameDb.MembersOfGame.Count; i++) { string linkId = HttpContext.Request.Form[gameDb.MembersOfGame[i].MemberId.ToString().Replace("-", "") + "hidden"]; if (String.IsNullOrEmpty(linkId)) gameDb.MembersOfGame[i].MemberLinkId = new Guid(); else { if (new Guid(linkId) != gameDb.MembersOfGame[i].MemberLinkId) { gameDb.MembersOfGame[i].MemberLinkId = new Guid(linkId); } } } gameDb.SelectedShop = game.SelectedShop; gameDb.SelectedTournament = game.SelectedTournament; gameDb.PassCodeEnteredForTournament = game.PassCodeEnteredForTournament; for (int i = 0; i < gameDb.MemberOwners.Count + 5; i++) { if (HttpContext.Request.Form["MemberOwner" + i + "hidden"] != null && !String.IsNullOrEmpty(HttpContext.Request.Form["MemberOwner" + i + "hidden"].ToString())) { MemberDisplayBasic mem = new MemberDisplayBasic(); mem.MemberId = new Guid(HttpContext.Request.Form["MemberOwner" + i + "hidden"].ToString()); gameDb.MemberOwners.Add(mem); } if (HttpContext.Request.Form["LeagueOwner" + i + "hidden"] != null && !String.IsNullOrEmpty(HttpContext.Request.Form["LeagueOwner" + i + "hidden"].ToString())) { RDN.Portable.Classes.League.Classes.League mem = new Portable.Classes.League.Classes.League(); mem.LeagueId = new Guid(HttpContext.Request.Form["LeagueOwner" + i + "hidden"].ToString()); gameDb.LeagueOwners.Add(mem); } if (HttpContext.Request.Form["FederationOwner" + i + "hidden"] != null && !String.IsNullOrEmpty(HttpContext.Request.Form["FederationOwner" + i + "hidden"].ToString())) { FederationDisplay mem = new FederationDisplay(); mem.FederationId = new Guid(HttpContext.Request.Form["FederationOwner" + i + "hidden"].ToString()); gameDb.FederationOwners.Add(mem); } } if (!String.IsNullOrEmpty(game.EmbededVideoString)) gameDb.IsThereVideoOfGame = GameVideoTypeEnum.EmbededVideo; else if (!String.IsNullOrEmpty(game.StreamingUrlSilverlight)) gameDb.IsThereVideoOfGame = GameVideoTypeEnum.SilverLightLive; gameDb.StreamingMobileUrlSilverlight = game.StreamingMobileUrlSilverlight; gameDb.StreamingUrlSilverlight = game.StreamingUrlSilverlight; gameDb.EmbededVideoString = game.EmbededVideoString; gameDb.SelectedPaywall = game.SelectedPaywall; GameManager.UpdateGameFromManagement(gameDb); try { //clears the live game once we complete the update. WebClient client = new WebClient(); client.DownloadString(ServerConfig.URL_TO_CLEAR_LIVE_GAME_CACHE + game.GameId.ToString()); } catch { } try { //clears the live game once we complete the update. WebClient client = new WebClient(); client.DownloadString(ServerConfig.WEBSITE_CLEAR_TOURNAMENT_CACHE_API); } catch { } return Redirect(Url.Content("~/game/manage/" + game.PrivateKeyForGame.ToString().Replace("-", "") + "/" + game.GameId.ToString().Replace("-", "") + "?u=" + SiteMessagesEnum.s)); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, GetType()); } return Redirect(Url.Content("~/?u=" + SiteMessagesEnum.na)); }
/// <summary> /// scans derby roster.com for us for the shadow leagues. /// </summary> public static void ScanDerbyRosterWebsite() { //<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<ItemInMatches> countries = new List<ItemInMatches>(); List<ItemInMatches> states = new List<ItemInMatches>(); List<MemberDisplay> profiles = new List<MemberDisplay>(); //<a href="http(s)?://[a-zA-Z\.\-/0-9\?\=\_%&]+" target="_blank">[a-zA-Z0-9\s\-\'\.\(\)\!"/]+</a> StringBuilder sb = new StringBuilder(); sb.Append("<a href=\""); sb.Append(@"http://[a-zA-Z\.\-/0-9\?\=_%&]+"); sb.Append("\" target=\""); sb.Append("_blank\""); sb.Append(@">[a-zA-Z0-9\s\-\'\.\(\)\!"); sb.Append("\"/]+</a>"); Regex lineItem = new Regex(sb.ToString(), RegexOptions.IgnoreCase | RegexOptions.Compiled); StringBuilder sbState = new StringBuilder(); sbState.Append("class=\"state\" style=\"padding-left: 20px;\" >[a-zA-Z"); sbState.Append(@"\s]+</td>"); Regex stateItem = new Regex(sbState.ToString(), RegexOptions.IgnoreCase | RegexOptions.Compiled); StringBuilder sbCountry = new StringBuilder(); sbCountry.Append("<h7 class=\"expand\">[a-zA-Z"); sbCountry.Append(@"\s]+</h7>"); Regex countryItem = new Regex(sbCountry.ToString(), RegexOptions.IgnoreCase | RegexOptions.Compiled); StringBuilder sbName = new StringBuilder(); sbName.Append(@"[a-zA-Z0-9\s\-\'\.\(\)\!"); sbName.Append("\"/]+"); Regex name = new Regex(sbName.ToString(), RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex state = new Regex(@"[a-zA-Z\s]+", RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex country = new Regex(@"[a-zA-Z\s]+", RegexOptions.IgnoreCase | RegexOptions.Compiled); Regex webSite = new Regex(@"http://[a-zA-Z\.\-/0-9\?\=_%&]+", RegexOptions.IgnoreCase | RegexOptions.Compiled); WebClient webClient = new WebClient(); const string strUrl = "http://derbyroster.com/"; byte[] reqHTML; reqHTML = webClient.DownloadData(strUrl); UTF8Encoding objUTF8 = new UTF8Encoding(); string html = objUTF8.GetString(reqHTML); html = html.Replace("�", ""); int blah = lineItem.Matches(html).Count; foreach (Match stMatch in stateItem.Matches(html)) { ItemInMatches item = new ItemInMatches(); item.index = stMatch.Index; item.name = stMatch.Value; item.name = item.name.Remove(0, item.name.IndexOf(">")); item.name = country.Match(item.name).Value; states.Add(item); } foreach (Match stMatch in countryItem.Matches(html)) { ItemInMatches item = new ItemInMatches(); item.index = stMatch.Index; item.name = stMatch.Value; item.name = item.name.Remove(0, item.name.IndexOf(">")); item.name = state.Match(item.name).Value; countries.Add(item); } MatchCollection matches = lineItem.Matches(html); foreach (Match pro in matches) { string match = pro.Value; MemberDisplay profile = new MemberDisplay(); //website RDN.Portable.Classes.League.Classes.League l = new Portable.Classes.League.Classes.League(); l.Website = webSite.Match(match).Value; match = match.Remove(0, match.IndexOf(">")); //name l.Name = name.Match(match).Value; profile.Leagues.Add(l); //state var stat = states.Where(x => x.index < pro.Index).LastOrDefault(); profile.PhoneNumber = stat.name; //country var count = countries.Where(x => x.index < pro.Index).LastOrDefault(); profile.PlayerNumber = count.name; profiles.Add(profile); } foreach (var pr in profiles) { try { var dc = new ManagementContext(); if (pr.Leagues.FirstOrDefault() != null) { Console.WriteLine("teamName:" + pr.Leagues.FirstOrDefault().Name); var team = dc.LeaguesForDerbyRoster.Where(x => x.Name.ToLower() == pr.Leagues.FirstOrDefault().Website.ToLower()).FirstOrDefault(); if (team == null) { DerbyRosterLeague roster = new DerbyRosterLeague(); roster.Name = pr.Leagues.FirstOrDefault().Name; roster.WebSite = pr.Leagues.FirstOrDefault().Website; roster.State = pr.PhoneNumber; roster.Country = pr.PlayerNumber; dc.LeaguesForDerbyRoster.Add(roster); dc.SaveChanges(); //http://rdnation.com/roller-derby-league/San-Diego-Roller-Derby/99121fbf301f4c2fb4beb5c13d011088 string url = "http://rdnation.com/roller-derby-league/2/" + RDN.Utilities.Strings.StringExt.ToSearchEngineFriendly(pr.Leagues.FirstOrDefault().Name) + "/" + roster.TeamId.ToString().Replace("-", ""); Console.WriteLine("sitemap:" + url); SitemapHelper.AddNode(url, false); } } } catch { } } }