/// <summary> /// Loads the campuses /// </summary> protected void LoadCampusDropdowns() { var campusEntityType = EntityTypeCache.Read(typeof(Campus)); var currentCampus = RockPage.GetCurrentContext(campusEntityType) as Campus; var campusIdString = Request.QueryString["campusId"]; if (campusIdString != null) { var campusId = campusIdString.AsInteger(); if (currentCampus == null || currentCampus.Id != campusId) { currentCampus = SetCampusContext(campusId, false); } } if (currentCampus == null && GetAttributeValue("DefaultToCurrentUser").AsBoolean() && CurrentPerson != null) { currentCampus = CurrentPerson.GetFamilies().First().Campus; } if (currentCampus != null) { var mergeObjects = new Dictionary <string, object>(); mergeObjects.Add("CampusName", currentCampus.Name); lCurrentCampusSelection.Text = GetAttributeValue("CampusCurrentItemTemplate").ResolveMergeFields(mergeObjects); _currentCampusText = GetAttributeValue("CampusCurrentItemTemplate").ResolveMergeFields(mergeObjects); } else { lCurrentCampusSelection.Text = GetAttributeValue("NoCampusText"); _currentCampusText = GetAttributeValue("NoCampusText"); } var campusList = CampusCache.All() .Select(a => new CampusItem { Name = a.Name, Id = a.Id }) .ToList(); // run lava on each campus string dropdownItemTemplate = GetAttributeValue("CampusDropdownItemTemplate"); if (!string.IsNullOrWhiteSpace(dropdownItemTemplate)) { foreach (var campus in campusList) { var mergeObjects = new Dictionary <string, object>(); mergeObjects.Add("CampusName", campus.Name); campus.Name = dropdownItemTemplate.ResolveMergeFields(mergeObjects); } } // check if the campus can be unselected if (!string.IsNullOrEmpty(GetAttributeValue("CampusClearSelectionText"))) { var blankCampus = new CampusItem { Name = GetAttributeValue("CampusClearSelectionText"), Id = Rock.Constants.All.Id }; campusList.Insert(0, blankCampus); } rptCampuses.DataSource = campusList; rptCampuses.DataBind(); }
/// <summary> /// Loads the campuses /// </summary> protected void LoadDropdowns() { var campusEntityType = EntityTypeCache.Get(typeof(Campus)); var currentCampus = RockPage.GetCurrentContext(campusEntityType) as Campus; var campusIdString = Request.QueryString["campusId"]; if (campusIdString != null) { var campusId = campusIdString.AsInteger(); // if there is a query parameter, ensure that the Campus Context cookie is set (and has an updated expiration) // note, the Campus Context might already match due to the query parameter, but has a different cookie context, so we still need to ensure the cookie context is updated currentCampus = SetCampusContext(campusId, false); } // if the currentCampus isn't determined yet, and DefaultToCurrentUser, and the person has a CampusId, use that as the campus context if (currentCampus == null && GetAttributeValue("DefaultToCurrentUser").AsBoolean() && CurrentPerson != null) { var campusId = CurrentPerson.GetFamily().CampusId; if (campusId.HasValue) { currentCampus = SetCampusContext(campusId.Value, false); } } if (currentCampus != null) { var mergeObjects = new Dictionary <string, object>(); mergeObjects.Add("CampusName", currentCampus.Name); lCurrentSelection.Text = GetAttributeValue("CurrentItemTemplate").ResolveMergeFields(mergeObjects); } else { lCurrentSelection.Text = GetAttributeValue("NoCampusText"); } bool includeInactive = GetAttributeValue("IncludeInactiveCampuses").AsBoolean(); var campusList = CampusCache.All(includeInactive) .Select(a => new CampusItem { Name = a.Name, Id = a.Id }) .ToList(); // run lava on each campus string dropdownItemTemplate = GetAttributeValue("DropdownItemTemplate"); if (!string.IsNullOrWhiteSpace(dropdownItemTemplate)) { foreach (var campus in campusList) { var mergeObjects = new Dictionary <string, object>(); mergeObjects.Add("CampusName", campus.Name); campus.Name = dropdownItemTemplate.ResolveMergeFields(mergeObjects); } } // check if the campus can be unselected if (!string.IsNullOrEmpty(GetAttributeValue("ClearSelectionText"))) { var blankCampus = new CampusItem { Name = GetAttributeValue("ClearSelectionText"), Id = Rock.Constants.All.Id }; campusList.Insert(0, blankCampus); } rptCampuses.DataSource = campusList; rptCampuses.DataBind(); }
/// <summary> /// Loads the campuses /// </summary> protected void LoadCampusDropdowns() { var campusEntityType = EntityTypeCache.Read( typeof( Campus ) ); var currentCampus = RockPage.GetCurrentContext( campusEntityType ) as Campus; var campusIdString = Request.QueryString["campusId"]; if ( campusIdString != null ) { var campusId = campusIdString.AsInteger(); if ( currentCampus == null || currentCampus.Id != campusId ) { currentCampus = SetCampusContext( campusId, false ); } } if ( currentCampus == null && GetAttributeValue( "DefaultToCurrentUser" ).AsBoolean() && CurrentPerson != null ) { currentCampus = CurrentPerson.GetFamilies().First().Campus; } if ( currentCampus != null ) { var mergeObjects = new Dictionary<string, object>(); mergeObjects.Add( "CampusName", currentCampus.Name ); lCurrentCampusSelection.Text = GetAttributeValue( "CampusCurrentItemTemplate" ).ResolveMergeFields( mergeObjects ); _currentCampusText = GetAttributeValue( "CampusCurrentItemTemplate" ).ResolveMergeFields( mergeObjects ); } else { lCurrentCampusSelection.Text = GetAttributeValue( "NoCampusText" ); _currentCampusText = GetAttributeValue( "NoCampusText" ); } var campusList = CampusCache.All() .Select( a => new CampusItem { Name = a.Name, Id = a.Id } ) .ToList(); // run lava on each campus string dropdownItemTemplate = GetAttributeValue( "CampusDropdownItemTemplate" ); if ( !string.IsNullOrWhiteSpace( dropdownItemTemplate ) ) { foreach ( var campus in campusList ) { var mergeObjects = new Dictionary<string, object>(); mergeObjects.Add( "CampusName", campus.Name ); campus.Name = dropdownItemTemplate.ResolveMergeFields( mergeObjects ); } } // check if the campus can be unselected if ( !string.IsNullOrEmpty( GetAttributeValue( "CampusClearSelectionText" ) ) ) { var blankCampus = new CampusItem { Name = GetAttributeValue( "CampusClearSelectionText" ), Id = Rock.Constants.All.Id }; campusList.Insert( 0, blankCampus ); } rptCampuses.DataSource = campusList; rptCampuses.DataBind(); }