public void TopPlacesPanel_Load(object o, System.EventArgs e) { Query q = new Query(); q.QueryCondition = new And(new Q(Place.Columns.CountryK, CurrentCountry.K), new Q(Place.Columns.Enabled, true)); q.OrderBy = new OrderBy(new OrderBy(Place.Columns.TotalEvents, OrderBy.OrderDirection.Descending), new OrderBy(Place.Columns.Population, OrderBy.OrderDirection.Descending)); q.TopRecords = 20; PlaceSet ps = new PlaceSet(q); if (ps.Count == 0) { TopPlacesPanel.Visible = false; } else { TopPlacesDataList.ItemTemplate = this.LoadTemplate("/Templates/Places/CountryTopPlacesList.ascx"); TopPlacesDataList.DataSource = ps; TopPlacesDataList.DataBind(); } if (ps.Count == 20) { TopPlacesAnchor.HRef = CurrentCountry.UrlApp("places"); TopPlacesAnchor.InnerText = TopPlacesAnchor.InnerText.Replace("???", CurrentCountry.FriendlyName); } else TopPlacesAnchorPanel.Visible = false; }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { DsiPage page = (DsiPage)this.Page; var musicTypes = new Dictionary<string, int>() {{"All Music", 0}}; var musicTypeSet = new MusicTypeSet(new Query(new Q(Bobs.MusicType.Columns.K, page.RelevantMusic.ToArray()))); foreach (var musicType in musicTypeSet) { musicTypes[musicType.Name] = musicType.K; } foreach (var musicType in Identity.Current.FavouriteMusicTypes.ConvertAll(k => new MusicType(k))) { musicTypes[musicType.Name] = musicType.K; } this.uiMusicTypes.Items.AddRange(musicTypes.Select(mt => new ListItem(mt.Key, mt.Value.ToString())).ToArray()); var places = new Dictionary<string, int>() {{"Anywhere", -1}}; var placeSet = new PlaceSet(new Query(new Q(Bobs.Place.Columns.K, page.RelevantMusic.ToArray()))); foreach (var place in placeSet) { places[place.Name] = place.K; } foreach (var place in Identity.Current.PlacesVisited.ConvertAll(k => new Place(k))) { places[place.Name] = place.K; } this.uiPlaces.Items.AddRange(places.Select(mt => new ListItem(mt.Key, mt.Value.ToString())).ToArray()); } //if (Common.Settings.UseCometToServeRequests) //{ // this.uiBuddyMultiSelector.WebServiceMethod = ""; // this.uiBuddyMultiSelector.WebServiceUrl = ""; // this.uiBuddyMultiSelector.CometServiceUrl = @"/WebServices/CometAutoComplete/GetBuddiesThenUsrs.ashx"; //} uiBuddyMultiSelector.TextBoxTabIndex = TabIndexBase + 1; uiJustBuddiesRadio.TabIndex = (short)(TabIndexBase + 2); uiAllMembersRadio.TabIndex = (short)(TabIndexBase + 3); uiShowBuddyList.TabIndex = (short)(TabIndexBase + 4); uiBuddyList.TabIndex = (short)(TabIndexBase + 5); uiShowAddAll.TabIndex = (short)(TabIndexBase + 6); uiAddAllButton.Attributes["tabindex"] = (TabIndexBase + 7).ToString(); uiShowAddBy.TabIndex = (short)(TabIndexBase + 8); uiPlaces.TabIndex = (short)(TabIndexBase + 9); uiMusicTypes.TabIndex = (short)(TabIndexBase + 10); uiAddByMusicAndPlace.Attributes["tabindex"] = (TabIndexBase + 11).ToString(); uiShowAllTownsAndMusic.TabIndex = (short)(TabIndexBase + 12); }
public PlaceStub[] GetSurroundingPlaces(int centredOnPlaceK, int numberOfPlacesToGet) { numberOfPlacesToGet = numberOfPlacesToGet < 100 ? numberOfPlacesToGet : 100; Place p = new Place(centredOnPlaceK); Query q = new Query(); q.QueryCondition = new Q(Place.Columns.Enabled, true); q.OrderBy = p.NearestPlacesOrderBy; q.TopRecords = numberOfPlacesToGet; PlaceSet ps = new PlaceSet(q); return ps.Select(place => GetPlaceStub(place)).ToArray(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string strPlaceKs = Request.Params["placek"]; if (strPlaceKs.Length > 0) { List<string> placeKs = new List<string>(strPlaceKs.Split(',')); Query q = new Query(); q.QueryCondition = new Or(placeKs.ConvertAll(placeK => new Q(Place.Columns.K, int.Parse(placeK))).ToArray()); PlaceSet ps = new PlaceSet(q); this.uiPlacesChooser.SelectedPlaces = ps; } } }
public PlaceStub[] GetPlaces(double north, double south, double east, double west, int maximumNumber) { var query = new Bobs.Query ( new Bobs.And ( new Q(Place.Columns.LatitudeDegreesNorth, QueryOperator.LessThanOrEqualTo, north), new Q(Place.Columns.LatitudeDegreesNorth, QueryOperator.GreaterThanOrEqualTo, south), new Q(Place.Columns.LongitudeDegreesWest, QueryOperator.GreaterThanOrEqualTo, east * -1), //our longitudes are negative googles new Q(Place.Columns.LongitudeDegreesWest, QueryOperator.LessThanOrEqualTo, west * -1), new Q(Place.Columns.Enabled, true) ) ); query.TopRecords = maximumNumber; query.OrderBy = new OrderBy(Place.Columns.Population, OrderBy.OrderDirection.Descending); var placeSet = new PlaceSet(query); return placeSet.Select(p => GetPlaceStub(p)).ToArray(); }
public GetMusicTypesAndPlacesResult GetPlacesAndMusicTypes() { List<Pair> places = new List<Pair>(); var placesSet = new PlaceSet(new Query(new Q(Place.Columns.CountryK, Country.FilterK)) { OrderBy = new OrderBy(Place.Columns.Name) }); places.Add(new Pair() {key = "Anywhere", value = "-1"}); foreach (var place in placesSet) { places.Add(new Pair() {key = GlobalObject.escape(place.Name), value = place.K.ToString()}); } var musicTypesSet = new MusicTypeSet(new Query() { OrderBy = new OrderBy(MusicType.Columns.Order) }); var musicTypes = new List<Pair>(); foreach (var musicType in musicTypesSet) { string leadingSpaces = new string(' ', musicType.Order.ToString().IndexOf('.') == -1 ? 0 : 1); musicTypes.Add(new Pair() {key = GlobalObject.escape(leadingSpaces + musicType.GenericName), value = musicType.K.ToString()}); } return new GetMusicTypesAndPlacesResult() { musicTypes = musicTypes.ToArray(), places = places.ToArray() }; }
void BindPlacesList(string order) { OrderBy o = new OrderBy(Bobs.Place.Columns.Name, OrderBy.OrderDirection.Ascending); if (order.Equals("Size")) o = new OrderBy(Bobs.Place.Columns.Population, OrderBy.OrderDirection.Descending); else if (order.Equals("Latitude")) o = new OrderBy(Bobs.Place.Columns.LatitudeDegreesNorth, OrderBy.OrderDirection.Descending); else if (order.Equals("Longitude")) o = new OrderBy(Bobs.Place.Columns.LongitudeDegreesWest, OrderBy.OrderDirection.Descending); else if (order.Equals("Event")) o = new OrderBy(Bobs.Place.Columns.TotalEvents, OrderBy.OrderDirection.Descending); NoPlaceSelectedFlagImg.Src = CurrentRegion.Country.FlagUrl(); PageHeadingNoPlace.InnerText = PageHeadingNoPlace.InnerText.Replace("???", CurrentRegion.Name); ContainerPage.SetPageTitle("Places in " + CurrentRegion.Name); RegionNameLabel.Text = CurrentRegion.Name; NoPlaceSelectedFlagAnchor.HRef = CurrentRegion.Country.Url(); NoPlaceSelectedCountryLink.InnerText = CurrentRegion.Country.FriendlyName; NoPlaceSelectedCountryLink.HRef = CurrentRegion.Country.Url(); PlaceSet ts = new PlaceSet( new Query( new And( new Q(Place.Columns.Enabled, true), new Q(Place.Columns.RegionK, CurrentRegion.K) ), o ) ); PlacesDataList.DataSource = ts; PlacesDataList.DataBind(); }
void BindBoards() { if (HotTopicsCountry == null) { HotTopicsHomeCountryLink.InnerText = HotTopicsHomeCountryLink.InnerText.Replace("???", Country.Current.FriendlyName); HotTopicsHomeCountryLink.HRef = Country.Current.UrlHotTopics(); HotTopicsCountryPanel.Visible = false; HotTopicsWorldwidePanel.Visible = true; SetPageTitle("Hot forums worldwide"); } else { HotTopicsCountryLink.InnerText = HotTopicsCountry.FriendlyName; HotTopicsCountryLink.HRef = HotTopicsCountry.Url(); HotTopicsCountryPanel.Visible = true; HotTopicsWorldwidePanel.Visible = false; SetPageTitle("Hot forums in " + HotTopicsCountry.FriendlyName); } Q HotTopicsCountryPlaceFilter = new Q(true); Q HotTopicsCountryThreadFilter = new Q(true); if (HotTopicsCountry != null) { HotTopicsCountryPlaceFilter = new Q(Place.Columns.CountryK, HotTopicsCountry.K); HotTopicsCountryThreadFilter = new Q(Thread.Columns.CountryK, HotTopicsCountry.K); } Query qPlace = new Query(); qPlace.TopRecords = 20; qPlace.QueryCondition = new And( new Q(Place.Columns.TotalComments, QueryOperator.GreaterThan, 0), HotTopicsCountryPlaceFilter ); qPlace.OrderBy = new OrderBy("(TotalComments - (Population/12.0)) DESC"); PlaceSet ts = new PlaceSet(qPlace); if (ts.Count > 0) { BoardPlaceDataGrid.DataSource = ts; BoardPlaceDataGrid.DataBind(); } else BoardPlacePanel.Visible = false; Query qEvent = new Query(); qEvent.TopRecords = 20; qEvent.TableElement = Event.PlaceAllJoin; qEvent.QueryCondition = new And( new Q(Event.Columns.TotalComments, QueryOperator.GreaterThan, 0), HotTopicsCountryPlaceFilter ); qEvent.OrderBy = new OrderBy("(Event.TotalComments - (CASE SIGN(DATEDIFF(day, Event.DateTime, GetDate())*2) WHEN 1 THEN DATEDIFF(day, Event.DateTime, GetDate())*2 WHEN 0 THEN 0 ELSE 0 END)) DESC"); EventSet es = new EventSet(qEvent); if (es.Count > 0) { BoardEventDataGrid.DataSource = es; BoardEventDataGrid.DataBind(); } else BoardEventPanel.Visible = false; Query qThread = new Query(); qThread.TopRecords = 20; qThread.QueryCondition = new And( new Q(Thread.Columns.TotalComments, QueryOperator.GreaterThan, 2), new Q(Thread.Columns.Enabled, true), new Q(Thread.Columns.Private, false), new Q(Thread.Columns.GroupPrivate, false), new Q(Thread.Columns.PrivateGroup, false), HotTopicsCountryThreadFilter, new Q(Thread.Columns.HideFromHighlights, false) ); qThread.OrderBy = Thread.HotTopicsOrderBy; ThreadSet threadSet = new ThreadSet(qThread); if (threadSet.Count > 0) { BoardThreadDataGrid.DataSource = threadSet; BoardThreadDataGrid.DataBind(); } else BoardThreadPanel.Visible = false; }
private void Page_Load(object sender, System.EventArgs e) { Page.Trace.Write("Spotted.Pages.Places.Home Page_Load"); PlacePicImg.Visible = false; PlaceImgCell.Visible = false; // Put user code to initialize the page here if (CurrentPlace != null) { SetPageTitle(CurrentPlace.Name); VisitCheck.Text = VisitCheck.Text.Replace("???", CurrentPlace.NamePlain); VisitCheck.Style["margin-left"] = "5px"; if (!Page.IsPostBack && Usr.Current != null) { try { UsrPlaceVisit upv = new UsrPlaceVisit(Usr.Current.K, CurrentPlace.K); VisitCheck.Checked = true; } catch { VisitCheck.Checked = false; } } Latest.Parent = CurrentPlace; #region Nearest places Query nearestQ = new Query(); nearestQ.QueryCondition = new And(new Q(Place.Columns.Enabled, true), new Q(Place.Columns.K, QueryOperator.NotEqualTo, CurrentPlace.K)); nearestQ.TopRecords = 10; nearestQ.OrderBy = CurrentPlace.NearestPlacesOrderBy; PlaceSet ps = new PlaceSet(nearestQ); bool doneOne = false; StringBuilder sb = new StringBuilder(); sb.Append("Nearest places to "); sb.Append(HttpUtility.HtmlEncode(CurrentPlace.NamePlain)); sb.Append(": "); foreach (Place p in ps) { if (doneOne) sb.Append(", "); if (p.TotalEvents == 0) sb.Append("<small>"); sb.Append("<a href=\""); sb.Append(p.Url()); sb.Append("\">"); sb.Append(p.NamePlainRegion); if (p.CountryK != CurrentPlace.CountryK) { sb.Append(" ("); sb.Append(p.Country.FriendlyName); sb.Append(")"); } sb.Append("</a>"); if (p.TotalEvents > 0) { sb.Append(" <small>("); sb.Append(p.TotalEvents.ToString("#,##0")); sb.Append(")</small>"); } if (p.TotalEvents == 0) sb.Append("</small>"); doneOne = true; } NearestPlacesPh.Controls.Add(new LiteralControl(sb.ToString())); #endregion #region RegionCountry if (CurrentPlace.RegionAbbreviation.Length == 0) RegionCountryPh.Controls.Add(new LiteralControl(HttpUtility.HtmlEncode(CurrentPlace.NamePlain) + " is in <a href=\"" + CurrentPlace.Country.Url() + "\">" + HttpUtility.HtmlEncode(CurrentPlace.Country.FriendlyName) + "</a>")); else RegionCountryPh.Controls.Add(new LiteralControl(HttpUtility.HtmlEncode(CurrentPlace.NamePlain) + " is in <a href=\"" + CurrentPlace.Region.Url() + "\">" + HttpUtility.HtmlEncode(CurrentPlace.Region.Name) + "</a>, <a href=\"" + CurrentPlace.Country.Url() + "\">" + HttpUtility.HtmlEncode(CurrentPlace.Country.FriendlyName) + "</a>")); #endregion if (Usr.Current != null && Usr.Current.IsAdmin) { ContainerPage.Menu.Admin.AdminPanelOther.Controls.Add(new LiteralControl("<p><a href=\"/admin/addpic?Type=Place&K=" + CurrentPlace.K + "\">Add pic to this place</a></p>")); ContainerPage.Menu.Admin.AdminPanelOther.Controls.Add(new LiteralControl("<p><a href=\"http://old.dontstayin.com/login-" + Usr.Current.K + "- " + Usr.Current.LoginString + "/admin/place?ID=" + CurrentPlace.K + "\">Edit this place</a></p>")); ContainerPage.Menu.Admin.AdminPanelOther.Controls.Add(new LiteralControl("<p><a href=\"/admin/placestats/placek-" + CurrentPlace.K + "\">Usr stats</a></p>")); } if (CurrentPlace != null) { QuickLinksCalendar.HRef = CurrentPlace.UrlCalendar(); QuickLinksTickets.HRef = CurrentPlace.UrlCalendar(true, false); QuickLinksHotTickets.HRef = CurrentPlace.UrlApp("hottickets"); QuickLinksFreeGuestlist.HRef = CurrentPlace.UrlCalendar(false, true); ChangePanel(PlaceSelectedPanel); this.SetPageTitle(CurrentPlace.Name); PageHeading.InnerText = CurrentPlace.Name; DiscussionLinkPlaceLabel.Text = CurrentPlace.NamePlain; CalendarLinkPlaceLabel.Text = CurrentPlace.NamePlain; TicketsLinkPlaceLabel.Text = CurrentPlace.NamePlain; HotTicketsLinkPlaceLabel.Text = CurrentPlace.NamePlain; FreeGuestlistLinkPlaceLabel.Text = CurrentPlace.NamePlain; PlacePopulationLabel.Text = ((double)(CurrentPlace.Population * 1000)).ToString("###,##0"); if (CurrentPlace.HasPic) { PlacePicImg.Visible = true; PlaceImgCell.Visible = true; PlacePicImg.Src = CurrentPlace.PicPath; } else { PlaceImgCell.Visible = false; PlacePicImg.Visible = false; } DiscussionLink.HRef = CurrentPlace.UrlDiscussion(); if (CurrentPlace.TotalComments > 0) DiscussionLinkCommentsLabel.Text = " - " + CurrentPlace.TotalComments.ToString("#,##0") + " comment" + (CurrentPlace.TotalComments == 1 ? "" : "s"); if (CurrentPlace.DetailsHtml.Length > 0) { PlaceDetailsHtmlPlaceHolder.Visible = true; PlaceDetailsHtmlPlaceHolder.Controls.Add(new LiteralControl(CurrentPlace.DetailsHtml)); } else { PlaceDetailsHtmlPlaceHolder.Visible = false; } } } }
void bindPlaceDrop(int SelectedCountryK) { StringBuilder sb = new StringBuilder(); int maxLength = 30; if (SelectedCountryK == 0) { append(sb, "Select a country first...", "0"); //TownDropDown.Items.Add(new ListItem("Select a country first...", "0")); //return; } else { Country country = new Country(SelectedCountryK); Query qTop = new Query(); qTop.Columns = new ColumnSet(Place.Columns.Name, Place.Columns.K, Place.LinkColumns); qTop.TopRecords = 10; qTop.QueryCondition = new And(new Q(Place.Columns.CountryK, SelectedCountryK), new Q(Place.Columns.Enabled, true)); qTop.OrderBy = new OrderBy(Place.Columns.TotalEvents, OrderBy.OrderDirection.Descending); PlaceSet psTop = new PlaceSet(qTop); if (psTop.Count == 0) { append(sb, "No towns in our database for this country", "0"); //TownDropDown.Items.Add(new ListItem("No towns in our database for this country", "0")); } else { append(sb, "Towns in " + country.FriendlyName + "...", "0"); append(sb, "", "0"); append(sb, "--- TOP TOWNS ---", "0"); //TownDropDown.Items.Add(new ListItem("Select a town...", "0")); //TownDropDown.Items.Add(new ListItem("", "0")); //TownDropDown.Items.Add(new ListItem("--- TOP TOWNS ---", "0")); foreach (Place p in psTop) { append(sb, p.Name.TruncateWithDots(maxLength), p.Url()); //TownDropDown.Items.Add(new ListItem(p.Name.TruncateWithDots(maxLength), p.Url())); } Query qAll = new Query(); qAll.Columns = new ColumnSet(Place.Columns.Name, Place.Columns.K, Place.LinkColumns); qAll.OrderBy = new OrderBy(Place.Columns.Name); qAll.QueryCondition = new And(new Q(Place.Columns.CountryK, SelectedCountryK), new Q(Place.Columns.Enabled, true)); PlaceSet psAll = new PlaceSet(qAll); append(sb, "", "0"); append(sb, "--- ALL TOWNS ---", "0"); //TownDropDown.Items.Add(new ListItem("", "0")); //TownDropDown.Items.Add(new ListItem("--- ALL TOWNS ---", "0")); foreach (Place p in psAll) { append(sb, p.Name.TruncateWithDots(maxLength), p.Url()); //TownDropDown.Items.Add(new ListItem(p.Name.TruncateWithDots(maxLength), p.Url())); } } } ExploreTownPh.Controls.Add(new LiteralControl(sb.ToString())); }
public static VenueSet SimilarVenuesStatic(string name, Place place, int excludeVenueK, string postCode) { //split name into words and get all > 3 chars... ArrayList al = new ArrayList(); ArrayList commonWords = new ArrayList(Q.CommonWords); commonWords.Add("bar"); commonWords.Add("club"); string[] words = name.Split(' '); int wordsCount = 0; foreach (string word in words) { if (!commonWords.Contains(word.ToLower()) && word.Length>1) { al.Add(new Q(Columns.Name,QueryOperator.TextContains,word)); wordsCount++; } } Q wordsOr = new Q(true); if (wordsCount>0) wordsOr = new Or((Q[])al.ToArray(typeof(Q))); else wordsOr = new Q(false); //10 nearest places also Query qPlaces = new Query(); qPlaces.TopRecords=10; qPlaces.OrderBy=place.NearestPlacesOrderBy; PlaceSet ps = new PlaceSet(qPlaces); ArrayList al1 = new ArrayList(); foreach (Place p in ps) { al1.Add(new Q(Columns.PlaceK,p.K)); } Or placesOr = new Or((Q[])al1.ToArray(typeof(Q))); Q thisVenue = new Q(true); if (excludeVenueK>0) thisVenue = new Q(Columns.K,QueryOperator.NotEqualTo,excludeVenueK); Q postCodeQ = null; if (postCode.Length>0) postCodeQ = new Q(Columns.Postcode,postCode); else postCodeQ = new Q(false); Query qSimilar = new Query(); qSimilar.QueryCondition = new And(new Or(new And(wordsOr, placesOr), postCodeQ), thisVenue); VenueSet vsSimilar = new VenueSet(qSimilar); return vsSimilar; }
public void UpdateChildUrlFragments(bool Cascade) { Update uPlaces = new Update(); uPlaces.Table=TablesEnum.Place; uPlaces.Changes.Add(new Assign(Place.Columns.UrlFragment,UrlFilterPart)); uPlaces.Where=new Q(Place.Columns.CountryK,this.K); uPlaces.Run(); if (Cascade) { Query q = new Query(); q.NoLock=true; q.QueryCondition=new And(new Q(Place.Columns.CountryK,this.K),new Q(Place.Columns.Enabled,true)); q.Columns=new ColumnSet( Place.Columns.K, Place.Columns.UrlFragment, Place.Columns.UrlName, Place.Columns.RegionAbbreviation); PlaceSet ps = new PlaceSet(q); foreach (Place p in ps) { try { Utilities.UpdateChildUrlFragmentsJob job = new Utilities.UpdateChildUrlFragmentsJob(Model.Entities.ObjectType.Place, p.K, true); job.ExecuteAsynchronously(); } catch(Exception ex) { if (Vars.DevEnv) throw ex; } } } Update uThreads = new Update(); uThreads.Table=TablesEnum.Thread; uThreads.Changes.Add(new Assign(Thread.Columns.UrlFragment,UrlFilterPart)); uThreads.Where=new And( new Q(Thread.Columns.ParentObjectType,Model.Entities.ObjectType.Country), new Q(Thread.Columns.ParentObjectK,this.K)); uThreads.Run(); Update uArticles = new Update(); uArticles.Table=TablesEnum.Article; uArticles.Changes.Add(new Assign(Article.Columns.UrlFragment,UrlFilterPart)); uArticles.Where=new And( new Q(Article.Columns.ParentObjectType,Model.Entities.ObjectType.Country), new Q(Article.Columns.ParentObjectK,this.K)); uArticles.Run(); if (Cascade) { Query q = new Query(); q.NoLock=true; q.QueryCondition=new And( new Q(Article.Columns.ParentObjectType,Model.Entities.ObjectType.Country), new Q(Article.Columns.ParentObjectK,this.K)); q.Columns=new ColumnSet( Article.Columns.K, Article.Columns.UrlFragment, Article.Columns.ParentObjectK, Article.Columns.ParentObjectType); ArticleSet aSet = new ArticleSet(q); foreach (Article a in aSet) { try { Utilities.UpdateChildUrlFragmentsJob job = new Utilities.UpdateChildUrlFragmentsJob(Model.Entities.ObjectType.Article, a.K, true); job.ExecuteAsynchronously(); } catch(Exception ex) { if (Vars.DevEnv) throw ex; } } } }
public Place GetCapitalOrLargestEnabledPlace() { PlaceSet psCapital = new PlaceSet(new Query(new Q(Place.Columns.CountryK, K), new Q(Place.Columns.IsCountryCapital, true), new Q(Place.Columns.Enabled, true))); if (psCapital.Count > 0) { return psCapital[0]; } else { PlaceSet psPopulation = new PlaceSet(new Query(new Q(Place.Columns.CountryK, K), new OrderBy(Place.Columns.Population, OrderBy.OrderDirection.Descending), 1)); if (psPopulation.Count > 0) { return psPopulation[0]; } else { return null; } } }
protected void Page_Load(object sender, EventArgs e) { StringBuilder sb = new StringBuilder(); // if (Vars.DevEnv) // System.Threading.Thread.Sleep(new Random().Next(2000)); if (Request.QueryString["type"] == "calendar") { bool freeGuestlist = Request.QueryString["freeGuestlist"] == null || Request.QueryString["freeGuestlist"].Length == 0 || Request.QueryString["freeGuestlist"] == "0" ? false : true; Brand brand = Request.QueryString["brandk"] == null || Request.QueryString["brandk"].Length == 0 || Request.QueryString["brandk"] == "0" ? null : new Brand(int.Parse(Request.QueryString["brandk"])); Place place = Request.QueryString["placek"] == null || Request.QueryString["placek"].Length == 0 || Request.QueryString["placek"] == "0" ? null : new Place(int.Parse(Request.QueryString["placek"])); Venue venue = Request.QueryString["venuek"] == null || Request.QueryString["venuek"].Length == 0 || Request.QueryString["venuek"] == "0" || Request.QueryString["venuek"] == "1" ? null : new Venue(int.Parse(Request.QueryString["venuek"])); int key = Request.QueryString["key"] == null || Request.QueryString["key"].Length == 0 || Request.QueryString["key"] == "0" ? 0 : int.Parse(Request.QueryString["key"]); MusicType music = Request.QueryString["musictypek"] == null || Request.QueryString["musictypek"].Length == 0 || Request.QueryString["musictypek"] == "0" ? null : new MusicType(int.Parse(Request.QueryString["musictypek"])); bool me = Request.QueryString["me"] != null && Request.QueryString["me"] == "1"; bool addGalleryButton = Request.QueryString["addgallery"] != null && Request.QueryString["addgallery"] == "1"; bool allVenues = Request.QueryString["venuek"] != null && Request.QueryString["venuek"] == "1"; DateTime date = new DateTime( int.Parse(Request.QueryString["date"].Substring(0, 4)), int.Parse(Request.QueryString["date"].Substring(4, 2)), int.Parse(Request.QueryString["date"].Substring(6, 2)) > 0 ? int.Parse(Request.QueryString["date"].Substring(6, 2)) : 1 ); //if (date == DateTime.Today) // System.Threading.Thread.Sleep(1000); DateTime from = date.Previous(DayOfWeek.Monday, true); DateTime to = date.Next(DayOfWeek.Sunday, true); Event.EventsForDisplay events = new Event.EventsForDisplay(); events.IgnoreMusicType = true; if (me) { events.AttendedUsrK = Usr.Current.K; } else if (brand != null) { events.BrandK = brand.K; } else if (venue != null) { events.VenueK = venue.K; } else if (place != null && music != null) { events.PlaceK = place.K; events.MusicTypeK = music.K; } else if (place != null && freeGuestlist) { events.PlaceK = place.K; events.FreeGuestlist = freeGuestlist; } else if (key > 0) { } else throw new Exception(); EventSet es; if (key == 0) es = events.GetEventsBetweenDates(from, to); else es = new EventSet(new Query(new Q(Event.Columns.K, key))); CustomControls.DsiCalendar calendar = new Spotted.CustomControls.DsiCalendar(); calendar.AllEvents = es; calendar.Month = date.Month; calendar.ShowCountryFriendlyName = !(events.FilterByCountry || events.FilterByPlace || events.FilterByVenue); calendar.ShowPlace = !(events.FilterByPlace || events.FilterByVenue); calendar.ShowVenue = !events.FilterByVenue; calendar.ShowAddGalleryButton = addGalleryButton; calendar.Tickets = true; calendar.StartDate = from; calendar.EndDate = to; Out.Controls.Add(calendar); } else { sb.AppendLine("{"); if (Request.QueryString["type"] == "music") { #region Music types Query q = new Query(); q.QueryCondition = new Q(MusicType.Columns.K, QueryOperator.NotEqualTo, 1); q.Columns = new ColumnSet(MusicType.Columns.Name, MusicType.Columns.ParentK, MusicType.Columns.K); q.OrderBy = new OrderBy(MusicType.Columns.Order, OrderBy.OrderDirection.Ascending); q.CacheDuration = TimeSpan.FromDays(1); MusicTypeSet mts = new MusicTypeSet(q); append(sb, "Select your music...", "0"); append(sb, "", ""); foreach (MusicType mt in mts) { append(sb, (mt.ParentK == 1 ? "" : "... ") + mt.Name, mt.K.ToString()); } #endregion } else if (Request.QueryString["type"] == "country") { #region Countries append(sb, "Select a country...", "0"); Query qTop = new Query(); qTop.Columns = new ColumnSet(Country.Columns.FriendlyName, Country.Columns.K); qTop.OrderBy = new OrderBy(Country.Columns.TotalEvents, OrderBy.OrderDirection.Descending); qTop.QueryCondition = new Q(Country.Columns.Enabled, true); qTop.TopRecords = 10; qTop.CacheDuration = TimeSpan.FromDays(1); CountrySet csTop = new CountrySet(qTop); append(sb, "", ""); append(sb, "--- TOP COUNTRIES ---", "0"); foreach (Country c in csTop) { append(sb, c.FriendlyName.TruncateWithDots(maxLength), c.K.ToString()); } Query qAll = new Query(); qAll.Columns = new ColumnSet(Country.Columns.FriendlyName, Country.Columns.K); qAll.OrderBy = new OrderBy(Country.Columns.FriendlyName); qAll.QueryCondition = new And(new Q(Country.Columns.Enabled, true), new StringQueryCondition("(SELECT COUNT(*) FROM [Place] WHERE [Place].[Enabled] = 1 AND [Place].[CountryK] = [Country].[K]) > 0")); qAll.CacheDuration = TimeSpan.FromDays(1); CountrySet csAll = new CountrySet(qAll); append(sb, "", ""); append(sb, "--- ALL COUNTRIES ---", "0"); foreach (Country c in csAll) { append(sb, c.FriendlyName.TruncateWithDots(maxLength), c.K.ToString()); } #endregion } else if (Request.QueryString["type"] == "place") { #region Places int countryK = int.Parse(Request.QueryString["countryk"]); Country country = new Country(countryK); Query qTop = new Query(); qTop.Columns = new ColumnSet(Place.Columns.Name, Place.Columns.K, Place.LinkColumns); qTop.TopRecords = 10; qTop.QueryCondition = new And(new Q(Place.Columns.CountryK, country.K), new Q(Place.Columns.Enabled, true)); qTop.OrderBy = new OrderBy(Place.Columns.TotalEvents, OrderBy.OrderDirection.Descending); PlaceSet psTop = new PlaceSet(qTop); if (psTop.Count == 0) { append(sb, "No towns in our database for this country", ""); } else { append(sb, "Towns in " + country.FriendlyName.Truncate(maxLength) + "...", ""); append(sb, "", ""); if (psTop.Count < 10) { foreach (Place p in psTop) append(sb, p.NamePlainRegion.TruncateWithDots(maxLength), Request.QueryString["return"] == "k" ? p.K.ToString() : p.Url()); } else { append(sb, "--- TOP TOWNS ---", ""); foreach (Place p in psTop) append(sb, p.NamePlainRegion.TruncateWithDots(maxLength), Request.QueryString["return"] == "k" ? p.K.ToString() : p.Url()); Query qAll = new Query(); qAll.Columns = new ColumnSet(Place.Columns.Name, Place.Columns.K, Place.LinkColumns); qAll.OrderBy = new OrderBy(Place.Columns.UrlName); qAll.QueryCondition = new And(new Q(Place.Columns.CountryK, countryK), new Q(Place.Columns.Enabled, true)); PlaceSet psAll = new PlaceSet(qAll); append(sb, "", ""); append(sb, "--- ALL TOWNS ---", ""); foreach (Place p in psAll) append(sb, p.NamePlainRegion.TruncateWithDots(maxLength), Request.QueryString["return"] == "k" ? p.K.ToString() : p.Url()); } } #endregion } else if (Request.QueryString["type"] == "venue") { #region Venues int placeK = int.Parse(Request.QueryString["placek"]); Place place = new Place(placeK); Query qTop = new Query(); qTop.Columns = new ColumnSet(Venue.Columns.Name, Venue.Columns.K, Venue.LinkColumns); qTop.TopRecords = 10; qTop.QueryCondition = new Q(Venue.Columns.PlaceK, place.K); qTop.OrderBy = new OrderBy(Venue.Columns.TotalEvents, OrderBy.OrderDirection.Descending); VenueSet vsTop = new VenueSet(qTop); if (vsTop.Count == 0) { append(sb, "No venues in our database for this town", ""); } else { append(sb, "Venues in " + place.NamePlainRegion.Truncate(maxLength) + "...", ""); append(sb, "", ""); if (Request.QueryString["all"] == "1") { append(sb, "All venues", "1"); append(sb, "", ""); } if (vsTop.Count < 10) { appendVenues(sb, vsTop); } else { append(sb, "--- TOP VENUES ---", ""); appendVenues(sb, vsTop); Query qAll = new Query(); qAll.Columns = new ColumnSet(Venue.Columns.Name, Venue.Columns.K, Venue.LinkColumns); qAll.OrderBy = new OrderBy("( CASE WHEN [Venue].[UrlName] LIKE 'the-%' THEN SUBSTRING([Venue].[UrlName], 4, LEN([Venue].[UrlName]) - 4) ELSE [Venue].[UrlName] END )"); qAll.QueryCondition = new Q(Venue.Columns.PlaceK, placeK); VenueSet vsAll = new VenueSet(qAll); append(sb, "", ""); append(sb, "--- ALL VENUES ---", ""); if (vsAll.Count <= 300) { appendVenues(sb, vsAll); } else { append(sb, "Select the first letter:", ""); append(sb, "", ""); append(sb, "0-9", "*0"); string ch; for (int i = 65; i <= 90; i++) { ch = char.ConvertFromUtf32(i); append(sb, ch.ToUpper() + "...", "*" + ch.ToLower()); } } } } #endregion } else if (Request.QueryString["type"] == "venuebyletter") { #region Venues int placeK = int.Parse(Request.QueryString["placek"]); string letter = Request.QueryString["letter"]; if (letter.Length > 1) throw new Exception(); Place place = new Place(placeK); string qu = ""; if (letter.ToLower() == "0") { qu = "([Venue].[UrlName] LIKE '[0-9]%' OR [Venue].[UrlName] LIKE 'the-[0-9]%')"; } else if (letter.ToLower() == "t") { qu = "(([Venue].[UrlName] LIKE 't%' AND [Venue].[UrlName] NOT LIKE 'the-%' ) OR [Venue].[UrlName] LIKE 'the-t%')"; } else { qu = "([Venue].[UrlName] LIKE '" + letter.ToLower() + "%' OR [Venue].[UrlName] LIKE 'the-" + letter.ToLower() + "%')"; } Query q = new Query(); q.Columns = new ColumnSet(Venue.Columns.Name, Venue.Columns.K, Venue.LinkColumns); //q.OrderBy = new OrderBy(Venue.Columns.UrlName); q.OrderBy = new OrderBy("( CASE WHEN [Venue].[UrlName] LIKE 'the-%' THEN SUBSTRING([Venue].[UrlName], 4, LEN([Venue].[UrlName]) - 4) ELSE [Venue].[UrlName] END )"); q.QueryCondition = new And( new Q(Venue.Columns.PlaceK, placeK), new StringQueryCondition(qu)); VenueSet vs = new VenueSet(q); if (vs.Count == 0) { append(sb, "No venues starting with " + letter.ToUpper(), ""); } else { append(sb, "Venues starting with " + letter.ToUpper() + "...", ""); append(sb, "", ""); appendVenues(sb, vs); } #endregion } else if (Request.QueryString["type"] == "event") { #region Events int venueK = int.Parse(Request.QueryString["venuek"]); int brandK = int.Parse(Request.QueryString["brandk"]); int key = int.Parse(Request.QueryString["key"]); int year = int.Parse(Request.QueryString["date"].Substring(0, 4)); int month = int.Parse(Request.QueryString["date"].Substring(4, 2)); DateTime dateFrom = new DateTime(year, month, 1); DateTime dateTo = dateFrom.AddMonths(1); Venue venue = venueK > 1 ? new Venue(venueK) : null; Brand brand = brandK > 0 ? new Brand(brandK) : null; EventSet es; if (key == 0) { Query q = new Query(); if (brand == null) q.Columns = new ColumnSet(Event.Columns.DateTime, Event.Columns.Name, Event.Columns.K); else q.Columns = new ColumnSet(Event.Columns.DateTime, Event.Columns.Name, Event.Columns.K, Event.FriendlyLinkColumns); q.QueryCondition = new And( new Q(Event.Columns.DateTime, QueryOperator.GreaterThanOrEqualTo, dateFrom), new Q(Event.Columns.DateTime, QueryOperator.LessThan, dateTo), venue != null ? new Q(Event.Columns.VenueK, venue.K) : new Q(true), brand != null ? new Q(EventBrand.Columns.BrandK, brand.K) : new Q(true)); q.OrderBy = Event.FutureEventOrder; if (brandK > 0) { q.TableElement = new Join( Event.CountryAllJoin, new TableElement(TablesEnum.EventBrand), QueryJoinType.Inner, Event.Columns.K, EventBrand.Columns.EventK); } es = new EventSet(q); } else es = new EventSet(new Query(new Q(Event.Columns.K, key))); if (es.Count == 0) { append(sb, "No events in our database for this selection", ""); } else { //append(sb, "Events at " + venue.FriendlyName.Truncate(maxLength) + ", " + dateFrom.ToString("MMM yyyy") + "...", ""); //append(sb, "", ""); Dictionary<string, int> counter = new Dictionary<string, int>(); foreach (Event ev in es) { string key1 = eventString(ev, brand != null); if (counter.ContainsKey(key1.ToLower())) counter[key1.ToLower()]++; else counter[key1.ToLower()] = 1; } foreach (Event ev in es) { string key1 = eventString(ev, brand != null); if (counter[key1.ToLower()] > 1) key1 = key1.Substring(0, 8) + " - #" + ev.K.ToString() + key1.Substring(8); append(sb, key1, ev.K.ToString()); } } #endregion } sb.AppendLine(""); sb.Append("}"); } Out.Controls.Add(new LiteralControl(sb.ToString())); }
private void Page_Load(object sender, System.EventArgs e) { Response.ContentType = "text/xml"; Response.Clear(); Response.Buffer = false; XmlTextWriter x = new XmlTextWriter(Response.OutputStream, Encoding.UTF8); x.Formatting = Formatting.Indented; x.WriteRaw("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"); string dateFormat = "yyyy-MM-ddTHH:mm:sszzz"; if (Request.QueryString[0].Equals("index")) { #region sitemapindex x.WriteStartElement("sitemapindex"); x.WriteAttributeString("xmlns", "http://www.google.com/schemas/sitemap/0.84"); if (true) { #region sitemap - countries x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?country"); Query q = new Query(); q.QueryCondition = new And( new Q(Thread.Columns.Private, false), new Q(Thread.Columns.PrivateGroup, false), new Q(Thread.Columns.GroupPrivate, false) ); q.OrderBy = new OrderBy(Thread.Columns.LastPost, OrderBy.OrderDirection.Descending); q.TopRecords = 1; ThreadSet bobset = new ThreadSet(q); if (bobset.Count > 0) x.WriteElementString("lastmod", bobset[0].LastPost.ToString(dateFormat)); x.WriteEndElement(); //sitemap #endregion } if (true) { #region sitemap - place x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?place"); Query q = new Query(); q.OrderBy = new OrderBy(Place.Columns.LastPost, OrderBy.OrderDirection.Descending); q.TopRecords = 1; PlaceSet bobset = new PlaceSet(q); if (bobset.Count > 0) x.WriteElementString("lastmod", bobset[0].LastPost.ToString(dateFormat)); x.WriteEndElement(); //sitemap #endregion } if (true) { #region sitemap - venue x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?venue"); Query q = new Query(); q.OrderBy = new OrderBy(Venue.Columns.LastPost, OrderBy.OrderDirection.Descending); q.TopRecords = 1; VenueSet bobset = new VenueSet(q); if (bobset.Count > 0) x.WriteElementString("lastmod", bobset[0].LastPost.ToString(dateFormat)); x.WriteEndElement(); //sitemap #endregion } if (true) { #region sitemap - event x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?event"); Query q = new Query(); q.OrderBy = new OrderBy(Event.Columns.LastPost, OrderBy.OrderDirection.Descending); q.TopRecords = 1; EventSet bobset = new EventSet(q); if (bobset.Count > 0) x.WriteElementString("lastmod", bobset[0].LastPost.ToString(dateFormat)); x.WriteEndElement(); //sitemap #endregion } if (true) { #region sitemap - thread x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?thread"); Query q = new Query(); q.QueryCondition = new And( new Q(Thread.Columns.Private, false), new Q(Thread.Columns.PrivateGroup, false), new Q(Thread.Columns.GroupPrivate, false) ); q.OrderBy = new OrderBy(Thread.Columns.LastPost, OrderBy.OrderDirection.Descending); q.TopRecords = 1; ThreadSet bobset = new ThreadSet(q); if (bobset.Count > 0) x.WriteElementString("lastmod", bobset[0].LastPost.ToString(dateFormat)); x.WriteEndElement(); //sitemap #endregion } if (true) { #region sitemap - photo x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?photo"); Query q = new Query(); q.QueryCondition = Photo.EnabledQueryCondition; q.OrderBy = new OrderBy(Photo.Columns.EnabledDateTime, OrderBy.OrderDirection.Descending); q.TopRecords = 1; PhotoSet bobset = new PhotoSet(q); if (bobset.Count > 0) x.WriteElementString("lastmod", bobset[0].EnabledDateTime.ToString(dateFormat)); x.WriteEndElement(); //sitemap #endregion } if (true) { #region sitemap - usr x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?usr"); x.WriteEndElement(); //sitemap #endregion } if (true) { #region sitemap - article x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?article"); Query q = new Query(); q.QueryCondition = Article.EnabledQueryCondition; q.OrderBy = new OrderBy(Article.Columns.EnabledDateTime, OrderBy.OrderDirection.Descending); q.TopRecords = 1; ArticleSet bobset = new ArticleSet(q); if (bobset.Count > 0) x.WriteElementString("lastmod", bobset[0].EnabledDateTime.ToString(dateFormat)); x.WriteEndElement(); //sitemap #endregion } if (true) { #region sitemap - comp x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?comp"); x.WriteEndElement(); //sitemap #endregion } if (true) { #region sitemap - brand x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?brand"); Query q = new Query(); q.OrderBy = new OrderBy(Brand.Columns.LastPost, OrderBy.OrderDirection.Descending); q.TopRecords = 1; BrandSet bobset = new BrandSet(q); if (bobset.Count > 0) x.WriteElementString("lastmod", bobset[0].LastPost.ToString(dateFormat)); x.WriteEndElement(); //sitemap #endregion } if (true) { #region sitemap - group x.WriteStartElement("sitemap"); x.WriteElementString("loc", "http://www.dontstayin.com/sitemapxml?group"); Query q = new Query(); q.QueryCondition = new And( new Q(Group.Columns.BrandK, 0), new Q(Group.Columns.PrivateGroupPage, false)); q.OrderBy = new OrderBy(Group.Columns.LastPost, OrderBy.OrderDirection.Descending); q.TopRecords = 1; GroupSet bobset = new GroupSet(q); if (bobset.Count > 0) x.WriteElementString("lastmod", bobset[0].LastPost.Value.ToString(dateFormat)); x.WriteEndElement(); //sitemap #endregion } x.WriteEndElement(); //sitemapindex #endregion } else { #region urlset x.WriteStartElement("urlset"); x.WriteAttributeString("xmlns", "http://www.google.com/schemas/sitemap/0.84"); #region Countries if (Request.QueryString[0].Equals("country")) { if (true) { #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com/"); Query q = new Query(); q.QueryCondition = new And( new Q(Thread.Columns.Private, false), new Q(Thread.Columns.PrivateGroup, false), new Q(Thread.Columns.GroupPrivate, false) ); q.OrderBy = new OrderBy(Thread.Columns.LastPost, OrderBy.OrderDirection.Descending); q.TopRecords = 1; ThreadSet bobset = new ThreadSet(q); if (bobset.Count > 0) x.WriteElementString("lastmod", bobset[0].LastPost.ToString(dateFormat)); x.WriteElementString("changefreq", "hourly"); x.WriteEndElement(); //url #endregion } if (true) { Query q = new Query(); q.QueryCondition = new Q(Country.Columns.TotalEvents, QueryOperator.GreaterThan, 0); q.OrderBy = new OrderBy(Country.Columns.TotalEvents, OrderBy.OrderDirection.Descending); q.Columns = new ColumnSet(Country.LinkColumns, Country.Columns.TotalEvents); if (Vars.DevEnv) q.TopRecords = 10; CountrySet bobset = new CountrySet(q); for (int i = 0; i < bobset.Count; i++) { Country p = bobset[i]; #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com" + p.Url()); if (p.TotalEvents > 100) x.WriteElementString("changefreq", "hourly"); else if (p.TotalEvents > 20) x.WriteElementString("changefreq", "daily"); else if (p.TotalEvents > 10) x.WriteElementString("changefreq", "weekly"); else x.WriteElementString("changefreq", "monthly"); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } } #endregion #region Places if (Request.QueryString[0].Equals("place")) { Query q = new Query(); q.QueryCondition = new Or( new Q(Place.Columns.TotalComments, QueryOperator.GreaterThan, 0), new Q(Place.Columns.TotalEvents, QueryOperator.GreaterThan, 0)); q.OrderBy = new OrderBy(Place.Columns.TotalComments, OrderBy.OrderDirection.Descending); q.Columns = new ColumnSet(Place.LinkColumns, Place.Columns.LastPost); if (Vars.DevEnv) q.TopRecords = 10; else q.TopRecords = 40000; PlaceSet bobset = new PlaceSet(q); for (int i = 0; i < bobset.Count; i++) { Place p = bobset[i]; #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com" + p.Url()); if (p.LastPost != DateTime.MinValue) { x.WriteElementString("lastmod", p.LastPost.ToString(dateFormat)); TimeSpan ts = DateTime.Now.Subtract(p.LastPost); if (ts.TotalHours < 24) x.WriteElementString("changefreq", "hourly"); else if (ts.TotalDays < 7) x.WriteElementString("changefreq", "daily"); else if (ts.TotalDays < 30) x.WriteElementString("changefreq", "weekly"); else x.WriteElementString("changefreq", "monthly"); } else x.WriteElementString("changefreq", "monthly"); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } #endregion #region Venues if (Request.QueryString[0].Equals("venue")) { Query q = new Query(); q.OrderBy = new OrderBy(Venue.Columns.TotalEvents, OrderBy.OrderDirection.Descending); q.Columns = new ColumnSet(Venue.LinkColumns, Venue.Columns.LastPost, Venue.Columns.TotalEvents); if (Vars.DevEnv) q.TopRecords = 10; else q.TopRecords = 40000; VenueSet bobset = new VenueSet(q); for (int i = 0; i < bobset.Count; i++) { Venue v = bobset[i]; #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com" + v.Url()); if (v.LastPost != DateTime.MinValue) { x.WriteElementString("lastmod", v.LastPost.ToString(dateFormat)); TimeSpan ts = DateTime.Now.Subtract(v.LastPost); if (ts.TotalHours < 24) x.WriteElementString("changefreq", "hourly"); else if (ts.TotalDays < 7) x.WriteElementString("changefreq", "daily"); else if (ts.TotalDays < 30) x.WriteElementString("changefreq", "weekly"); else x.WriteElementString("changefreq", "monthly"); } else if (v.TotalEvents > 10) x.WriteElementString("changefreq", "weekly"); else x.WriteElementString("changefreq", "monthly"); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } #endregion #region Events if (Request.QueryString[0].Equals("event")) { Query q = new Query(); q.OrderBy = new OrderBy(Event.Columns.LastPost, OrderBy.OrderDirection.Descending); q.Columns = new ColumnSet(Event.LinkColumns, Event.Columns.LastPost, Event.Columns.DateTime); if (Vars.DevEnv) q.TopRecords = 10; else q.TopRecords = 40000; EventSet bobset = new EventSet(q); for (int i = 0; i < bobset.Count; i++) { Event ev = bobset[i]; #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com" + ev.Url()); if (ev.LastPost != DateTime.MinValue) { x.WriteElementString("lastmod", ev.LastPost.ToString(dateFormat)); TimeSpan ts = DateTime.Now.Subtract(ev.LastPost); if (ts.TotalHours < 24) x.WriteElementString("changefreq", "hourly"); else if (ts.TotalDays < 7) x.WriteElementString("changefreq", "daily"); else if (ts.TotalDays < 30) x.WriteElementString("changefreq", "weekly"); else x.WriteElementString("changefreq", "monthly"); } else x.WriteElementString("changefreq", "monthly"); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } #endregion #region Threads if (Request.QueryString[0].Equals("thread")) { Query q = new Query(); q.QueryCondition = new And( new Q(Thread.Columns.Private, false), new Q(Thread.Columns.PrivateGroup, false), new Q(Thread.Columns.GroupPrivate, false) ); q.Columns = new ColumnSet(Thread.Columns.K, Thread.Columns.UrlFragment, Thread.Columns.TotalComments, Thread.Columns.LastPost); q.OrderBy = new OrderBy(Thread.Columns.LastPost, OrderBy.OrderDirection.Descending); if (Vars.DevEnv) q.TopRecords = 10; else q.TopRecords = 40000; ThreadSet bobset = new ThreadSet(q); for (int i = 0; i < bobset.Count; i++) { Thread t = bobset[i]; #region url x.WriteStartElement("url"); if (t.LastPage == 1) x.WriteElementString("loc", "http://www.dontstayin.com" + t.Url()); else x.WriteElementString("loc", "http://www.dontstayin.com" + t.Url("c", t.LastPage.ToString())); x.WriteElementString("lastmod", t.LastPost.ToString(dateFormat)); TimeSpan ts = DateTime.Now.Subtract(t.LastPost); if (ts.TotalHours < 24) x.WriteElementString("changefreq", "hourly"); else if (ts.TotalDays < 7) x.WriteElementString("changefreq", "daily"); else if (ts.TotalDays < 30) x.WriteElementString("changefreq", "weekly"); else x.WriteElementString("changefreq", "monthly"); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } #endregion #region Photos if (Request.QueryString[0].Equals("photo")) { Query q = new Query(); q.QueryCondition = Photo.EnabledQueryCondition; q.Columns = new ColumnSet(Photo.Columns.K, Photo.Columns.UrlFragment, Photo.Columns.EventK, Photo.Columns.ArticleK); q.OrderBy = new OrderBy(Photo.Columns.EnabledDateTime, OrderBy.OrderDirection.Descending); if (Vars.DevEnv) q.TopRecords = 10; else q.TopRecords = 50000; PhotoSet bobset = new PhotoSet(q); for (int i = 0; i < bobset.Count; i++) { Photo p = bobset[i]; #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com" + p.Url()); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } #endregion #region Usrs if (Request.QueryString[0].Equals("usr")) { Query q = new Query(); q.QueryCondition = new And( new Q(Usr.Columns.IsSkeleton, false), new Q(Usr.Columns.IsEmailVerified, true), new Or( new Q(Usr.Columns.Pic, QueryOperator.NotEqualTo, Guid.Empty), new Q(Usr.Columns.CommentCount, QueryOperator.NotEqualTo, 0) ) ); q.Columns = new ColumnSet(Usr.Columns.NickName); q.OrderBy = new OrderBy(Usr.Columns.DateTimeLastPageRequest, OrderBy.OrderDirection.Descending); if (Vars.DevEnv) q.TopRecords = 10; else q.TopRecords = 50000; UsrSet bobset = new UsrSet(q); for (int i = 0; i < bobset.Count; i++) { Usr u = bobset[i]; #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com" + u.Url()); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } #endregion #region Articles if (Request.QueryString[0].Equals("article")) { Query q = new Query(); q.QueryCondition = Article.EnabledQueryCondition; q.Columns = new ColumnSet(Article.Columns.UrlFragment, Article.Columns.ParentObjectK, Article.Columns.ParentObjectType, Article.Columns.K); q.OrderBy = new OrderBy(Article.Columns.EnabledDateTime, OrderBy.OrderDirection.Descending); if (Vars.DevEnv) q.TopRecords = 10; else q.TopRecords = 50000; ArticleSet bobset = new ArticleSet(q); for (int i = 0; i < bobset.Count; i++) { Article a = bobset[i]; #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com" + a.Url()); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } #endregion #region Competitions if (Request.QueryString[0].Equals("comp")) { Query q = new Query(); q.QueryCondition = new Q(Comp.Columns.Status, Comp.StatusEnum.Enabled); q.Columns = new ColumnSet(Comp.Columns.K); q.OrderBy = new OrderBy(Comp.Columns.DateTimeClose, OrderBy.OrderDirection.Descending); if (Vars.DevEnv) q.TopRecords = 10; else q.TopRecords = 50000; CompSet bobset = new CompSet(q); for (int i = 0; i < bobset.Count; i++) { Comp c = bobset[i]; #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com" + c.Url()); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } #endregion #region Brands if (Request.QueryString[0].Equals("brand")) { Query q = new Query(); q.OrderBy = new OrderBy(Brand.Columns.LastPost, OrderBy.OrderDirection.Descending); q.Columns = new ColumnSet(Brand.LinkColumns, Brand.Columns.LastPost); if (Vars.DevEnv) q.TopRecords = 10; else q.TopRecords = 40000; BrandSet bobset = new BrandSet(q); for (int i = 0; i < bobset.Count; i++) { Brand b = bobset[i]; #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com" + b.Url()); if (b.LastPost > DateTime.MinValue) { x.WriteElementString("lastmod", b.LastPost.ToString(dateFormat)); TimeSpan ts = DateTime.Now.Subtract(b.LastPost); if (ts.TotalHours < 24) x.WriteElementString("changefreq", "hourly"); else if (ts.TotalDays < 7) x.WriteElementString("changefreq", "daily"); else if (ts.TotalDays < 30) x.WriteElementString("changefreq", "weekly"); else x.WriteElementString("changefreq", "monthly"); } else x.WriteElementString("changefreq", "monthly"); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } #endregion #region Groups if (Request.QueryString[0].Equals("group")) { Query q = new Query(); q.QueryCondition = new And( new Q(Group.Columns.BrandK, 0), new Q(Group.Columns.PrivateGroupPage, false)); q.OrderBy = new OrderBy(Group.Columns.LastPost, OrderBy.OrderDirection.Descending); q.Columns = new ColumnSet(Group.Columns.BrandK, Group.Columns.UrlName, Group.Columns.LastPost); if (Vars.DevEnv) q.TopRecords = 10; else q.TopRecords = 40000; GroupSet bobset = new GroupSet(q); for (int i = 0; i < bobset.Count; i++) { Group g = bobset[i]; #region url x.WriteStartElement("url"); x.WriteElementString("loc", "http://www.dontstayin.com" + g.Url()); if (g.LastPost.HasValue && g.LastPost > DateTime.MinValue) { x.WriteElementString("lastmod", g.LastPost.Value.ToString(dateFormat)); TimeSpan ts = DateTime.Now.Subtract(g.LastPost.Value); if (ts.TotalHours < 24) x.WriteElementString("changefreq", "hourly"); else if (ts.TotalDays < 7) x.WriteElementString("changefreq", "daily"); else if (ts.TotalDays < 30) x.WriteElementString("changefreq", "weekly"); else x.WriteElementString("changefreq", "monthly"); } else x.WriteElementString("changefreq", "monthly"); x.WriteEndElement(); //url #endregion bobset.Kill(i); } } #endregion x.WriteEndElement(); //urlset #endregion } x.Flush(); x.Close(); Response.End(); }
private void Page_Load(object sender, System.EventArgs e) { Usr.KickUserIfNotLoggedIn("You must be logged in to view your user preferences."); if (!Page.IsPostBack && !Usr.Current.IsSkeleton && !Vars.DevEnv) throw new DsiUserFriendlyException("You can't view this page, you've already completed your details"); LogOffButton.Attributes["onclick"] = "return confirm('Are you sure?');"; UnsubscribeButton.Attributes["onclick"] = "return confirm('Are you sure?');"; EmailRegex.ValidationExpression = Cambro.Misc.RegEx.Email; DialingCodeDropDown.Attributes["onclick"] = "if (document.forms[0].elements['" + DialingCodeDropDown.ClientID + "'][document.forms[0].elements['" + DialingCodeDropDown.ClientID + "'].selectedIndex].value=='0') {document.getElementById('" + DialingCodeOtherSpan.ClientID + "').style.display=''}else{document.getElementById('" + DialingCodeOtherSpan.ClientID + "').style.display='none'}"; #region Set up page... don't show options 2 and 3 to people who have come from the sign-up page unless they have verified their email WelcomeHeaderInvite.Visible = !Usr.Current.IsSkeletonFromSignup; WelcomeHeaderSignUp.Visible = Usr.Current.IsSkeletonFromSignup; if (ContainerPage.Url[0] == "Signup") { WelcomePart2And3.Visible = false; WelcomePart1Header.Visible = false; } //if (Usr.Current.IsSkeletonFromSignup && !Usr.Current.IsEmailVerified) //{ //WelcomePart2And3.Visible = false; //WelcomePart1Header.Visible = false; //} #endregion if (!Page.IsPostBack) { string text = Cambro.Misc.Utility.GenRandomChars(5).ToUpper(); string encryptedText = Cambro.Misc.Utility.Encrypt(text, DateTime.Now.AddHours(1)); this.ViewState["HipChallengeExcryptedText"] = encryptedText; HipImage.Src = "/support/hipimage.aspx?a=" + encryptedText; } #region Auto add group / buddy uiAddedByGroupsDiv.Visible = false; uiAddedByUsrsDiv.Visible = false; try { int groupsCount = Usr.Current.GroupsWhoHavePendingInvitationsForMe.Count; if (groupsCount > 0) { uiAddedByGroupsDiv.Visible = true; if (groupsCount == 1) { uiAddedByGroupLabel.Text = "<b>" + Usr.Current.GroupsWhoHavePendingInvitationsForMe[0].FriendlyName + "</b> group"; } else { uiAddedByGroupLabel.Text = "following groups"; } int height = 36 + Math.Min(groupsCount, 2) * 60 + 20; uiAddedByGroupsDiv.Attributes["style"] = "border-top:3px solid #000000;padding-top:10px;padding-bottom:10px; height:" + height + "; overflow:auto;"; foreach (GridViewRow gvr in uiAddedByGroupsGridView.Rows) { if (!((CheckBox)gvr.FindControl("uiCheckBox")).Checked) uncheckedGroupKs.Add((int)uiAddedByGroupsGridView.DataKeys[gvr.RowIndex].Value); } uiAddedByGroupsGridView.DataSource = Usr.Current.GroupsWhoHavePendingInvitationsForMe; uiAddedByGroupsGridView.DataBind(); } int usrsCount = Usr.Current.UsrsWhoHavePendingBuddyRequestsForMe.Count; if (usrsCount > 0) { if (usrsCount == 1) { uiAddedByUsrLabel.Text = "<b>" + Usr.Current.UsrsWhoHavePendingBuddyRequestsForMe[0].NickName + "</b>"; } else { uiAddedByUsrLabel.Text = "the following people"; } int height = 36 + Math.Min(usrsCount, 2) * 60 + 20; uiAddedByUsrsDiv.Attributes["style"] = "border-top:3px solid #000000;padding-top:10px;padding-bottom:10px; height:" + height + "; overflow:auto;"; foreach (GridViewRow gvr in uiAddedByUsrsGridView.Rows) { if (!((CheckBox)gvr.FindControl("uiCheckBox")).Checked) uncheckedBuddyUsrKs.Add((int)uiAddedByUsrsGridView.DataKeys[gvr.RowIndex].Value); } uiAddedByUsrsDiv.Visible = true; uiAddedByUsrsGridView.DataSource = Usr.Current.UsrsWhoHavePendingBuddyRequestsForMe; uiAddedByUsrsGridView.DataBind(); } } catch { uiAddedByGroupsDiv.Visible = false; uiAddedByUsrsDiv.Visible = false; } #endregion #region Populate hometown drop-down int selectedHomeTown = 0; if (!HomeTownDropDownList.SelectedValue.Equals("0") && !HomeTownDropDownList.SelectedValue.Equals("")) selectedHomeTown = int.Parse(HomeTownDropDownList.SelectedValue); // OrderBy o = new OrderBy(Bobs.Place.Columns.Name,OrderBy.OrderDirection.Ascending); if (!Page.IsPostBack) { PlaceSet ts = new PlaceSet( new Query( new And( new Q(Place.Columns.Enabled, true), Country.PlaceFilterQ), new OrderBy(Bobs.Place.Columns.Name, OrderBy.OrderDirection.Ascending) ) ); HomeTownDropDownList.DataSource = ts; HomeTownDropDownList.DataValueField = "K"; HomeTownDropDownList.DataTextField = "Name"; HomeTownDropDownList.DataBind(); } if (selectedHomeTown > 0) { try { HomeTownDropDownList.SelectedValue = selectedHomeTown.ToString(); } catch { try { Place p = new Place(selectedHomeTown); HomeTownDropDownList.Items.Insert(1, new ListItem(p.Name, p.K.ToString())); HomeTownDropDownList.SelectedValue = selectedHomeTown.ToString(); } catch { } } } #endregion #region Populate favourite music drop-down int selectedFavouriteMusic = 0; if (!FavouriteMusicDropDownList.SelectedValue.Equals("0") && !FavouriteMusicDropDownList.SelectedValue.Equals("")) selectedFavouriteMusic = int.Parse(FavouriteMusicDropDownList.SelectedValue); if (!Page.IsPostBack) { MusicTypeSet mts = new MusicTypeSet( new Query( new Or( new Q(MusicType.Columns.ParentK, 1), new Q(MusicType.Columns.ParentK, 0) ) , new OrderBy(MusicType.Columns.Order) ) ); FavouriteMusicDropDownList.DataSource = mts; FavouriteMusicDropDownList.DataValueField = "K"; FavouriteMusicDropDownList.DataTextField = "DescriptiveText"; FavouriteMusicDropDownList.DataBind(); } if (selectedFavouriteMusic > 0) { FavouriteMusicDropDownList.SelectedValue = selectedFavouriteMusic.ToString(); } #endregion if (!Page.IsPostBack) { FirstName.Text = Usr.Current.FirstName; LastName.Text = Usr.Current.LastName; NickName.Text = Usr.Current.NickName; Email.Text = Usr.Current.Email; SexMale.Checked = Usr.Current.IsMale; SexFemale.Checked = Usr.Current.IsFemale; SendSpottedEmails.Checked = Usr.Current.SendSpottedEmails; SendSpottedTexts.Checked = Usr.Current.SendSpottedTexts; SendFlyers.Checked = Usr.Current.SendFlyers; SendInvites.Checked = Usr.Current.SendInvites; IsDjYes.Checked = Usr.Current.IsDj.HasValue && Usr.Current.IsDj.Value; IsDjNo.Checked = Usr.Current.IsDj.HasValue && !Usr.Current.IsDj.Value; #region Initialise hometown drop-down if (Usr.Current.HomePlaceK > 0) { try { HomeTownDropDownList.SelectedValue = Usr.Current.HomePlaceK.ToString(); } catch { HomeTownDropDownList.Items.Insert(1, new ListItem(Usr.Current.Home.Name, Usr.Current.HomePlaceK.ToString())); HomeTownDropDownList.SelectedValue = Usr.Current.HomePlaceK.ToString(); } } #endregion #region Initialise favourite music drop-down if (Usr.Current.FavouriteMusicTypeK > 0) { FavouriteMusicDropDownList.SelectedValue = Usr.Current.FavouriteMusicTypeK.ToString(); } #endregion #region Initialise mobile number box if (Usr.Current.Mobile.Length > 0) { if ( Usr.Current.MobileCountryCode.Equals("44") || Usr.Current.MobileCountryCode.Equals("61") || Usr.Current.MobileCountryCode.Equals("33") || Usr.Current.MobileCountryCode.Equals("49") || Usr.Current.MobileCountryCode.Equals("353") || Usr.Current.MobileCountryCode.Equals("39") || Usr.Current.MobileCountryCode.Equals("34") || Usr.Current.MobileCountryCode.Equals("1") ) { DialingCodeDropDown.SelectedValue = Usr.Current.MobileCountryCode; DialingCodeOtherSpan.Style["display"] = "none"; } else { DialingCodeDropDown.SelectedValue = "0"; DialingCodeOtherSpan.Style["display"] = null; DialingCodeOther.Text = Usr.Current.MobileCountryCode; } MobileNumber.Text = Usr.Current.MobileNumber; } else { if (Country.Current != null && Country.Current.DialingCode > 0) { DialingCodeDropDown.SelectedValue = Country.Current.DialingCode.ToString(); DialingCodeOtherSpan.Style["display"] = "none"; } else { DialingCodeDropDown.SelectedValue = "0"; DialingCodeOtherSpan.Style["display"] = null; } } #endregion } DialingCodeOtherSpan.Style["display"] = DialingCodeDropDown.SelectedValue.Equals("0") ? null : "none"; this.DataBind(); if (!Page.IsPostBack) { HomeTownDropDownList.Items.Insert(0, new ListItem(" ", "0")); FavouriteMusicDropDownList.Items.Insert(0, new ListItem(" ", "0")); } }
public void PanelDetailsLoad(object o, System.EventArgs e) { bool passedPlaceHasPostcode = false; if (ContainerPage.Url["PlaceK"].IsInt) { Place passedPlace = new Place(ContainerPage.Url["PlaceK"]); if (passedPlace.Country.PostcodeType == 1) passedPlaceHasPostcode = true; } if (IsEdit) { PanelDetailsPostcodeDiv.Visible = CurrentVenue.Place.Country.PostcodeType == 1 || passedPlaceHasPostcode; } else { PanelDetailsPostcodeDiv.Visible = (Country.Current != null && Country.Current.PostcodeType == 1) || passedPlaceHasPostcode; } if (CanEditPlace) { PanelDetailsPlaceDiv.Visible = true; PanelDetailsPlaceLockedDiv.Visible = false; if (!Page.IsPostBack) { Query q = new Query(); q.NoLock = true; q.Columns = new ColumnSet(Place.Columns.K, Place.Columns.Name, Place.Columns.CountryK, Place.Columns.RegionAbbreviation); q.QueryCondition = new And(Country.PlaceFilterQ, new Q(Place.Columns.Enabled, true)); q.OrderBy = new OrderBy(Place.Columns.Name); PlaceSet ts = new PlaceSet(q); Place placeToSelect = null; if (IsEdit) { placeToSelect = CurrentVenue.Place; } else if (ContainerPage.Url["PlaceK"].IsInt) { placeToSelect = new Place(ContainerPage.Url["PlaceK"]); } if (placeToSelect != null) { PanelDetailsPlacePicker.Place = placeToSelect; } } } else { PanelDetailsPlacePicker.Place = CurrentVenue.Place; PanelDetailsPlaceDiv.Visible = false; PanelDetailsPlaceLockedDiv.Visible = true; PanelDetailsPlaceLockedLabel.Text = CurrentVenue.Place.Name; } if (IsEdit) { } if (IsEdit && !Page.IsPostBack) { PanelDetailsPostcodeTextBox.Text = CurrentVenue.Postcode; PanelDetailsVenueName.Text = CurrentVenue.Name; PanelDetailsVenueCapacity.Text = CurrentVenue.Capacity.ToString(); PanelDetailsVenueDetailsHtml.LoadHtml(CurrentVenue.DetailsHtml); PanelDetailsVenueRegularEventsYes.Checked = CurrentVenue.RegularEvents; PanelDetailsVenueRegularEventsNo.Checked = !CurrentVenue.RegularEvents; } }
private void BindLocationPlaceDropDown() { Query q = new Query(); q.Columns = new ColumnSet(Place.Columns.K, Place.Columns.Name); q.OrderBy = new OrderBy(Place.Columns.Name); q.QueryCondition = new And( new Q(Place.Columns.Enabled, true), new Q(Place.Columns.CountryK, int.Parse(LocationCountryDropDown.SelectedValue))); PlaceSet cs = new PlaceSet(q); LocationPlaceDropDown.DataTextField = "NamePlain"; LocationPlaceDropDown.DataValueField = "K"; LocationPlaceDropDown.DataSource = cs; LocationPlaceDropDown.DataBind(); if (IsEdit && !Page.IsPostBack) { if (CurrentGroup.PlaceK != 0 && LocationPlaceDropDown.Items.FindByValue(CurrentGroup.PlaceK.ToString()) != null) LocationPlaceDropDown.SelectedValue = CurrentGroup.PlaceK.ToString(); } }
public UrlPartTypes ProcessFilterPart(ref int currentIndex, string[] urlParts) { if (HasYearFilter && urlParts[currentIndex].Equals("tickets")) { #region tickets calendar PageType = PageTypes.Pages; PageName = "CalendarTickets"; CurrentApplication = "tickets"; currentIndex++; return UrlPartTypes.Application; #endregion } else if (HasYearFilter && urlParts[currentIndex].Equals("free")) { #region Free Guestlist calendar PageType = PageTypes.Pages; PageName = "CalendarFreeGuestlist"; CurrentApplication = "free"; currentIndex++; return UrlPartTypes.Application; #endregion } else if (urlParts[currentIndex].Equals("tags")) { #region tags PageType = PageTypes.Pages; PageName = "TagSearch"; CurrentApplication = "tags"; HasTagFilter = true; currentIndex++; if (urlParts.Length > currentIndex) { CurrentApplication = "tags/" + urlParts[currentIndex]; foreach (string s in urlParts[currentIndex].Split('-')) { if (!s.Equals("all")) TagFilter.Add(Cambro.Web.Helpers.UrlTextDeSerialize(s)); } currentIndex++; } return UrlPartTypes.Application; #endregion } else if ((HasBrandObjectFilter || HasVenueObjectFilter) && (urlParts[currentIndex].Equals("tickets") || urlParts[currentIndex].Equals("photos"))) { #region Styled page currentIndex++; PageType = PageTypes.Styled; PageName = "Home"; if (urlParts.Length > currentIndex && YearRegex.IsMatch(urlParts[currentIndex])) { #region //year and month int year = int.Parse(urlParts[currentIndex]); if (year > 1990 && year < 2030) { HasYearFilter = true; DateFilter = new DateTime(year, 1, 1); PageName = "Calendar"; currentIndex++; if (urlParts.Length > currentIndex && MonthRegex.IsMatch(urlParts[currentIndex])) { int month = MonthNumber(urlParts[currentIndex]); HasMonthFilter = true; DateFilter = new DateTime(year, month, 1); currentIndex++; } return UrlPartTypes.Application; } #endregion } else if (urlParts.Length > currentIndex && MonthRegex.IsMatch(urlParts[currentIndex])) { #region //month only - infer the year int requestedMonth = MonthNumber(urlParts[currentIndex]); HasYearFilter = true; HasMonthFilter = true; int requestedMonthIndex = (DateTime.Today.Year * 12) + requestedMonth; int currentMonthIndex = (DateTime.Today.Year * 12) + DateTime.Today.Month; DateTime d = new DateTime(DateTime.Today.Year, requestedMonth, 1); if (currentMonthIndex - requestedMonthIndex > 4) { d = new DateTime(DateTime.Today.Year + 1, requestedMonth, 1); } else if (currentMonthIndex - requestedMonthIndex < -7) { d = new DateTime(DateTime.Today.Year - 1, requestedMonth, 1); } DateFilter = d; PageName = "Calendar"; currentIndex++; return UrlPartTypes.Application; #endregion } else if (urlParts.Length > currentIndex && urlParts[currentIndex].ToLower().Equals("calendar")) { #region //todays month DateFilter = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); PageName = "Calendar"; currentIndex++; return UrlPartTypes.Application; #endregion } else if (urlParts.Length > currentIndex && NumericRegex.IsMatch(urlParts[currentIndex])) { #region //event id PageName = "EventDetail"; return UrlPartTypes.Application; #endregion } return UrlPartTypes.ObjectFilter; #endregion } else if (urlParts[currentIndex].Equals("parties")) { #region brand currentIndex++; Query brandQuery = new Query(); brandQuery.NoLock = true; brandQuery.Columns = new ColumnSet(Brand.Columns.K); brandQuery.QueryCondition = new Q(Brand.Columns.UrlName, urlParts[currentIndex]); BrandSet bs = new BrandSet(brandQuery); if (bs.Count > 0) { HasObjectFilter = true; ObjectFilterType = Model.Entities.ObjectType.Brand; ObjectFilterK = bs[0].K; PageType = PageTypes.Application; PageName = "Home"; CurrentFilter += "/parties/" + urlParts[currentIndex]; currentIndex++; return UrlPartTypes.ObjectFilter; } return UrlPartTypes.Null; #endregion } else if (urlParts[currentIndex].Equals("groups")) { #region group currentIndex++; if (urlParts.Length > currentIndex) { string groupUrlName = urlParts[currentIndex]; if (urlParts[currentIndex].Equals("parties")) { currentIndex++; groupUrlName = "parties/" + urlParts[currentIndex]; } Query groupQuery = new Query(); groupQuery.NoLock = true; groupQuery.Columns = new ColumnSet(Bobs.Group.Columns.K); groupQuery.QueryCondition = new Q(Bobs.Group.Columns.UrlName, groupUrlName); GroupSet gs = new GroupSet(groupQuery); if (gs.Count > 0) { HasObjectFilter = true; ObjectFilterType = Model.Entities.ObjectType.Group; ObjectFilterK = gs[0].K; PageType = PageTypes.Application; PageName = "Home"; CurrentFilter += "/groups/" + groupUrlName; currentIndex++; return UrlPartTypes.ObjectFilter; } } PageType = PageTypes.Pages; PageName = "GroupBrowser"; CurrentApplication = "groups"; return UrlPartTypes.Application; #endregion } else if (!HasObjectFilter && urlParts[currentIndex].Equals("promoters")) { #region promoter currentIndex++; Query promoterQuery = new Query(); promoterQuery.NoLock = true; promoterQuery.Columns = new ColumnSet(Promoter.Columns.K); promoterQuery.QueryCondition = new Q(Promoter.Columns.UrlName, urlParts[currentIndex]); PromoterSet ps = new PromoterSet(promoterQuery); if (ps.Count > 0) { HasObjectFilter = true; ObjectFilterType = Model.Entities.ObjectType.Promoter; ObjectFilterK = ps[0].K; PageType = PageTypes.Application; PageName = "Home"; CurrentFilter += "/promoters/" + urlParts[currentIndex]; currentIndex++; return UrlPartTypes.ObjectFilter; } return UrlPartTypes.Null; #endregion } else if (!HasObjectFilter && urlParts[currentIndex].Equals("members")) { #region members - usr currentIndex++; if (urlParts[currentIndex].Length > 0) { Usr usr = Usr.GetFromNickName(urlParts[currentIndex]); if (usr != null) { HasObjectFilter = true; ObjectFilterType = Model.Entities.ObjectType.Usr; ObjectFilterK = usr.K; PageType = PageTypes.Application; PageName = "Home"; CurrentFilter += "/members/" + urlParts[currentIndex]; currentIndex++; return UrlPartTypes.ObjectFilter; } //Query usrQuery = new Query(); //usrQuery.NoLock = true; //usrQuery.Columns = new ColumnSet(Usr.Columns.K); //usrQuery.QueryCondition = new Q(Usr.Columns.NickName, urlParts[currentIndex]); //UsrSet us = new UsrSet(usrQuery); //if (us.Count > 0) //{ // HasObjectFilter = true; // ObjectFilterType = Model.Entities.ObjectType.Usr; // ObjectFilterK = us[0].K; // PageType = PageTypes.Application; // PageName = "Home"; // CurrentFilter += "/members/" + urlParts[currentIndex]; // currentIndex++; // return UrlPartTypes.ObjectFilter; //} } return UrlPartTypes.Null; #endregion } else if (urlParts[currentIndex].StartsWith("event-")) { #region event try { Event ev = new Event(int.Parse(urlParts[currentIndex].Split('-')[1])); HasObjectFilter = true; ObjectFilterType = Model.Entities.ObjectType.Event; ObjectFilterK = ev.K; PageType = PageTypes.Application; PageName = "Home"; CurrentFilter += "/" + urlParts[currentIndex]; currentIndex++; return UrlPartTypes.ObjectFilter; } catch { currentIndex++; } return UrlPartTypes.Null; #endregion } else if (urlParts[currentIndex].StartsWith("gallery-")) { #region gallery try { Gallery g = new Gallery(int.Parse(urlParts[currentIndex].Split('-')[1])); HasObjectFilter = true; PageType = PageTypes.Application; PageName = "Home"; ObjectFilterType = Model.Entities.ObjectType.Gallery; ObjectFilterK = g.K; CurrentFilter += "/" + urlParts[currentIndex]; currentIndex++; return UrlPartTypes.ObjectFilter; } catch { currentIndex++; } return UrlPartTypes.Null; #endregion } else if (urlParts[currentIndex].StartsWith("photo-")) { #region photo try { Photo p = new Photo(int.Parse(urlParts[currentIndex].Split('-')[1])); HasObjectFilter = true; PageType = PageTypes.Application; PageName = "Home"; ObjectFilterType = Model.Entities.ObjectType.Photo; ObjectFilterK = p.K; CurrentFilter += "/" + urlParts[currentIndex]; currentIndex++; return UrlPartTypes.ObjectFilter; } catch { currentIndex++; } return UrlPartTypes.Null; #endregion } else if (urlParts[currentIndex].StartsWith("article-")) { #region article try { Article a = new Article(int.Parse(urlParts[currentIndex].Split('-')[1])); HasObjectFilter = true; PageType = PageTypes.Application; PageName = "Home"; ObjectFilterType = Model.Entities.ObjectType.Article; ObjectFilterK = a.K; CurrentFilter += "/" + urlParts[currentIndex]; currentIndex++; return UrlPartTypes.ObjectFilter; } catch { currentIndex++; } return UrlPartTypes.Null; #endregion } else if (GetMusicTypeK(urlParts[currentIndex].ToLower()) > 0) { #region music filter this.HasMusicFilter = true; this.MusicFilterK = GetMusicTypeK(urlParts[currentIndex].ToLower()); CurrentFilter += "/" + urlParts[currentIndex].ToLower(); currentIndex++; return UrlPartTypes.MusicFilter; #endregion } else if (GetThemeK(urlParts[currentIndex].ToLower()) > 0) { #region theme filter this.HasThemeFilter = true; this.ThemeFilterK = GetThemeK(urlParts[currentIndex].ToLower()); CurrentFilter += "/" + urlParts[currentIndex].ToLower(); currentIndex++; return UrlPartTypes.ThemeFilter; #endregion } else if (GetCountryK(urlParts[currentIndex].ToLower()) > 0) { #region Lookup country / place / venue HasObjectFilter = true; ObjectFilterType = Model.Entities.ObjectType.Country; ObjectFilterK = GetCountryK(urlParts[currentIndex].ToLower()); PageType = PageTypes.Application; PageName = "Home"; CurrentFilter += "/" + urlParts[currentIndex].ToLower(); currentIndex++; int countryK = this.ObjectFilterK; if (urlParts.Length > currentIndex) { Country country = new Country(countryK); Q regionQ = new Q(true); if (country.UseRegion) { Query qRegion = new Query(); qRegion.NoLock = true; qRegion.Columns = new ColumnSet(Region.Columns.K); qRegion.TopRecords = 1; qRegion.QueryCondition = new And( new Q(Region.Columns.CountryK, countryK), new Q(Region.Columns.Abbreviation, urlParts[currentIndex])); RegionSet rs = new RegionSet(qRegion); if (rs.Count > 0) { HasObjectFilter = true; ObjectFilterType = Model.Entities.ObjectType.Region; ObjectFilterK = rs[0].K; PageType = PageTypes.Application; PageName = "Home"; int regionK = ObjectFilterK; regionQ = new Q(Place.Columns.RegionK, regionK); CurrentFilter += "/" + urlParts[currentIndex].ToLower(); currentIndex++; if (!(urlParts.Length > currentIndex)) return UrlPartTypes.ObjectFilter; } } #region Lookup place Query placeQuery = new Query(); placeQuery.NoLock = true; placeQuery.Columns = new ColumnSet(Place.Columns.K); placeQuery.QueryCondition = new And( new Q(Place.Columns.Enabled, true), new Q(Place.Columns.CountryK, countryK), new Q(Place.Columns.UrlName, urlParts[currentIndex].ToLower()), regionQ ); PlaceSet ps = new PlaceSet(placeQuery); if (ps.Count > 0) { HasObjectFilter = true; ObjectFilterType = Model.Entities.ObjectType.Place; ObjectFilterK = ps[0].K; PageType = PageTypes.Application; PageName = "Home"; CurrentFilter += "/" + urlParts[currentIndex].ToLower(); currentIndex++; int placeK = this.ObjectFilterK; if (urlParts.Length > currentIndex) { #region Lookup venue Query venueQuery = new Query(); venueQuery.NoLock = true; venueQuery.Columns = new ColumnSet(Venue.Columns.K); venueQuery.QueryCondition = new And( new Q(Venue.Columns.PlaceK, placeK), new Q(Venue.Columns.UrlName, urlParts[currentIndex].ToLower()) ); VenueSet vs = new VenueSet(venueQuery); if (vs.Count > 0) { HasObjectFilter = true; ObjectFilterType = Model.Entities.ObjectType.Venue; ObjectFilterK = vs[0].K; PageType = PageTypes.Application; PageName = "Home"; CurrentFilter += "/" + urlParts[currentIndex].ToLower(); currentIndex++; int venueK = this.ObjectFilterK; } #endregion } } #endregion } return UrlPartTypes.ObjectFilter; #endregion } else if (YearRegex.IsMatch(urlParts[currentIndex])) { #region year / month / day int year = int.Parse(urlParts[currentIndex]); if (year > 1990 && year < 2030) { HasYearFilter = true; DateFilter = new DateTime(year, 1, 1); PageType = PageTypes.Pages; PageName = "Calendar"; CurrentFilter += "/" + urlParts[currentIndex]; currentIndex++; if (urlParts.Length > currentIndex && MonthRegex.IsMatch(urlParts[currentIndex])) { int month = MonthNumber(urlParts[currentIndex]); HasMonthFilter = true; DateFilter = new DateTime(year, month, 1); PageType = PageTypes.Pages; PageName = "Calendar"; CurrentFilter += "/" + urlParts[currentIndex]; currentIndex++; if (urlParts.Length > currentIndex && DayRegex.IsMatch(urlParts[currentIndex])) { int day = int.Parse(urlParts[currentIndex]); try { DateFilter = new DateTime(year, month, day); HasDayFilter = true; PageType = PageTypes.Pages; PageName = "Calendar"; CurrentFilter += "/" + urlParts[currentIndex]; currentIndex++; } catch { currentIndex++; } } } return UrlPartTypes.DateFilter; } else return UrlPartTypes.Null; #endregion } else if (urlParts[currentIndex].Equals("chat") || urlParts[currentIndex].Equals("messages")) { #region chat application PageType = PageTypes.Pages; PageName = "Chat"; CurrentApplication = "chat"; currentIndex++; if (ObjectFilterType.Equals(Model.Entities.ObjectType.Usr)) { PageType = PageTypes.PagesFolder; PageFolder = "Usrs"; PageName = "MyComments"; CurrentApplication = "chat"; } return UrlPartTypes.Application; #endregion } else if (urlParts[currentIndex].Equals("archive")) { #region archive application PageType = PageTypes.Pages; PageName = "Archive"; CurrentApplication = "archive"; currentIndex++; return UrlPartTypes.Application; #endregion } else if (urlParts[currentIndex].Equals("hottickets")) { #region hot tickets application PageType = PageTypes.Pages; PageName = "HotTickets"; CurrentApplication = "hottickets"; currentIndex++; return UrlPartTypes.Application; #endregion } else if (urlParts[currentIndex].Equals("home")) { #region home application CurrentApplication = "home"; currentIndex++; return UrlPartTypes.Application; #endregion } else if (HasUsrObjectFilter && urlParts[currentIndex].Equals("photosof")) { #region photosof page currentIndex++; PageType = PageTypes.Application; PageName = "photosof"; CurrentApplication = "photosof/" + urlParts[currentIndex].ToLower(); currentIndex++; return UrlPartTypes.Application; #endregion } else { if (urlParts.Length > currentIndex) { if (!PageType.Equals(PageTypes.Styled)) PageType = PageTypes.Application; PageName = urlParts[currentIndex].ToLower(); CurrentApplication = urlParts[currentIndex].ToLower(); currentIndex++; return UrlPartTypes.Application; } else { currentIndex++; return UrlPartTypes.Null; } } }
static Place getPlaceFromString(string homeTownName, ref bool goodMatch) { if (homeTownName.Trim().Length == 0) return null; string placeName = ""; string countryName = ""; Place homePlace = null; Country homeCountry = null; #region split into country and place name if (homeTownName.Length > 0 && homeTownName.Contains(",")) { placeName = homeTownName.Substring(0, homeTownName.LastIndexOf(',')).Trim(); countryName = homeTownName.Substring(homeTownName.LastIndexOf(',') + 1).Trim(); } else { placeName = homeTownName; } #endregion if (countryName.Length > 0) { #region get country by name CountrySet csName = new CountrySet( new Query( new Q(Country.Columns.Name, countryName.Trim()) ) ); if (csName.Count > 0) { homeCountry = csName[0]; } #endregion else { #region get country by friendly name (abbreviation) CountrySet csFriendlyName = new CountrySet( new Query( new Q(Country.Columns.FriendlyName, countryName.Trim()) ) ); if (csFriendlyName.Count > 0) { homeCountry = csFriendlyName[0]; } #endregion } } #region if we haven't found a country yet, use the IPcountry if (homeCountry == null) { try { homeCountry = new Country(IpCountry.ClientCountryK()); } catch { homeCountry = new Country(224); } } #endregion if (placeName.Length > 0) { #region lookup enabled places in the home country PlaceSet psNameWithCountry = new PlaceSet( new Query( new And( new Q(Place.Columns.Name, placeName.Trim()), new Q(Place.Columns.CountryK, homeCountry.K), new Q(Place.Columns.Enabled, true) ) ) ); if (psNameWithCountry.Count > 0) { homePlace = psNameWithCountry[0]; goodMatch = true; } #endregion else { #region lookup non-enabled places and find the nearest enabled place PlaceSet psNameWithCountryNotEnalbed = new PlaceSet( new Query( new And( new Q(Place.Columns.Name, placeName.Trim()), new Q(Place.Columns.CountryK, homeCountry.K) ) ) ); if (psNameWithCountryNotEnalbed.Count > 0) { PlaceSet ps = new PlaceSet( new Query( new Q(Place.Columns.Enabled, true), psNameWithCountryNotEnalbed[0].NearestPlacesOrderBy, 1 ) ); if (ps.Count > 0) { homePlace = ps[0]; goodMatch = true; } } #endregion else { #region lookup global enabled places by name PlaceSet psName = new PlaceSet( new Query( new And( new Q(Place.Columns.Name, placeName.Trim()), new Q(Place.Columns.Enabled, true) ), new OrderBy(Place.Columns.Population, OrderBy.OrderDirection.Descending), 1 ) ); if (psName.Count > 0) { homePlace = psName[0]; } #endregion else { #region lookup global non-enabled places and find the nearest enabled place PlaceSet psNameNotEnalbed = new PlaceSet( new Query( new Q(Place.Columns.Name, placeName.Trim()) ) ); if (psNameNotEnalbed.Count > 0) { PlaceSet ps = new PlaceSet( new Query( new Q(Place.Columns.Enabled, true), psNameNotEnalbed[0].NearestPlacesOrderBy, 1 ) ); if (ps.Count > 0) { homePlace = ps[0]; } } #endregion } } } } #region if we haven't found a place yet, use the capital (or largest enabled place) from the home country. If all fails, use London. if (homePlace == null) { if (homeCountry != null) { homePlace = homeCountry.GetCapitalOrLargestEnabledPlace(); } } if (homePlace == null) homePlace = new Place(1); #endregion return homePlace; }
public PlaceSet PlacesVisit(ColumnSet cs, int topRecords) { if (placesVisit == null) { Query q = new Query(); q.TableElement = Place.UsrVisitJoin; if (cs != null) q.Columns = cs; if (topRecords > 0) q.TopRecords = topRecords; q.OrderBy = new OrderBy(Place.Columns.Population, OrderBy.OrderDirection.Descending); q.QueryCondition = new Q(Usr.Columns.K, this.K); placesVisit = new PlaceSet(q); } return placesVisit; }
void BindAddAll() { if (Buddies.Count > 0) { Query qMusic = new Query(); qMusic.Columns = new ColumnSet(MusicType.Columns.K, MusicType.Columns.Name, MusicType.Columns.ParentK); if (AddAllShowAllItemsCheck.Checked || ((DsiPage)Page).RelevantMusic.Count == 0) { qMusic.QueryCondition = new Q(true); } else { ArrayList alMusicQ = new ArrayList(); foreach (int mK in ((DsiPage)Page).RelevantMusic) alMusicQ.Add(new Q(MusicType.Columns.K, mK)); qMusic.QueryCondition = new Or((Q[])alMusicQ.ToArray(typeof(Q))); } qMusic.OrderBy = new OrderBy(MusicType.Columns.Order); MusicTypeSet mts = new MusicTypeSet(qMusic); ArrayList musicTypesDone = new ArrayList(); AddAllMusicDrop.Items.Clear(); musicTypesDone.Add(1); AddAllMusicDrop.Items.Add(new ListItem(GetMusicTypeName(1), "1")); foreach (MusicType mt in mts) { if (!musicTypesDone.Contains(mt.ParentK) && mt.ParentK != 0) { musicTypesDone.Add(mt.ParentK); AddAllMusicDrop.Items.Add(new ListItem(GetMusicTypeName(mt.ParentK), mt.ParentK.ToString())); } if (!musicTypesDone.Contains(mt.K)) { musicTypesDone.Add(mt.K); AddAllMusicDrop.Items.Add(new ListItem((mt.ParentK == 1 ? "" : " - ") + mt.Name.ToLower(), mt.K.ToString())); } } Query qPlace = new Query(); qPlace.Columns = new ColumnSet(Place.Columns.Name, Place.Columns.K); if (AddAllShowAllItemsCheck.Checked || ((DsiPage)Page).RelevantPlaces.Count == 0) { qPlace.QueryCondition = Country.PlaceFilterQ; } else { ArrayList alPlaceQ = new ArrayList(); foreach (int pK in ((DsiPage)Page).RelevantPlaces) alPlaceQ.Add(new Q(Place.Columns.K, pK)); qPlace.QueryCondition = new Or((Q[])alPlaceQ.ToArray(typeof(Q))); } qPlace.OrderBy = new OrderBy(Place.Columns.Name); PlaceSet ps = new PlaceSet(qPlace); AddAllPlaceDrop.Items.Clear(); AddAllPlaceDrop.Items.Add(new ListItem("any town", "0")); foreach (Place p in ps) { AddAllPlaceDrop.Items.Add(new ListItem(p.Name, p.K.ToString())); } } }
public bool SavePlaceTargetting(Event e) { Query qPlace = new Query(); qPlace.TopRecords = 10; qPlace.QueryCondition = new Q(Place.Columns.Enabled, true); qPlace.OrderBy = e.Venue.Place.NearestPlacesOrderBy; PlaceSet ps = new PlaceSet(qPlace); return SavePlaceTargetting(ps.ToList().ConvertAll(p => p.K)); }
protected void Page_Load(object sender, EventArgs e) { if (Usr.Current != null) { #region Home country { if (Country.Current != null) { HomeCountryLink.HRef = Country.Current.Url(); HomeCountryLink.InnerHtml = Country.Current.FriendlyName; HomeCountryLabel.Text = Country.Current.FriendlyName; } } #endregion #region Favourite groups { Query q = new Query(); q.TableElement = new Join( new TableElement(TablesEnum.Group), new TableElement(TablesEnum.GroupUsr), QueryJoinType.Inner, new And( new Q(Group.Columns.K, GroupUsr.Columns.GroupK, true), new Q(GroupUsr.Columns.Favourite, true), new Q(GroupUsr.Columns.UsrK, Usr.Current.K), new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Member) ) ); q.Columns = new ColumnSet(Group.Columns.UrlName, Group.Columns.Name); q.OrderBy = new OrderBy(Group.Columns.Name); GroupSet gs = new GroupSet(q); if (gs.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (Group g in gs) { sb.Append(string.Format("{0}<a href=\"{1}\">{2}</a>", sb.Length == 0 ? "" : ", ", g.Url(), g.Name)); } FavouriteGroupsPlaceholder.Controls.Add(new LiteralControl(sb.ToString())); FavouriteGroupsHolder.Visible = true; NoFavouriteGroupsHolder.Visible = false; } else { FavouriteGroupsHolder.Visible = false; NoFavouriteGroupsHolder.Visible = true; } } #endregion #region Places I visit { Query q = new Query(); q.TableElement = new Join( new TableElement(TablesEnum.Place), new TableElement(TablesEnum.UsrPlaceVisit), QueryJoinType.Inner, new And( new Q(Place.Columns.K, UsrPlaceVisit.Columns.PlaceK, true), new Q(UsrPlaceVisit.Columns.UsrK, Usr.Current.K) ) ); q.Columns = new ColumnSet(Place.Columns.UrlName, Place.Columns.Name, Place.Columns.RegionAbbreviation, Place.Columns.UrlFragment); q.OrderBy = new OrderBy(Place.Columns.Name); PlaceSet ps = new PlaceSet(q); if (ps.Count > 0) { StringBuilder sb = new StringBuilder(); foreach (Place p in ps) { sb.Append(string.Format("{0}<a href=\"{1}\">{2}</a>", sb.Length == 0 ? "" : ", ", p.Url(), p.NamePlain)); } PlacesPlaceholder.Controls.Add(new LiteralControl(sb.ToString())); } else { PlacesHolder.Visible = false; } } #endregion #region Calendars { MyCalendarLink.HRef = "/pages/mycalendar#Day" + DateTime.Now.ToString("yyyyMMdd"); BuddyCalendarLink.HRef = "/pages/mycalendar/type-buddy#Day" + DateTime.Now.ToString("yyyyMMdd"); } #endregion #region My comments { MyCommentsLink.HRef = Usr.Current.UrlApp("chat"); } #endregion #region My tickets { MyTicketsLink.HRef = Usr.Current.UrlApp("mytickets"); } #endregion #region Online buddies { Query q = new Query(); q.TableElement = Usr.BuddyJoin; q.QueryCondition = new And( new Q(Buddy.Columns.UsrK, Usr.Current.K), Usr.LoggedIn30MinIncludeNonEmailVerifiedQ); q.OrderBy = new OrderBy(Usr.Columns.NickName); UsrSet us = new UsrSet(q); StringBuilder sb = new StringBuilder(); foreach (Usr u in us) { sb.Append(sb.Length == 0 ? "" : ", "); u.LinkAppend(sb, false); } OnlineBuddiesPlaceholder.Controls.Add(new LiteralControl(sb.ToString())); } { Query q = new Query(); q.QueryCondition = Usr.LoggedIn30MinIncludeNonEmailVerifiedQ; q.CacheDuration = TimeSpan.FromMinutes(15); q.ReturnCountOnly = true; UsrSet us = new UsrSet(q); NumberOnlineLabel.Text = us.Count.ToString("#,##0"); } #endregion #region Favourite photos //{ // Query q = new Query(); // q.TableElement = Photo.UsrFavouritesJoin; // q.OrderBy = new OrderBy(UsrPhotoFavourite.Columns.DateTimeAdded, OrderBy.OrderDirection.Descending); // q.TopRecords = 7; // q.QueryCondition = new Q(UsrPhotoFavourite.Columns.UsrK, Usr.Current.K); // PhotoSet ps = new PhotoSet(q); // StringBuilder sb = new StringBuilder(); // foreach (Photo p in ps) // { // sb.Append(string.Format("<a href=\"{0}\"><img src=\"{1}\" border=\"0\" width=\"50\" height=\"50\" class=\"BorderBlack All\" /></a> ", p.Url(), p.IconPath)); // } // FavouritePhotosPlaceholder.Controls.Add(new LiteralControl(sb.ToString())); // FavouritePhotosLink.HRef = Usr.Current.UrlApp("favouritephotos"); //} #endregion } }
void BindPlacesList(string order) { OrderBy o = new OrderBy(Bobs.Place.Columns.Name, OrderBy.OrderDirection.Ascending); if (order.Equals("Size")) o = new OrderBy(Bobs.Place.Columns.Population, OrderBy.OrderDirection.Descending); else if (order.Equals("Latitude")) o = new OrderBy(Bobs.Place.Columns.LatitudeDegreesNorth, OrderBy.OrderDirection.Descending); else if (order.Equals("Longitude")) o = new OrderBy(Bobs.Place.Columns.LongitudeDegreesWest, OrderBy.OrderDirection.Descending); else if (order.Equals("Region")) o = Bobs.Region.RegionOrder; else if (order.Equals("Event")) o = new OrderBy(Bobs.Place.Columns.TotalEvents, OrderBy.OrderDirection.Descending); NoPlaceSelectedFlagImg.Src = CurrentCountry.FlagUrl(); PageHeadingNoPlace.InnerText = PageHeadingNoPlace.InnerText.Replace("???", CurrentCountry.FriendlyName); ContainerPage.SetPageTitle("Places in " + CurrentCountry.FriendlyName); NoPlaceSelectedHomeCountryPanel.Visible = (!ContainerPage.Url.HasCountryObjectFilter); NoPlaceSelectedCountryPanel.Visible = (ContainerPage.Url.HasCountryObjectFilter); NoPlaceSelectedFlagAnchor.HRef = CurrentCountry.Url(); if (ContainerPage.Url.HasCountryObjectFilter) { NoPlaceSelectedCountryLink.InnerText = CurrentCountry.FriendlyName; NoPlaceSelectedCountryLink.HRef = CurrentCountry.Url(); } PlaceSet ts = new PlaceSet( new Query( new And( new Q(Place.Columns.Enabled, true), new Q(Place.Columns.CountryK, CurrentCountry.K) ), o ) ); PlacesDataList.DataSource = ts; PlacesDataList.DataBind(); // PlaceSet tsVisit = Usr.Current.PlacesVisit; // foreach (Place t in tsVisit) // { // Cob c = this.CurrentCob; // HtmlAnchor a = new HtmlAnchor(); // a.HRef=t.Url(); // a.InnerText=t.Name; // } }