public void SetState() { Query q = new Query(); q.OrderBy = MusicType.OrderBy; MusicTypeSet mts = new MusicTypeSet(q); foreach (MusicType mt in mts) { CheckBox cb = (CheckBox)Cambro.Web.Helpers.SearchControl(Tree, "ItemCb" + mt.K); cb.Checked = false; if (mt.Children.Count > 0) { HtmlGenericControl children = (HtmlGenericControl)Cambro.Web.Helpers.SearchControl(Tree, "Children" + mt.K); children.Style["display"] = null; Label lab = (Label)Cambro.Web.Helpers.SearchControl(Tree, "LabCb" + mt.K); lab.Style["display"] = "none"; } } if (initialMusicTypes != null) { foreach (MusicType mt in initialMusicTypes) { CheckBox cb = (CheckBox)Cambro.Web.Helpers.SearchControl(Tree, "ItemCb" + mt.K); cb.Checked = true; if (mt.Children.Count > 0) { HtmlGenericControl children = (HtmlGenericControl)Cambro.Web.Helpers.SearchControl(Tree, "Children" + mt.K); children.Style["display"] = "none"; Label lab = (Label)Cambro.Web.Helpers.SearchControl(Tree, "LabCb" + mt.K); lab.Style["display"] = null; } } } }
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 List<int> SelectedChildren(MusicTypeSet children) { List<int> tmpArrayList = new List<int>(); foreach (MusicType mt in children) { CheckBox cb = (CheckBox)Cambro.Web.Helpers.SearchControl(Tree, "ItemCb" + mt.K); if (cb.Checked) tmpArrayList.Add(mt.K); else if (mt.Children.Count > 0) tmpArrayList.AddRange(SelectedChildren(mt.Children)); } return tmpArrayList; }
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() }; }
public void Update(object o, System.EventArgs e) { MusicTypeSet mtsFav = Usr.Current.MusicTypesFavourite; Query q = new Query(); q.OrderBy = MusicType.OrderBy; MusicTypeSet mts = new MusicTypeSet(q); List<int> alSel = MusicTypes.SelectedMusicTypes; foreach (MusicType mt in mts) { bool found = false; foreach (MusicType mtFav in mtsFav) { if (mtFav.K == mt.K) { found = true; if (!alSel.Contains(mt.K)) { UsrMusicTypeFavourite u = new UsrMusicTypeFavourite(Usr.Current.K, mt.K); u.Delete(); u.Update(); } break; } } if (!found && alSel.Contains(mt.K)) { UsrMusicTypeFavourite newMtf = new UsrMusicTypeFavourite(); newMtf.UsrK = Usr.Current.K; newMtf.MusicTypeK = mt.K; newMtf.Update(); } } Usr.Current.MusicTypesFavourite = null; MusicTypes.InitialMusicTypes = Usr.Current.MusicTypesFavourite; MusicTypes.SetState(); UpdatedLabel.Visible = true; Usr.Current.UpdateMusicTypesFavouriteCount(true); if (ContainerPage.Url["NextPage"].Equals("UpdateOptions")) Response.Redirect("/pages/updateoptions"); }
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())); } } }
internal static List<Q> MusicTypeSetAsQueryList(MusicTypeSet musicTypeSet, object columnToMatch) { List<Q> qList = new List<Q>(); foreach (MusicType m in Usr.Current.MusicTypesFavourite) { qList.Add(new Q(columnToMatch, m.K)); AddChildren(qList, m); AddParents(qList, m); } return qList; }
internal static List<int> GetChildMusicTypeKs(int parentK) { return Caching.Instances.Main.GetWithLocalCaching("MusicType.GetChildMusicTypeKs(parentK = " + parentK.ToString() + ")", () => { Query query = new Query(); query.Columns = new ColumnSet(MusicType.Columns.K); query.QueryCondition = new Q(MusicType.Columns.ParentK, parentK); MusicTypeSet mts = new MusicTypeSet(query); return mts.ToList().ConvertAll(mt => mt.K); }, Common.Time.Minutes(1), Common.Time.Minutes(15) ); }
public void SetChildVisibility() { Query q = new Query(); q.OrderBy = MusicType.OrderBy; MusicTypeSet mts = new MusicTypeSet(q); foreach (MusicType mt in mts) { CheckBox cb = (CheckBox)Cambro.Web.Helpers.SearchControl(Tree, "ItemCb" + mt.K); if (mt.Children.Count > 0) { HtmlGenericControl children = (HtmlGenericControl)Cambro.Web.Helpers.SearchControl(Tree, "Children" + mt.K); if (cb.Checked) { children.Style["display"] = "none"; } else { children.Style["display"] = null; } } } }
private void PanelMusicType_Load(object sender, System.EventArgs e) { PanelMusicTypeSaveP.Visible = IsEdit; if (!Page.IsPostBack) { Query q = new Query(); q.OrderBy = new OrderBy(MusicType.Columns.Order); q.QueryCondition = new Q(MusicType.Columns.ParentK, 1); MusicTypeSet mts = new MusicTypeSet(q); MusicTypesRadioButtonList.DataTextField = "RadioButtonText"; MusicTypesRadioButtonList.DataValueField = "K"; MusicTypesRadioButtonList.DataSource = mts; MusicTypesRadioButtonList.DataBind(); MusicTypesRadioButtonList.Items.Insert(0, new ListItem("<span style=\"font-size:14px;font-weight:bold;\"> All music</span><p style=\"margin-left:26px;margin-top:0px;margin-bottom:10px;\">e.g. the group is about all music, or several of the music types below</p>", "1")); MusicTypesRadioButtonList.Items.Insert(0, new ListItem("<span style=\"font-size:14px;font-weight:bold;\"> Not about music</span><p style=\"margin-left:26px;margin-top:0px;margin-bottom:10px;\">e.g. the group is not about music</p>", "0")); if (IsEdit) { if (MusicTypesRadioButtonList.Items.FindByValue(CurrentGroup.MusicTypeK.ToString()) != null) MusicTypesRadioButtonList.SelectedValue = CurrentGroup.MusicTypeK.ToString(); } } }
private void Page_Load(object sender, System.EventArgs e) { PlaceName.Text = CurrentPlace.Name; Query q = new Query(); q.NoLock = true; q.QueryCondition = new Q(MusicType.Columns.ParentK, QueryOperator.LessThanOrEqualTo, 1); q.OrderBy = new OrderBy(MusicType.Columns.Order); MusicTypeSet mts = new MusicTypeSet(q); int i = 0; foreach (MusicType mt in mts) { HtmlTableRow row = new HtmlTableRow(); HtmlTableCell cellName = new HtmlTableCell(); cellName.InnerText = mt.Name; row.Cells.Add(cellName); Q MusicQ = null; TableElement MyJoin = null; Q ActivityQ = new Q(true); if (mt.K == 1) { MusicQ = new Q(true); MyJoin = new JoinLeft(Usr.Columns.K, UsrPlaceVisit.Columns.UsrK); } else { ArrayList musicTypesQ = new ArrayList(); ArrayList musicTypesK = new ArrayList(); musicTypesQ.Add(new Q(Usr.Columns.FavouriteMusicTypeK, mt.K)); musicTypesQ.Add(new Q(UsrMusicTypeFavourite.Columns.MusicTypeK, mt.K)); musicTypesK.Add(mt.K); AddMusicTypeQChildren(musicTypesQ, mt, ref musicTypesK); MusicQ = new Or((Q[])musicTypesQ.ToArray(typeof(Q))); MyJoin = new Join( new JoinLeft(Usr.Columns.K, UsrPlaceVisit.Columns.UsrK), new TableElement(TablesEnum.UsrMusicTypeFavourite), QueryJoinType.Left, Usr.Columns.K, UsrMusicTypeFavourite.Columns.UsrK); } Q PlaceQ = new Or( new Q(Usr.Columns.HomePlaceK, CurrentPlace.K), new Q(UsrPlaceVisit.Columns.PlaceK, CurrentPlace.K)); #region All users if (true) { Query q1 = new Query(); q1.Columns = new ColumnSet(Usr.Columns.K); q1.DistinctColumn = Usr.Columns.K; q1.Distinct = true; q1.ReturnCountOnly = true; q1.QueryCondition = new And( Usr.IsNotSkeletonQ, Usr.IsEmailVerifiedQ, ActivityQ, MusicQ, PlaceQ ); q1.TableElement = MyJoin; UsrSet us1 = new UsrSet(q1); HtmlTableCell cell1 = new HtmlTableCell(); cell1.InnerText = us1.Count.ToString(); row.Cells.Add(cell1); } #endregion #region Emails if (true) { Query q1 = new Query(); q1.Columns = new ColumnSet(Usr.Columns.K); q1.DistinctColumn = Usr.Columns.K; q1.Distinct = true; q1.ReturnCountOnly = true; q1.QueryCondition = new And( Usr.IsNotSkeletonQ, Usr.IsEmailVerifiedQ, ActivityQ, MusicQ, PlaceQ, new Q(Usr.Columns.SendSpottedEmails, true) ); q1.TableElement = MyJoin; UsrSet us1 = new UsrSet(q1); HtmlTableCell cell1 = new HtmlTableCell(); cell1.InnerText = us1.Count.ToString(); row.Cells.Add(cell1); } #endregion #region Flyers if (true) { Query q1 = new Query(); q1.Columns = new ColumnSet(Usr.Columns.K); q1.DistinctColumn = Usr.Columns.K; q1.Distinct = true; q1.ReturnCountOnly = true; q1.QueryCondition = new And( Usr.IsNotSkeletonQ, Usr.IsEmailVerifiedQ, ActivityQ, MusicQ, PlaceQ, new Q(Usr.Columns.SendFlyers, true) ); q1.TableElement = MyJoin; UsrSet us1 = new UsrSet(q1); HtmlTableCell cell1 = new HtmlTableCell(); cell1.InnerText = us1.Count.ToString(); row.Cells.Add(cell1); } #endregion #region Invites if (true) { Query q1 = new Query(); q1.Columns = new ColumnSet(Usr.Columns.K); q1.DistinctColumn = Usr.Columns.K; q1.Distinct = true; q1.ReturnCountOnly = true; q1.QueryCondition = new And( Usr.IsNotSkeletonQ, Usr.IsEmailVerifiedQ, ActivityQ, MusicQ, PlaceQ, new Q(Usr.Columns.SendInvites, true) ); q1.TableElement = MyJoin; UsrSet us1 = new UsrSet(q1); HtmlTableCell cell1 = new HtmlTableCell(); cell1.InnerText = us1.Count.ToString(); row.Cells.Add(cell1); } #endregion #region Texts if (true) { Query q1 = new Query(); q1.Columns = new ColumnSet(Usr.Columns.K); q1.DistinctColumn = Usr.Columns.K; q1.Distinct = true; q1.ReturnCountOnly = true; q1.QueryCondition = new And( new Q[]{ Usr.IsNotSkeletonQ, Usr.IsEmailVerifiedQ, ActivityQ, MusicQ, PlaceQ, new Q(Usr.Columns.SendSpottedTexts,true), new Q(Usr.Columns.Mobile,QueryOperator.NotEqualTo,"") } ); q1.TableElement = MyJoin; UsrSet us1 = new UsrSet(q1); HtmlTableCell cell1 = new HtmlTableCell(); cell1.InnerText = us1.Count.ToString(); row.Cells.Add(cell1); } #endregion HtmlTableCell cellMid = new HtmlTableCell(); cellMid.Align = "center"; cellMid.InnerHtml = " "; row.Cells.Add(cellMid); ActivityQ = new Q(Usr.Columns.DateTimeLastPageRequest, QueryOperator.GreaterThan, DateTime.Now.AddMonths(-1)); #region All users if (true) { Query q1 = new Query(); q1.Columns = new ColumnSet(Usr.Columns.K); q1.DistinctColumn = Usr.Columns.K; q1.Distinct = true; q1.ReturnCountOnly = true; q1.QueryCondition = new And( Usr.IsNotSkeletonQ, Usr.IsEmailVerifiedQ, ActivityQ, MusicQ, PlaceQ ); q1.TableElement = MyJoin; UsrSet us1 = new UsrSet(q1); HtmlTableCell cell1 = new HtmlTableCell(); cell1.InnerText = us1.Count.ToString(); row.Cells.Add(cell1); } #endregion #region Emails if (true) { Query q1 = new Query(); q1.Columns = new ColumnSet(Usr.Columns.K); q1.DistinctColumn = Usr.Columns.K; q1.Distinct = true; q1.ReturnCountOnly = true; q1.QueryCondition = new And( Usr.IsNotSkeletonQ, Usr.IsEmailVerifiedQ, ActivityQ, MusicQ, PlaceQ, new Q(Usr.Columns.SendSpottedEmails, true) ); q1.TableElement = MyJoin; UsrSet us1 = new UsrSet(q1); HtmlTableCell cell1 = new HtmlTableCell(); cell1.InnerText = us1.Count.ToString(); row.Cells.Add(cell1); } #endregion #region Flyers if (true) { Query q1 = new Query(); q1.Columns = new ColumnSet(Usr.Columns.K); q1.DistinctColumn = Usr.Columns.K; q1.Distinct = true; q1.ReturnCountOnly = true; q1.QueryCondition = new And( Usr.IsNotSkeletonQ, Usr.IsEmailVerifiedQ, ActivityQ, MusicQ, PlaceQ, new Q(Usr.Columns.SendFlyers, true) ); q1.TableElement = MyJoin; UsrSet us1 = new UsrSet(q1); HtmlTableCell cell1 = new HtmlTableCell(); cell1.InnerText = us1.Count.ToString(); row.Cells.Add(cell1); } #endregion #region Invites if (true) { Query q1 = new Query(); q1.Columns = new ColumnSet(Usr.Columns.K); q1.DistinctColumn = Usr.Columns.K; q1.Distinct = true; q1.ReturnCountOnly = true; q1.QueryCondition = new And( Usr.IsNotSkeletonQ, Usr.IsEmailVerifiedQ, ActivityQ, MusicQ, PlaceQ, new Q(Usr.Columns.SendInvites, true) ); q1.TableElement = MyJoin; UsrSet us1 = new UsrSet(q1); HtmlTableCell cell1 = new HtmlTableCell(); cell1.InnerText = us1.Count.ToString(); row.Cells.Add(cell1); } #endregion #region Texts if (true) { Query q1 = new Query(); q1.Columns = new ColumnSet(Usr.Columns.K); q1.DistinctColumn = Usr.Columns.K; q1.Distinct = true; q1.ReturnCountOnly = true; q1.QueryCondition = new And( new Q[]{ Usr.IsNotSkeletonQ, Usr.IsEmailVerifiedQ, ActivityQ, MusicQ, PlaceQ, new Q(Usr.Columns.SendSpottedTexts,true), new Q(Usr.Columns.Mobile,QueryOperator.NotEqualTo,"") } ); q1.TableElement = MyJoin; UsrSet us1 = new UsrSet(q1); HtmlTableCell cell1 = new HtmlTableCell(); cell1.InnerText = us1.Count.ToString(); row.Cells.Add(cell1); } #endregion if (i % 2 == 0) row.Attributes["class"] = "dataGridAltItem"; i++; Tab.Rows.Add(row); } }
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())); }
public void MergeAndDelete(Event merge) { if (this.K == merge.K) throw new DsiUserFriendlyException("Can't merge event into itself!"); Cambro.Web.Helpers.WriteAlertHeader(); //throw new Exception("This function isn't finished yet!"); Cambro.Web.Helpers.WriteAlert("Starting merge...", 1); #region Articles if (true) { Query q = new Query(); q.QueryCondition = new Q(Article.Columns.EventK, merge.K); ArticleSet ars = new ArticleSet(q); foreach (Article a in ars) { Cambro.Web.Helpers.WriteAlert("Merging article " + a.K + "...", 2); a.ParentObjectK = this.K; a.EventK = this.K; if (a.Relevance <= Model.Entities.Article.RelevanceEnum.Venue) a.VenueK = this.VenueK; else a.VenueK = 0; if (a.Relevance <= Model.Entities.Article.RelevanceEnum.Place) a.PlaceK = this.Venue.PlaceK; else a.PlaceK = 0; if (a.Relevance <= Model.Entities.Article.RelevanceEnum.Country) a.CountryK = this.Venue.Place.CountryK; else a.CountryK = 0; a.UrlFragment = this.UrlFilterPartVenueDate; a.Update(); #region Threads if (true) { Update u = new Update(); u.Table = TablesEnum.Thread; u.Where = new Q(Thread.Columns.ArticleK, a.K); u.Changes.Add(new Assign(Thread.Columns.UrlFragment, a.UrlFilterPart)); u.Changes.Add(new Assign(Thread.Columns.EventK, this.K)); u.Changes.Add(new Assign(Thread.Columns.VenueK, this.VenueK)); u.Changes.Add(new Assign(Thread.Columns.PlaceK, this.Venue.PlaceK)); u.Changes.Add(new Assign(Thread.Columns.CountryK, this.Venue.Place.CountryK)); u.Run(); } #endregion #region Galleries if (true) { Update u = new Update(); u.Table = TablesEnum.Gallery; u.Where = new Q(Gallery.Columns.ArticleK, a.K); u.Changes.Add(new Assign(Gallery.Columns.UrlFragment, a.UrlFilterPart)); u.Run(); } #endregion #region Photos if (true) { Update u = new Update(); u.Table = TablesEnum.Photo; u.Where = new Q(Photo.Columns.ArticleK, a.K); u.Changes.Add(new Assign(Photo.Columns.UrlFragment, a.UrlFilterPart)); u.Run(); } #endregion } Cambro.Web.Helpers.WriteAlert("Done merging articles...", 2); } #endregion #region Banners if (true) { Cambro.Web.Helpers.WriteAlert("Merging banners...", 4); Update u = new Update(); u.Table = TablesEnum.Banner; u.Where = new Q(Banner.Columns.EventK, merge.K); u.Changes.Add(new Assign(Banner.Columns.EventK, this.K)); u.Run(); Cambro.Web.Helpers.WriteAlert("Done merging banners...", 4); } #endregion #region Comp if (true) { Cambro.Web.Helpers.WriteAlert("Merging competitions...", 5); Update u = new Update(); u.Table = TablesEnum.Comp; u.Where = new Q(Comp.Columns.EventK, merge.K); u.Changes.Add(new Assign(Comp.Columns.EventK, this.K)); u.Run(); Cambro.Web.Helpers.WriteAlert("Done merging competitions...", 5); } #endregion #region EventMusicType if (true) { Cambro.Web.Helpers.WriteAlert("Merging music types...", 6); Query q1 = new Query(); q1.TableElement = MusicType.EventJoin; q1.QueryCondition = new Q(Event.Columns.K, merge.K); MusicTypeSet ems1 = new MusicTypeSet(q1); Query q2 = new Query(); q2.TableElement = MusicType.EventJoin; q2.QueryCondition = new Q(Event.Columns.K, this.K); MusicTypeSet ems2 = new MusicTypeSet(q2); bool hasAllMuisc = false; ArrayList majorTypes = new ArrayList(); ArrayList relevantTypes = new ArrayList(); #region find major types foreach (MusicType mt in ems1) { if (mt.K == 1) { hasAllMuisc = true; break; } if (mt.ParentK == 1 && !majorTypes.Contains(mt.K)) majorTypes.Add(mt.K); } if (!hasAllMuisc) { foreach (MusicType mt in ems2) { if (mt.K == 1) { hasAllMuisc = true; break; } if (mt.ParentK == 1 && !majorTypes.Contains(mt.K)) majorTypes.Add(mt.K); } } #endregion if (!hasAllMuisc) { foreach (MusicType mt in ems1) { if (!majorTypes.Contains(mt.ParentK) && !relevantTypes.Contains(mt.K)) relevantTypes.Add(mt.K); } foreach (MusicType mt in ems2) { if (!majorTypes.Contains(mt.ParentK) && !relevantTypes.Contains(mt.K)) relevantTypes.Add(mt.K); } } if (hasAllMuisc || relevantTypes.Count == 0) { Delete d = new Delete(TablesEnum.EventMusicType, new Q(EventMusicType.Columns.EventK, this.K)); d.Run(); EventMusicType emt = new EventMusicType(); emt.EventK = this.K; emt.MusicTypeK = 1; emt.Update(); } else { Delete d = new Delete(TablesEnum.EventMusicType, new Q(EventMusicType.Columns.EventK, this.K)); d.Run(); foreach (int mtK in relevantTypes) { EventMusicType emt = new EventMusicType(); emt.EventK = this.K; emt.MusicTypeK = mtK; emt.Update(); } } Cambro.Web.Helpers.WriteAlert("Done merging music types...", 6); } #endregion #region EventBrand if (true) { Cambro.Web.Helpers.WriteAlert("Merging brands...", 7); EventBrandSet ebs = new EventBrandSet(new Query(new Q(EventBrand.Columns.EventK, merge.K))); foreach (EventBrand eb in ebs) { try { EventBrand ebThis = new EventBrand(this.K, eb.BrandK); } catch { EventBrand ebThis = new EventBrand(); ebThis.EventK = this.K; ebThis.BrandK = eb.BrandK; ebThis.Update(); } } Cambro.Web.Helpers.WriteAlert("Done merging brands...", 7); } #endregion #region Gallery if (true) { Cambro.Web.Helpers.WriteAlert("Merging galleries...", 9); Update u = new Update(); u.Table = TablesEnum.Gallery; u.Where = new Q(Gallery.Columns.EventK, merge.K); u.Changes.Add(new Assign(Gallery.Columns.EventK, this.K)); u.Changes.Add(new Assign(Gallery.Columns.UrlFragment, this.UrlFilterPartVenueDate)); u.Run(); Cambro.Web.Helpers.WriteAlert("Done merging galleries...", 9); } #endregion #region Photo if (true) { Cambro.Web.Helpers.WriteAlert("Merging photos...", 10); Update u = new Update(); u.Table = TablesEnum.Photo; u.Where = new Q(Photo.Columns.EventK, merge.K); u.Changes.Add(new Assign(Photo.Columns.EventK, this.K)); u.Changes.Add(new Assign(Photo.Columns.UrlFragment, this.UrlFilterPartVenueDate)); u.Run(); Cambro.Web.Helpers.WriteAlert("Done merging photos...", 10); } #endregion #region GroupEvent if (true) { Cambro.Web.Helpers.WriteAlert("Merging group-event links...", 11); GroupEventSet ges = new GroupEventSet(new Query(new Q(GroupEvent.Columns.EventK, merge.K))); foreach (GroupEvent ge in ges) { try { GroupEvent geThis = new GroupEvent(ge.GroupK, this.K); } catch { GroupEvent geThis = new GroupEvent(); geThis.EventK = this.K; geThis.GroupK = ge.GroupK; geThis.Update(); } } Cambro.Web.Helpers.WriteAlert("Done merging group-event links...", 11); } #endregion #region Thread ParentObjects if (true) { Cambro.Web.Helpers.WriteAlert("Merging topics (1/2)...", 12); Update u = new Update(); u.Table = TablesEnum.Thread; u.Where = new And( new Q(Thread.Columns.ParentObjectType, Model.Entities.ObjectType.Event), new Q(Thread.Columns.ParentObjectK, merge.K)); u.Changes.Add(new Assign(Thread.Columns.ParentObjectK, this.K)); u.Run(); Cambro.Web.Helpers.WriteAlert("Done merging topics (1/2)...", 12); } #endregion #region Thread if (true) { Cambro.Web.Helpers.WriteAlert("Merging topics (2/2)...", 13); Update u = new Update(); u.Table = TablesEnum.Thread; u.Where = new And( new Q(Thread.Columns.EventK, merge.K), new Q(Thread.Columns.ArticleK, 0)); u.Changes.Add(new Assign(Thread.Columns.EventK, this.K)); u.Changes.Add(new Assign(Thread.Columns.UrlFragment, this.UrlFilterPartVenueDate)); u.Run(); Cambro.Web.Helpers.WriteAlert("Done merging topics (2/2)...", 13); } #endregion #region UsrEventAttended if (true) { Cambro.Web.Helpers.WriteAlert("Merging members...", 14); UsrEventAttendedSet ueas = new UsrEventAttendedSet(new Query(new Q(UsrEventAttended.Columns.EventK, merge.K))); foreach (UsrEventAttended uea in ueas) { try { UsrEventAttended ueaThis = new UsrEventAttended(uea.UsrK, this.K); bool changed = false; if (!uea.SendUpdate && ueaThis.SendUpdate) { ueaThis.SendUpdate = false; changed = true; } if (uea.Spotter && !ueaThis.Spotter) { ueaThis.Spotter = true; changed = true; } if (changed) ueaThis.Update(); } catch { UsrEventAttended ueaThis = new UsrEventAttended(); ueaThis.EventK = this.K; ueaThis.UsrK = uea.UsrK; ueaThis.SendUpdate = uea.SendUpdate; ueaThis.Spotter = uea.Spotter; ueaThis.Update(); } } Cambro.Web.Helpers.WriteAlert("Done merging members...", 14); } #endregion if (!this.HasPic) { Cambro.Web.Helpers.WriteAlert("Merging picture...", 15); this.Pic = merge.Pic; this.PicMiscK = merge.PicMiscK; this.PicPhotoK = merge.PicPhotoK; this.PicState = merge.PicState; merge.Pic = Guid.Empty; merge.PicMiscK = 0; merge.PicPhotoK = 0; merge.PicState = ""; merge.Update(); Cambro.Web.Helpers.WriteAlert("Done merging picture...", 15); } this.AdminNote += "Event " + merge.K + " was merged with this one " + DateTime.Now.ToString() + ". The admin note from event " + merge.K + " is:\n********************\n" + merge.AdminNote + "\n********************\n"; if (!this.HasGuestlist && merge.HasGuestlist) { Cambro.Web.Helpers.WriteAlert("Merging guestlist...", 16); this.HasGuestlist = true; this.GuestlistOpen = merge.GuestlistOpen; this.GuestlistFinished = merge.GuestlistOpen; this.GuestlistLimit = merge.GuestlistLimit; this.GuestlistCount = merge.GuestlistCount; this.GuestlistDetails = merge.GuestlistDetails; this.GuestlistPromoterK = merge.GuestlistPromoterK; this.GuestlistRegularPrice = merge.GuestlistRegularPrice; this.GuestlistPrice = merge.GuestlistPrice; this.GuestlistPromotion = merge.GuestlistPromotion; Delete d = new Delete(TablesEnum.UsrEventGuestlist, new Q(UsrEventGuestlist.Columns.EventK, this.K)); d.Run(); Update u = new Update(); u.Table = TablesEnum.UsrEventGuestlist; u.Where = new Q(UsrEventGuestlist.Columns.EventK, merge.K); u.Changes.Add(new Assign(UsrEventGuestlist.Columns.EventK, this.K)); u.Run(); Cambro.Web.Helpers.WriteAlert("Done merging guestlist...", 16); } if (merge.Donated) this.Donated = true; if (merge.HasHilight) this.HasHilight = true; this.UpdateUsrAttendCount(false); this.Update(); int mergeVenueK = merge.VenueK; Cambro.Web.Helpers.WriteAlert("Deleting old event...", 17); merge.DeleteAll(null); Cambro.Web.Helpers.WriteAlert("Done deleting old event...", 17); if (mergeVenueK != this.VenueK) { Venue mergeVenue = new Venue(mergeVenueK); Cambro.Web.Helpers.WriteAlert("Updating stats for old venue...", 18); mergeVenue.UpdateTotalComments(null); mergeVenue.UpdateTotalEvents(null); Cambro.Web.Helpers.WriteAlert("Done updating stats for old venue...", 18); } Cambro.Web.Helpers.WriteAlert("Updating stats for new event...", 19); this.UpdateMusicTypesStringNoUpdate(); this.UpdateTotalComments(null); this.UpdateHasSpotter(null); this.UpdateTotalPhotos(null); this.Venue.UpdateTotalEvents(null); Cambro.Web.Helpers.WriteAlert("Done updating stats for new event...", 19); this.Update(); Cambro.Web.Helpers.WriteAlert("Done merging events!", 20); }
public void UpdateMusicTypesStringNoUpdate() { Query q = new Query(); q.NoLock = true; q.Columns = new ColumnSet(MusicType.Columns.GenericName); q.TableElement = new Join(MusicType.Columns.K, EventMusicType.Columns.MusicTypeK); q.QueryCondition = new Q(EventMusicType.Columns.EventK, K); q.OrderBy = MusicType.OrderBy; MusicTypeSet mts = new MusicTypeSet(q); string music = ""; for (int i = 0; i < mts.Count; i++) { music += (i > 0 ? (i == mts.Count - 1 ? " and " : ", ") : "") + mts[i].GenericName; } this.MusicTypesString = music; }
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")); } }
private void Page_Load(object sender, System.EventArgs e) { Usr.KickUserIfNotLoggedIn("You must be logged in to view your user preferences."); if (Usr.Current.K != ThisUsr.K && !Usr.Current.IsAdmin) throw new DsiUserFriendlyException("You can't use this page"); // Put user code to initialize the page here SuccessDiv.Visible = false; if (!Page.IsPostBack && Request.QueryString["done"] != null && Request.QueryString["done"] == "1") SuccessDiv.Visible = true; EmailRegex.ValidationExpression = Cambro.Misc.RegEx.Email; //PostcodeRegex.ValidationExpression = Cambro.Misc.RegEx.Postcode; //TelephoneRegex.ValidationExpression=Cambro.Misc.RegEx.Telephone; #region Hometown //int selectedHomeTown = 0; //if (!HomeTownDropDownList.SelectedValue.Equals("0") && !HomeTownDropDownList.SelectedValue.Equals("")) // selectedHomeTown = int.Parse(HomeTownDropDownList.SelectedValue); //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(); //HomeTownDropDownList.Items.Insert(0, new ListItem("", "0")); //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 FavouriteMusic int selectedFavouriteMusic = 0; if (!FavouriteMusicDropDownList.SelectedValue.Equals("0") && !FavouriteMusicDropDownList.SelectedValue.Equals("")) selectedFavouriteMusic = int.Parse(FavouriteMusicDropDownList.SelectedValue); 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(); FavouriteMusicDropDownList.Items.Insert(0, new ListItem("", "0")); if (selectedFavouriteMusic > 0) { FavouriteMusicDropDownList.SelectedValue = selectedFavouriteMusic.ToString(); } #endregion DialingCodeDropDown.Attributes["onchange"] = "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'}"; if (!Page.IsPostBack) { SetupCountryDropDownList(); ChangePanel(PrefsUpdatePanel); FirstName.Text = ThisUsr.FirstName; LastName.Text = ThisUsr.LastName; NickName.Text = ThisUsr.NickName; Email.Text = ThisUsr.Email; //Postcode.Text = ThisUsr.AddressPostcode; SexMale.Checked = ThisUsr.IsMale; SexFemale.Checked = ThisUsr.IsFemale; IsDjYes.Checked = ThisUsr.IsDj.HasValue && ThisUsr.IsDj.Value; IsDjNo.Checked = ThisUsr.IsDj.HasValue && !ThisUsr.IsDj.Value; if (ThisUsr.HomePlaceK > 0 && ThisUsr.Home != null) HomeTownPlacePicker.Place = ThisUsr.Home; else if (ThisUsr.AddressCountryK > 0 && ThisUsr.AddressCountry != null) HomeTownPlacePicker.Country = ThisUsr.AddressCountry; else if (Prefs.Current["HomeCountryK"].IsInt) { try { HomeTownPlacePicker.Country = new Country(Prefs.Current["HomeCountryK"]); } catch { } } else if (Country.Current != null) HomeTownPlacePicker.Country = Country.Current; AddressAreaTextBox.Text = ThisUsr.AddressArea; AddressCountyTextBox.Text = ThisUsr.AddressCounty; if(ThisUsr.AddressCountryK > 0) AddressCountryDropDownList.SelectedValue = ThisUsr.AddressCountryK.ToString(); else AddressCountryDropDownList.SelectedValue = Country.FilterK.ToString(); AddressPostcodeTextBox.Text = ThisUsr.AddressPostcode; AddressStreetTextBox.Text = ThisUsr.AddressStreet; AddressTownTextBox.Text = ThisUsr.AddressTown; if (!ThisUsr.DateOfBirth.Equals(DateTime.MinValue)) { DateOfBirthDay.Text = ThisUsr.DateOfBirth.Day.ToString(); DateOfBirthMonth.Text = ThisUsr.DateOfBirth.Month.ToString(); DateOfBirthYear.Text = ThisUsr.DateOfBirth.Year.ToString(); } //if (ThisUsr.HomePlaceK > 0) //{ // try // { // HomeTownDropDownList.SelectedValue = ThisUsr.HomePlaceK.ToString(); // } // catch // { // HomeTownDropDownList.Items.Insert(1, new ListItem(ThisUsr.Home.Name, ThisUsr.HomePlaceK.ToString())); // HomeTownDropDownList.SelectedValue = ThisUsr.HomePlaceK.ToString(); // } //} if (ThisUsr.FavouriteMusicTypeK > 0) { FavouriteMusicDropDownList.SelectedValue = ThisUsr.FavouriteMusicTypeK.ToString(); } if (ThisUsr.Mobile.Length > 0) { if ( ThisUsr.MobileCountryCode.Equals("44") || ThisUsr.MobileCountryCode.Equals("61") || ThisUsr.MobileCountryCode.Equals("33") || ThisUsr.MobileCountryCode.Equals("49") || ThisUsr.MobileCountryCode.Equals("353") || ThisUsr.MobileCountryCode.Equals("39") || ThisUsr.MobileCountryCode.Equals("34") || ThisUsr.MobileCountryCode.Equals("1") ) { DialingCodeDropDown.SelectedValue = ThisUsr.MobileCountryCode; DialingCodeOtherSpan.Style["display"] = "none"; } else { DialingCodeDropDown.SelectedValue = "0"; DialingCodeOtherSpan.Style["display"] = null; DialingCodeOther.Text = ThisUsr.MobileCountryCode; } MobileNumber.Text = ThisUsr.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; } } } if (DialingCodeDropDown.SelectedValue.Equals("0")) { DialingCodeOtherSpan.Style["display"] = null; } else { DialingCodeOtherSpan.Style["display"] = "none"; } }