public void ManageNameSave(object o, System.EventArgs e) { if (!Usr.Current.CanEdit(CurrentBrand)) throw new DsiUserFriendlyException("You can't edit this brand!"); string newName = Cambro.Web.Helpers.StripHtml(ManageNameTextBox.Text.Trim()); //is name duplicate? BrandSet bs = new BrandSet(new Query(new Q(Brand.Columns.Name, newName))); if (bs.Count > 0) { RenameError.Visible = true; } else { CurrentBrand.Name = newName; if (!Usr.Current.IsSuper) CurrentBrand.IsEdited = true; CurrentBrand.Update(); CurrentBrand.CreateUniqueUrlName(true); CurrentBrand.Group.Name = CurrentBrand.Name; CurrentBrand.Group.UrlName = "parties/" + CurrentBrand.UrlName; CurrentBrand.Group.Update(); RedirectDone(); } }
public void PanelNameNext(object o, System.EventArgs e) { if (Page.IsValid) { Guid DuplicateGuid = (Guid)ViewState["BrandDuplicateGuid"]; BrandSet bs = new BrandSet(new Query(new Q(Brand.Columns.DuplicateGuid, DuplicateGuid))); if (bs.Count > 0) Response.Redirect("/popup/newbrand/k-" + bs[0].K.ToString()); else { Brand b = new Brand(); b.DateTimeCreated = DateTime.Now; b.Name = Cambro.Web.Helpers.StripHtml(NameTextBox.Text.Trim()); b.IsNew = true; b.OwnerUsrK = Usr.Current.K; b.IsEdited = false; b.DuplicateGuid = DuplicateGuid; b.Update(); b.CreateUniqueUrlName(false); //create a new group Group g = new Group(); g.Name = b.Name; g.ThemeK = 1; g.Description = b.Name + " regulars group for discussing " + b.Name + " parties"; g.PostingRules = "Discussions about " + b.Name + " parties only. Other topics may be deleted by group moderators."; g.DateTimeCreated = DateTime.Now; g.PrivateGroupPage = false; g.PrivateChat = false; g.PrivateMemberList = false; g.Restriction = Bobs.Group.RestrictionEnum.None; g.CountryK = 0; g.PlaceK = 0; g.MusicTypeK = 0; g.BrandK = b.K; g.UrlName = "parties/" + b.UrlName; g.EmailOnAllThreads = false; g.DuplicateGuid = Guid.NewGuid(); g.Update(); b.GroupK = g.K; b.Update(); Response.Redirect("/popup/newbrand/k-" + b.K.ToString()); } } }
private void SetupBrandsDropDownList() { if (CurrentTicketRun.Event != null) { this.BrandsRow.Visible = false;// CurrentTicketRun.Event.Brands.Count > 1; if (CurrentTicketRun.Event.Brands.Count > 0) { // Admins can assign any brand linked to the event BrandSet promoterEventBrands = CurrentTicketRun.Event.Brands; if (!Usr.Current.IsAdmin) { // Get all brands linked to the event and promoter Query q = new Query(); q.NoLock = true; q.QueryCondition = new And(new Q(EventBrand.Columns.EventK, CurrentTicketRun.EventK), new Q(Brand.Columns.PromoterK, CurrentPromoter.K)); q.OrderBy = new OrderBy(Group.Columns.TotalMembers, OrderBy.OrderDirection.Descending); q.TableElement = new Join(new Join(Brand.Columns.K, EventBrand.Columns.BrandK), Group.Columns.K, Brand.Columns.GroupK); promoterEventBrands = new BrandSet(q); } this.BrandDropDownList.DataSource = promoterEventBrands; this.BrandDropDownList.DataTextField = "Name"; this.BrandDropDownList.DataValueField = "K"; this.BrandDropDownList.DataBind(); } } }
public void CreateUniqueUrlName(bool updateGroup) { string urlName = UrlInfo.GetUrlName(this.Name); if (urlName.Length==0) urlName = "brand-"+this.K.ToString(); if (UrlInfo.IsReservedString(urlName)) urlName = "brand-"+urlName; BrandSet bs = null; int namePost = 0; string newName = urlName; while (bs==null || bs.Count>0) { if (namePost>0) newName = urlName+"-"+namePost.ToString(); Query q = new Query(); q.NoLock=true; q.ReturnCountOnly=true; q.QueryCondition=new And( new Q(Brand.Columns.UrlName,newName), new Q(Brand.Columns.K,QueryOperator.NotEqualTo,this.K) ); bs = new BrandSet(q); namePost++; } if (!this.UrlName.Equals(newName)) { this.UrlName = newName; this.Update(); Utilities.UpdateChildUrlFragmentsJob job = new Utilities.UpdateChildUrlFragmentsJob(Model.Entities.ObjectType.Brand, this.K, true); job.ExecuteAsynchronously(); if (updateGroup) { this.Group.UrlName="parties/"+newName; this.Group.Update(); Utilities.UpdateChildUrlFragmentsJob job1 = new Utilities.UpdateChildUrlFragmentsJob(Model.Entities.ObjectType.Group, this.GroupK, true); job1.ExecuteAsynchronously(); } } }
public void DeleteAll(Transaction transaction) { if (!this.Bob.DbRecordExists) return; Query qUsrEventGuestlist = new Query(); qUsrEventGuestlist.QueryCondition = new Q(UsrEventGuestlist.Columns.UsrK, this.K); UsrEventGuestlistSet uegs = new UsrEventGuestlistSet(qUsrEventGuestlist); foreach (UsrEventGuestlist ueg in uegs) { ueg.Delete(transaction); ueg.Event.UpdateGuestlistCount(transaction); } //Promoters Query PromoterQ = new Query(); PromoterQ.TableElement = Promoter.UsrJoin; PromoterQ.QueryCondition = new Q(Usr.Columns.K, this.K); PromoterSet promoters = new PromoterSet(PromoterQ); Delete PromoterUsrDelete = new Delete( TablesEnum.PromoterUsr, new Q(PromoterUsr.Columns.UsrK, this.K) ); PromoterUsrDelete.CommandTimeout = 3600; PromoterUsrDelete.Run(transaction); foreach (Promoter p in promoters) { p.AdminUsrs = null; if (p.AdminUsrs.Count == 0) { p.DeleteAll(transaction); } else if (p.PrimaryUsrK == this.K) { p.PrimaryUsrK = p.AdminUsrs[0].K; p.Update(transaction); } } //UsrPlaceVisit Delete UsrPlaceVisitDelete = new Delete( TablesEnum.UsrPlaceVisit, new Q(UsrPlaceVisit.Columns.UsrK, this.K) ); UsrPlaceVisitDelete.CommandTimeout = 3600; UsrPlaceVisitDelete.Run(transaction); //UsrEventAttended Delete UsrEventAttendedDelete = new Delete( TablesEnum.UsrEventAttended, new Q(UsrEventAttended.Columns.UsrK, this.K) ); UsrEventAttendedDelete.CommandTimeout = 3600; UsrEventAttendedDelete.Run(transaction); //UsrPhotoFavourite Delete UsrPhotoFavouriteDelete = new Delete( TablesEnum.UsrPhotoFavourite, new Q(UsrPhotoFavourite.Columns.UsrK, this.K) ); UsrPhotoFavouriteDelete.CommandTimeout = 3600; UsrPhotoFavouriteDelete.Run(transaction); //UsrPhotoMe PhotoSet psMe = this.PhotosMe(new ColumnSet(Photo.Columns.K, Photo.Columns.EventK, Photo.Columns.FirstUsrK, Photo.Columns.UsrCount), 0); foreach (Photo p in psMe) { this.PhotoMe(p, false, transaction); } //UsrMusicTypeFavourite Delete UsrMusicTypeFavouriteDelete = new Delete( TablesEnum.UsrMusicTypeFavourite, new Q(UsrMusicTypeFavourite.Columns.UsrK, this.K) ); UsrMusicTypeFavouriteDelete.CommandTimeout = 3600; UsrMusicTypeFavouriteDelete.Run(transaction); //Buddy / Buddy reverse; BuddySet bs = new BuddySet(new Query(new Or(new Q(Buddy.Columns.UsrK, this.K), new Q(Buddy.Columns.BuddyUsrK, this.K)))); foreach (Buddy b in bs) b.DeleteAll(transaction); //ChatMessageFrom // Delete ChatMessageFromDelete = new Delete( // TablesEnum.ChatMessage, // new Q(ChatMessage.Columns.FromUsrK,this.K) // ); // ChatMessageFromDelete.Run(transaction); //ChatMessageTo // Delete ChatMessageToDelete = new Delete( // TablesEnum.ChatMessage, // new Q(ChatMessage.Columns.ToUsrK, this.K) // ); // ChatMessageToDelete.Run(transaction); //UsrDate Delete UsrDateDelete = new Delete( TablesEnum.UsrDate, new Or(new Q(UsrDate.Columns.UsrK, this.K), new Q(UsrDate.Columns.DateUsrK, this.K)) ); UsrDateDelete.CommandTimeout = 3600; UsrDateDelete.Run(transaction); //Owners - Event EventSet esOwner = new EventSet(new Query(new Q(Event.Columns.OwnerUsrK, this.K))); foreach (Event e in esOwner) { e.OwnerUsrK = 8; e.Update(transaction); } BrandSet bsOwner = new BrandSet(new Query(new Q(Brand.Columns.OwnerUsrK, this.K))); foreach (Brand b in bsOwner) { b.OwnerUsrK = 8; b.Update(transaction); } //Owners - Venue VenueSet vsOwner = new VenueSet(new Query(new Q(Venue.Columns.OwnerUsrK, this.K))); foreach (Venue v in vsOwner) { v.OwnerUsrK = 8; v.Update(transaction); } //Remove EnabledByUsrK in Photos that this usr has enabled PhotoSet pEnableds = new PhotoSet(new Query(new Q(Photo.Columns.EnabledByUsrK, this.K))); foreach (Photo p in pEnableds) { p.EnabledByUsrK = 0; p.Update(transaction); } //ThreadUsr Delete ThreadUsrDelete = new Delete( TablesEnum.ThreadUsr, new Or(new Q(ThreadUsr.Columns.UsrK, this.K), new Q(ThreadUsr.Columns.InvitingUsrK, this.K)) ); ThreadUsrDelete.CommandTimeout = 3600; ThreadUsrDelete.Run(transaction); //CommentAlert Delete CommentAlertDelete = new Delete( TablesEnum.CommentAlert, new Q(CommentAlert.Columns.UsrK, this.K) ); CommentAlertDelete.CommandTimeout = 3600; CommentAlertDelete.Run(transaction); //GroupUsr Delete GroupUsrDelete = new Delete( TablesEnum.GroupUsr, new Q(GroupUsr.Columns.UsrK, this.K) ); GroupUsrDelete.CommandTimeout = 3600; GroupUsrDelete.Run(transaction); //Threads? ThreadSet ts = new ThreadSet(new Query(new Q(Thread.Columns.UsrK, this.K))); foreach (Thread t in ts) t.DeleteAll(transaction); Bobs.Update uLastPostUsrK = new Bobs.Update(); uLastPostUsrK.Changes.Add(new Assign(Thread.Columns.LastPostUsrK, 0)); uLastPostUsrK.Table = TablesEnum.Thread; uLastPostUsrK.Where = new Q(Thread.Columns.LastPostUsrK, this.K); uLastPostUsrK.CommandTimeout = 3600; uLastPostUsrK.Run(transaction); Bobs.Update uFirstParticipantUsrK = new Bobs.Update(); uFirstParticipantUsrK.Changes.Add(new Assign(Thread.Columns.FirstParticipantUsrK, 0)); uFirstParticipantUsrK.Table = TablesEnum.Thread; uFirstParticipantUsrK.Where = new Q(Thread.Columns.FirstParticipantUsrK, this.K); uFirstParticipantUsrK.CommandTimeout = 3600; uFirstParticipantUsrK.Run(); //Comments? CommentSet cs = new CommentSet(new Query(new Q(Comment.Columns.UsrK, this.K))); foreach (Comment c in cs) c.DeleteAll(transaction); //PhotoReview ??? PhotoReviewSet prs = new PhotoReviewSet(new Query(new Q(PhotoReview.Columns.UsrK, this.K))); foreach (PhotoReview pr in prs) { pr.Delete(transaction); pr.Photo.UpdateStats(transaction); } //Galleries GallerySet gs = new GallerySet(new Query(new Q(Gallery.Columns.OwnerUsrK, this.K))); foreach (Gallery g in gs) g.DeleteAll(transaction); //Photos PhotoSet ps = new PhotoSet(new Query(new Q(Photo.Columns.UsrK, this.K))); foreach (Photo p in ps) p.DeleteAll(transaction); //Aticles ArticleSet ars = new ArticleSet(new Query(new Q(Article.Columns.OwnerUsrK, this.K))); foreach (Article a in ars) a.DeleteAll(transaction); int k = this.K; //Usr-AddedByUsrK UsrSet usrsAddedByUsr = new UsrSet(new Query(new Q(Usr.Columns.AddedByUsrK, this.K))); foreach (Usr u in usrsAddedByUsr) { u.AddedByUsrK = 0; u.Update(transaction); } Guid oldPic = this.Pic; //Usr this.Delete(transaction); if (oldPic != Guid.Empty) Storage.RemoveFromStore(Storage.Stores.Pix, oldPic, "jpg"); }
public void StripAll() { Query qUsrEventGuestlist = new Query(); qUsrEventGuestlist.QueryCondition = new Q(UsrEventGuestlist.Columns.UsrK, this.K); UsrEventGuestlistSet uegs = new UsrEventGuestlistSet(qUsrEventGuestlist); foreach (UsrEventGuestlist ueg in uegs) { ueg.Delete(); ueg.Update(); ueg.Event.UpdateGuestlistCount(); } //UsrPlaceVisit Delete UsrPlaceVisitDelete = new Delete( TablesEnum.UsrPlaceVisit, new Q(UsrPlaceVisit.Columns.UsrK, this.K) ); UsrPlaceVisitDelete.Run(); //UsrEventAttended Delete UsrEventAttendedDelete = new Delete( TablesEnum.UsrEventAttended, new Q(UsrEventAttended.Columns.UsrK, this.K) ); UsrEventAttendedDelete.Run(); //UsrPhotoFavourite Delete UsrPhotoFavouriteDelete = new Delete( TablesEnum.UsrPhotoFavourite, new Q(UsrPhotoFavourite.Columns.UsrK, this.K) ); UsrPhotoFavouriteDelete.Run(); //UsrPhotoMe Delete UsrPhotoMeDelete = new Delete( TablesEnum.UsrPhotoMe, new Q(UsrPhotoMe.Columns.UsrK, this.K) ); UsrPhotoMeDelete.Run(); //UsrMusicTypeFavourite Delete UsrMusicTypeFavouriteDelete = new Delete( TablesEnum.UsrMusicTypeFavourite, new Q(UsrMusicTypeFavourite.Columns.UsrK, this.K) ); UsrMusicTypeFavouriteDelete.Run(); //Buddy / Buddy reverse; BuddySet bs = new BuddySet(new Query(new Or(new Q(Buddy.Columns.UsrK, this.K), new Q(Buddy.Columns.BuddyUsrK, this.K)))); foreach (Buddy b in bs) b.DeleteAll(null); //UsrDate Delete UsrDateDelete = new Delete( TablesEnum.UsrDate, new Or(new Q(UsrDate.Columns.UsrK, this.K), new Q(UsrDate.Columns.DateUsrK, this.K)) ); UsrDateDelete.Run(); //Owners - Event EventSet esOwner = new EventSet(new Query(new Q(Event.Columns.OwnerUsrK, this.K))); foreach (Event e in esOwner) { e.DeleteAllUsr(Usr.Current); //e.OwnerUsrK=4; //e.Update(); } BrandSet bsOwner = new BrandSet(new Query(new Q(Brand.Columns.OwnerUsrK, this.K))); foreach (Brand b in bsOwner) { b.DeleteAll(null); //b.OwnerUsrK=4; //b.Update(); } //Owners - Venue VenueSet vsOwner = new VenueSet(new Query(new Q(Venue.Columns.OwnerUsrK, this.K))); foreach (Venue v in vsOwner) { v.DeleteAllUsr(Usr.Current); //v.OwnerUsrK=4; //v.Update(); } //PhotoReview ??? PhotoReviewSet prs = new PhotoReviewSet(new Query(new Q(PhotoReview.Columns.UsrK, this.K))); foreach (PhotoReview pr in prs) { pr.Delete(); pr.Update(); pr.Photo.UpdateStats(null); } //Galleries GallerySet gs = new GallerySet(new Query(new Q(Gallery.Columns.OwnerUsrK, this.K))); foreach (Gallery g in gs) g.DeleteAll(null); //Photos PhotoSet ps = new PhotoSet(new Query(new Q(Photo.Columns.UsrK, this.K))); foreach (Photo p in ps) p.DeleteAll(null); //Aticles ArticleSet ars = new ArticleSet(new Query(new Q(Article.Columns.OwnerUsrK, this.K))); foreach (Article a in ars) a.DeleteAll(null); Guid oldPic = Pic; this.PicPhotoK = 0; this.PicState = ""; this.Pic = Guid.Empty; this.PicOriginal = Guid.Empty; //this.NickName=Usr.GetCompliantNickName("user-"+this.K.ToString()); this.PersonalStatement = ""; this.IsSingle = false; this.EnhancedSecurity = true; this.IsSpotter = false; Random r = new Random(); this.LoginString = Cambro.Misc.Utility.GenRandomText(6, r); this.SetPassword(Cambro.Misc.Utility.GenRandomText(10, r), false); int k = this.K; //Usr this.Update(); if (oldPic != Guid.Empty) Storage.RemoveFromStore(Storage.Stores.Pix, oldPic, "jpg"); }
protected void PromoterSelected(object o, EventArgs e) { DisplayDomainsPromoterK = PromoterK; Brands = new BrandSet(new Query(new Q(Brand.Columns.PromoterK, PromoterK))); Venues = new VenueSet(new Query(new Q(Venue.Columns.PromoterK, PromoterK))); SetStage(Stage.SetNewDomainDetails); }
public void NameVal(object o, ServerValidateEventArgs e) { string name = Cambro.Web.Helpers.StripHtml(NameTextBox.Text.Trim()); NameTextBox.Text = name; BrandSet bs = new BrandSet(new Query(new Q(Brand.Columns.Name, name))); e.IsValid = bs.Count == 0; }
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(); }
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; } } }
void PanelPicBindDefaultPics() { Query q = new Query(); q.NoLock = true; q.QueryCondition = new And(new Q(Event.Columns.K, CurrentEvent.K), new Or(new Q(Brand.Columns.Pic, QueryOperator.IsNotNull, null), new Q(Brand.Columns.Pic, QueryOperator.NotEqualTo, Guid.Empty))); q.OrderBy = new OrderBy(Brand.Columns.Name); q.TableElement = Brand.EventJoin; BrandSet PicBrands = new BrandSet(q); if (PicBrands.Count > 0) { PicUploadDefaultDataList.DataSource = PicBrands; PicUploadDefaultDataList.DataBind(); PicUploadDefaultPanel.Visible = true; } else PicUploadDefaultPanel.Visible = false; }
public void ForumAddThread_Load(object o, System.EventArgs eventargs) { #region Init AddComment/AddThread post boxes for users not logged in etc. //if (Usr.Current == null) //{ // AddThreadNotGroupMemberPanel.Style["display"] = "none"; // AddThreadLoginPanel.Style["display"] = ""; // AddThreadEmailVerifyPanel.Style["display"] = "none"; // CommentHtml.Enabled = false; // AddThreadSubjectTextBox.Enabled = false; // AddThreadSubjectTextBox.Text = "You can't post until you are logged in!"; // CommentHtml.Text = "You can't post until you are logged in!"; // AddThreadAdvancedCheckBox.Style["display"] = "none"; // return; //} //else if (!Usr.Current.IsEmailVerified) //{ // AddThreadNotGroupMemberPanel.Style["display"] = "none"; // AddThreadLoginPanel.Style["display"] = "none"; // AddThreadEmailVerifyPanel.Style["display"] = ""; // CommentHtml.Enabled = false; // AddThreadSubjectTextBox.Enabled = false; // AddThreadSubjectTextBox.Text = "You can't post until your email address has been verified!"; // CommentHtml.Text = "You can't post until your email address has been verified!"; // AddThreadAdvancedCheckBox.Style["display"] = "none"; // return; //} //else if ( ThreadParentType.Equals(Model.Entities.ObjectType.Group) && (Usr.Current == null || !CurrentForumCheckPermissionRead || !CurrentForumCheckPermissionPost) ) { AddThreadNotGroupMemberPanel.Style["display"] = ""; AddThreadLoginPanel.Style["display"] = "none"; AddThreadEmailVerifyPanel.Style["display"] = "none"; CommentHtml.Enabled = false; AddThreadSubjectTextBox.Enabled = false; AddThreadSubjectTextBox.Text = "You can't post until you're a member of this group!"; CommentHtml.Text = "You can't post until you're a member of this group!"; AddThreadAdvancedCheckBox.Style["display"] = "none"; AddThreadNotGroupMemberGroupPageAnchor.HRef = CurrentGroup.UrlApp("join", "type", ((int)ThreadParentType).ToString(), "k", ObjectK.ToString()); return; } #endregion AddThreadNotGroupMemberPanel.Style["display"] = "none"; AddThreadLoginPanel.Style["display"] = "none"; AddThreadEmailVerifyPanel.Style["display"] = "none"; CommentHtml.Enabled = true; AddThreadSubjectTextBox.Enabled = true; if (Usr.Current == null) AddThreadAdvancedCheckBox.Style["display"] = "none"; if (Usr.Current != null) { #region Send to group drop-down if (!Page.IsPostBack) { Query q = new Query(); if (ContainerPage.Url.HasPromoterObjectFilter) { #region Promoter options q.TableElement = new Join( new TableElement(TablesEnum.Group), new TableElement(TablesEnum.Brand), QueryJoinType.Inner, new And( new Q(Group.Columns.BrandK, Brand.Columns.K, true), new Q(Brand.Columns.PromoterK, ContainerPage.Url.ObjectFilterPromoter.K), new Q(Brand.Columns.PromoterStatus, Brand.PromoterStatusEnum.Confirmed) ) ); if (ThreadParentType.Equals(Model.Entities.ObjectType.Event)) { //Find a brand that is promoted by this promoter, and attached to this event... Query qEv = new Query(); qEv.TableElement = new Join( new TableElement(TablesEnum.Brand), new TableElement(TablesEnum.EventBrand), QueryJoinType.Inner, new And( new Q(Brand.Columns.K, EventBrand.Columns.BrandK, true), new Q(EventBrand.Columns.EventK, ObjectK), new Q(Brand.Columns.PromoterK, ContainerPage.Url.ObjectFilterPromoter.K), new Q(Brand.Columns.PromoterStatus, Brand.PromoterStatusEnum.Confirmed) ) ); qEv.ReturnCountOnly = true; BrandSet bs = new BrandSet(qEv); if (bs.Count > 0) { q.TableElement = new Join( q.TableElement, new TableElement(TablesEnum.EventBrand), QueryJoinType.Inner, new And( new Q(Brand.Columns.K, EventBrand.Columns.BrandK, true), new Q(EventBrand.Columns.EventK, ObjectK) ) ); } } q.OrderBy = new OrderBy(Group.Columns.TotalMembers, OrderBy.OrderDirection.Descending); #endregion } else { #region User options q.QueryCondition = new And( new Q(GroupUsr.Columns.UsrK, Usr.Current.K), new Q(GroupUsr.Columns.Status, GroupUsr.StatusEnum.Member) ); q.OrderBy = new OrderBy( new OrderBy(GroupUsr.Columns.Favourite, OrderBy.OrderDirection.Descending), new OrderBy(Group.Columns.Name)); q.TableElement = Group.UsrMemberJoin; #endregion } q.Columns = new ColumnSet( Group.Columns.Name, Group.Columns.K, Group.Columns.BrandK ); GroupSet gs = new GroupSet(q); if (gs.Count > 0) { AddThreadGroupDropDown.DataTextField = "FriendlyName"; AddThreadGroupDropDown.DataValueField = "K"; AddThreadGroupDropDown.DataSource = gs; AddThreadGroupDropDown.DataBind(); } else { AddThreadGroupRadioButtonSpan.Style["display"] = "none"; AddThreadGroupPrivateCheckBoxSpan.Style["display"] = "none"; } } #endregion if (ThreadParentType.Equals(Model.Entities.ObjectType.Group)) { #region Add thread advanced tick-boxes AddThreadAdvancedPanel.Style["display"] = AddThreadAdvancedCheckBox.Checked ? null : "none"; // AddThreadAdvancedCheckBox.Attributes["onclick"] = "document.getElementById('" + AddThreadAdvancedPanel.ClientID + "').style.display=this.checked?'':'none';"; Cambro.Web.Helpers.ChangeState(AddThreadPublicRadioButtonSpan, AddThreadPublicRadioButton, false); Cambro.Web.Helpers.ChangeState(AddThreadPrivateRadioButtonSpan, AddThreadPrivateRadioButton, false); AddThreadPublicRadioButton.Checked = false; AddThreadGroupRadioButton.Checked = true; if (AddThreadGroupDropDown.Items.FindByValue(ObjectK.ToString()) != null) AddThreadGroupDropDown.SelectedValue = ObjectK.ToString(); AddThreadGroupDropDown.Enabled = false; AddThreadEventCheckBox.Attributes["onclick"] = "EventDropDown.disabled=!this.checked;"; AddThreadEventDropDown.Enabled = AddThreadEventCheckBox.Checked; AddThreadEventDropDown.Attributes["onchange"] = "if(this[this.selectedIndex].value=='0'){this.selectedIndex=this.selectedIndex-1;}"; Cambro.Web.Helpers.ChangeState(AddThreadSealedCheckBoxSpan, AddThreadSealedCheckBox, false); AddThreadInvitePanel.Style["display"] = AddThreadInviteCheckBox.Checked ? null : "none"; AddThreadInviteCheckBox.Attributes["onclick"] = "InvitePanel.style.display=this.checked?'':'none';"; #endregion #region Event drop-down if (!Page.IsPostBack) { #region Find 10 future events Query qFuture = new Query(); qFuture.Columns = new ColumnSet( Event.FriendlyLinkColumns, Event.Columns.TotalComments); qFuture.TableElement = Event.JoinTo(Event.CountryAllJoin, CurrentGroup); qFuture.TopRecords = 10; qFuture.QueryCondition = Event.FutureEventsQueryCondition; qFuture.OrderBy = Event.FutureEventOrder; EventSet esFuture = new EventSet(qFuture); #endregion #region Find 10 past events Query qPast = new Query(); qPast.Columns = new ColumnSet( Event.FriendlyLinkColumns, Event.Columns.TotalComments); qPast.TableElement = Event.JoinTo(Event.CountryAllJoin, CurrentGroup); qPast.TopRecords = 10; qPast.QueryCondition = Event.PreviousEventsQueryCondition; qPast.OrderBy = Event.PastEventOrder; EventSet esPast = new EventSet(qPast); #endregion #region Add selected events if (esFuture.Count > 0 || esPast.Count > 0) { foreach (Event e in esFuture) { AddThreadEventDropDown.Items.Insert(0, new ListItem(e.FriendlyName, e.K.ToString())); } if (esFuture.Count > 0 && esPast.Count > 0) { AddThreadEventDropDown.Items.Add(new ListItem(" ", "0")); } foreach (Event e in esPast) { AddThreadEventDropDown.Items.Add(new ListItem(e.FriendlyName, e.K.ToString())); } } else { AddThreadEventCheckBoxSpan.Style["display"] = "none"; } #endregion } #endregion } else { #region Add thread advanced tick-boxes AddThreadAdvancedPanel.Style["display"] = AddThreadAdvancedCheckBox.Checked ? null : "none"; //AddThreadAdvancedCheckBox.Attributes["onclick"] = "document.getElementById('" + AddThreadAdvancedPanel.ClientID + "').style.display=this.checked?'':'none';"; AddThreadPublicRadioButton.Attributes["onclick"] = "PaintAddThread();"; AddThreadPrivateRadioButton.Attributes["onclick"] = "PaintAddThread();"; AddThreadGroupRadioButton.Attributes["onclick"] = "PaintAddThread();"; AddThreadGroupDropDown.Enabled = AddThreadGroupRadioButton.Checked; Cambro.Web.Helpers.ChangeState(AddThreadGroupPrivateCheckBoxSpan, AddThreadGroupPrivateCheckBox, AddThreadGroupRadioButton.Checked); AddThreadGroupPrivateCheckBox.Attributes["onclick"] = "changedGroupPrivate = false;"; AddThreadEventCheckBoxSpan.Style["display"] = "none"; AddThreadNewsCheckBox.Attributes["onclick"] = "changedNews = false;"; Cambro.Web.Helpers.ChangeState(AddThreadNewsCheckBoxSpan, AddThreadNewsCheckBox, AddThreadGroupRadioButton.Checked); AddThreadSealedCheckBox.Attributes["onclick"] = "changedSealed = false;"; Cambro.Web.Helpers.ChangeState(AddThreadSealedCheckBoxSpan, AddThreadSealedCheckBox, AddThreadPrivateRadioButton.Checked); if (AddThreadPrivateRadioButton.Checked) AddThreadInviteCheckBox.Checked = true; AddThreadInviteCheckBox.Attributes["onclick"] = "changedInvite = false;InvitePanel.style.display=this.checked?'':'none';"; Cambro.Web.Helpers.ChangeState(AddThreadInviteCheckBoxSpan, AddThreadInviteCheckBox, !AddThreadPrivateRadioButton.Checked); AddThreadInvitePanel.Style["display"] = (AddThreadInviteCheckBox.Checked || AddThreadPrivateRadioButton.Checked) ? null : "none"; #endregion } } }