/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param> protected override void OnInit(EventArgs e) { base.OnInit(e); RegisterScript(); _rockContext = new RockContext(); int groupId = PageParameter("GroupId").AsInteger(); _group = new GroupService(_rockContext) .Queryable("GroupType,Schedule").AsNoTracking() .FirstOrDefault(g => g.Id == groupId); if (_group != null && _group.IsAuthorized(Authorization.EDIT, CurrentPerson)) { lHeading.Text = _group.Name + " Attendance"; _canEdit = true; } _allowAdd = GetAttributeValue("AllowAdd").AsBoolean(); _allowCampusFilter = GetAttributeValue("AllowCampusFilter").AsBoolean(); bddlCampus.Visible = _allowCampusFilter; if (_allowCampusFilter) { bddlCampus.DataSource = CampusCache.All(); bddlCampus.DataBind(); bddlCampus.Items.Insert(0, new ListItem("All Campuses", "0")); } }
/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.Load" /> event. /// </summary> /// <param name="e">The <see cref="T:System.EventArgs" /> object that contains the event data.</param> protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Page.IsPostBack) { cpCampus.Campuses = CampusCache.All(); ShowDetail(PageParameter("BenevolenceRequestId").AsInteger()); } else { var rockContext = new RockContext(); BenevolenceRequest item = new BenevolenceRequestService(rockContext).Get(hfBenevolenceRequestId.ValueAsInt()); if (item == null) { item = new BenevolenceRequest(); } item.LoadAttributes(); phAttributes.Controls.Clear(); Rock.Attribute.Helper.AddEditControls(item, phAttributes, false, BlockValidationGroup, 2); confirmExit.Enabled = true; } }
/// <summary> /// Gets the list source. /// </summary> /// <value> /// The list source. /// </value> private Dictionary <string, string> GetListSource(Dictionary <string, string> configurationValues) { var allCampuses = CampusCache.All(); if (configurationValues == null) { return(allCampuses.ToDictionary(c => c.Guid.ToString(), c => c.Name)); } bool includeInactive = configurationValues.ContainsKey(INCLUDE_INACTIVE_KEY) && configurationValues[INCLUDE_INACTIVE_KEY].AsBoolean(); List <int> campusTypesFilter = configurationValues.ContainsKey(FILTER_CAMPUS_TYPES_KEY) ? configurationValues[FILTER_CAMPUS_TYPES_KEY].SplitDelimitedValues(false).AsIntegerList() : null; List <int> campusStatusFilter = configurationValues.ContainsKey(FILTER_CAMPUS_STATUS_KEY) ? configurationValues[FILTER_CAMPUS_STATUS_KEY].SplitDelimitedValues(false).AsIntegerList() : null; List <int> selectableCampuses = configurationValues.ContainsKey(SELECTABLE_CAMPUSES_KEY) && configurationValues[SELECTABLE_CAMPUSES_KEY].IsNotNullOrWhiteSpace() ? configurationValues[SELECTABLE_CAMPUSES_KEY].SplitDelimitedValues(false).AsIntegerList() : null; var campusList = allCampuses .Where(c => (!c.IsActive.HasValue || c.IsActive.Value || includeInactive) && campusTypesFilter.ContainsOrEmpty(c.CampusTypeValueId ?? -1) && campusStatusFilter.ContainsOrEmpty(c.CampusStatusValueId ?? -1) && selectableCampuses.ContainsOrEmpty(c.Id)) .ToList(); return(campusList.ToDictionary(c => c.Guid.ToString(), c => c.Name)); }
/// <summary> /// Gets the filter value control. /// </summary> /// <param name="configurationValues">The configuration values.</param> /// <param name="id">The identifier.</param> /// <param name="required">if set to <c>true</c> [required].</param> /// <param name="filterMode">The filter mode.</param> /// <returns></returns> public override Control FilterValueControl(Dictionary <string, ConfigurationValue> configurationValues, string id, bool required, FilterMode filterMode) { var cbList = new RockCheckBoxList(); cbList.ID = string.Format("{0}_cbList", id); cbList.AddCssClass("js-filter-control"); cbList.RepeatDirection = RepeatDirection.Horizontal; bool includeInactive = configurationValues != null && configurationValues.ContainsKey(INCLUDE_INACTIVE_KEY) && configurationValues[INCLUDE_INACTIVE_KEY].Value.AsBoolean(); var campusList = CampusCache.All(includeInactive); if (campusList.Any()) { foreach (var campus in campusList) { ListItem listItem = new ListItem(campus.Name, campus.Guid.ToString()); cbList.Items.Add(listItem); } return(cbList); } return(null); }
/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param> protected override void OnInit(EventArgs e) { base.OnInit(e); RegisterScript(); _rockContext = new RockContext(); int groupId = PageParameter("GroupId").AsInteger(); _group = new GroupService(_rockContext) .Queryable("GroupType,Schedule").AsNoTracking() .FirstOrDefault(g => g.Id == groupId); if (_group != null && (_group.IsAuthorized(Authorization.MANAGE_MEMBERS, CurrentPerson) || _group.IsAuthorized(Authorization.EDIT, CurrentPerson))) { lHeading.Text = _group.Name + " Attendance"; _canManageMembers = true; } dpOccurrenceDate.AllowFutureDateSelection = !GetAttributeValue("RestrictFutureOccurrenceDate").AsBoolean(); _allowAdd = GetAttributeValue("AllowAdd").AsBoolean(); _allowCampusFilter = GetAttributeValue("AllowCampusFilter").AsBoolean(); bddlCampus.Visible = _allowCampusFilter; if (_allowCampusFilter) { bddlCampus.DataSource = CampusCache.All(); bddlCampus.DataBind(); bddlCampus.Items.Insert(0, new ListItem("All Campuses", "0")); } dtNotes.Label = GetAttributeValue("AttendanceNoteLabel"); dtNotes.Visible = GetAttributeValue("ShowNotes").AsBooleanOrNull() ?? true; }
/// <summary> /// Shows the edit details. /// </summary> /// <param name="batch">The financial batch.</param> protected void ShowEditDetails(FinancialBatch batch) { if (batch != null) { hfBatchId.Value = batch.Id.ToString(); string title = batch.Id > 0 ? ActionTitle.Edit(FinancialBatch.FriendlyTypeName) : ActionTitle.Add(FinancialBatch.FriendlyTypeName); SetHeadingInfo(batch, title); SetEditMode(true); tbName.Text = batch.Name; ddlStatus.BindToEnum <BatchStatus>(); ddlStatus.SelectedIndex = (int)(BatchStatus)batch.Status; campCampus.Campuses = CampusCache.All(); if (batch.CampusId.HasValue) { campCampus.SetValue(batch.CampusId.Value); } tbControlAmount.Text = batch.ControlAmount.ToString("N2"); dtpStart.SelectedDateTime = batch.BatchStartDateTime; dtpEnd.SelectedDateTime = batch.BatchEndDateTime; tbAccountingCode.Text = batch.AccountingSystemCode; tbNote.Text = batch.Note; } }
/// <summary> /// Loads the drop downs. /// </summary> private void LoadDropDowns() { ddlAccountType.BindToDefinedType(DefinedTypeCache.Read(Rock.SystemGuid.DefinedType.FINANCIAL_ACCOUNT_TYPE.AsGuid())); cpCampus.Campuses = CampusCache.All(); cpCampus.Visible = cpCampus.Items.Count > 0; }
/// <summary> /// Binds the filter. /// </summary> private void SetFilter() { if (_group != null) { cblRole.DataSource = _group.GroupType.Roles.OrderBy(a => a.Order).ToList(); cblRole.DataBind(); } cblGroupMemberStatus.BindToEnum <GroupMemberStatus>(); cpCampusFilter.Campuses = CampusCache.All(); BindAttributes(); AddDynamicControls(); tbFirstName.Text = rFilter.GetUserPreference(MakeKeyUniqueToGroup("First Name")); tbLastName.Text = rFilter.GetUserPreference(MakeKeyUniqueToGroup("Last Name")); cpCampusFilter.SelectedCampusId = rFilter.GetUserPreference(MakeKeyUniqueToGroup("Campus")).AsIntegerOrNull(); string roleValue = rFilter.GetUserPreference(MakeKeyUniqueToGroup("Role")); if (!string.IsNullOrWhiteSpace(roleValue)) { cblRole.SetValues(roleValue.Split(';').ToList()); } string statusValue = rFilter.GetUserPreference(MakeKeyUniqueToGroup("Status")); if (!string.IsNullOrWhiteSpace(statusValue)) { cblGroupMemberStatus.SetValues(statusValue.Split(';').ToList()); } }
/// <summary> /// Binds the filter. /// </summary> private void SetFilter() { drpDate.DelimitedValues = rFilter.GetUserPreference(MakeKeyUniqueToEventCalendar("DateRange")); cblCampus.DataSource = CampusCache.All(); cblCampus.DataBind(); string campusValue = rFilter.GetUserPreference(MakeKeyUniqueToEventCalendar("Campus")); if (!string.IsNullOrWhiteSpace(campusValue)) { cblCampus.SetValues(campusValue.Split(';').ToList()); } cblAudience.BindToDefinedType(DefinedTypeCache.Get(Rock.SystemGuid.DefinedType.MARKETING_CAMPAIGN_AUDIENCE_TYPE.AsGuid())); string audienceValue = rFilter.GetUserPreference(MakeKeyUniqueToEventCalendar("Audiences")); if (!string.IsNullOrWhiteSpace(audienceValue)) { cblAudience.SetValues(audienceValue.Split(';').ToList()); } ddlStatus.SetValue(rFilter.GetUserPreference(MakeKeyUniqueToEventCalendar("Status"))); ddlApprovalStatus.SetValue(rFilter.GetUserPreference(MakeKeyUniqueToEventCalendar("ApprovalStatus"))); BindAttributes(); AddDynamicControls(); }
private static KioskDevice Create(int id) { using (var rockContext = new RockContext()) { var campusLocations = new Dictionary <int, int>(); CampusCache.All() .Where(c => c.LocationId.HasValue) .Select(c => new { CampusId = c.Id, LocationId = c.LocationId.Value }) .ToList() .ForEach(c => campusLocations.Add(c.CampusId, c.LocationId)); var deviceModel = new DeviceService(rockContext) .Queryable().AsNoTracking() .Where(d => d.Id == id) .FirstOrDefault(); if (deviceModel != null) { var device = new KioskDevice(deviceModel); foreach (Location location in deviceModel.Locations) { LoadKioskLocations(device, location, campusLocations, rockContext); } return(device); } } return(null); }
/// <summary> /// Loads the items. /// </summary> /// <param name="selectedValue">The selected value.</param> private void LoadItems(int?selectedValue) { string firstItemText = Items.Count > 0 && Items[0].Value == string.Empty ? Items[0].Text : string.Empty; var selectedItems = Items.Cast <ListItem>() .Where(i => i.Selected) .Select(i => i.Value).AsIntegerList(); Items.Clear(); // add Empty option first Items.Add(new ListItem(firstItemText, string.Empty)); var campuses = CampusCache.All() .Where(c => (CampusIds.Contains(c.Id) && (!c.IsActive.HasValue || c.IsActive.Value || IncludeInactive)) || (selectedValue.HasValue && c.Id == selectedValue.Value)) .OrderBy(c => c.Name) .ToList(); foreach (CampusCache campus in campuses) { var li = new ListItem(campus.Name, campus.Id.ToString()); li.Selected = selectedItems.Contains(campus.Id); Items.Add(li); } }
/// <summary> /// Gets the default connector person alias. /// </summary> /// <param name="campusId">The campus identifier.</param> /// <returns></returns> private PersonAlias GetDefaultConnectorPersonAlias(int?campusId) { if (ConnectionOpportunityCampuses == null) { return(null); } if (!campusId.HasValue && CampusCache.All().Count == 1) { // Rock hides campus pickers if there is only one campus campusId = CampusCache.All().First().Id; } if (campusId.HasValue) { var connectionOpportunityCampus = ConnectionOpportunityCampuses .Where(c => c.CampusId == campusId.Value) .FirstOrDefault(); if (connectionOpportunityCampus != null) { return(connectionOpportunityCampus.DefaultConnectorPersonAlias); } } return(null); }
private bool ValidateCampus() { var campusLocationType = DefinedValueCache.Get(Rock.SystemGuid.DefinedValue.LOCATION_TYPE_CAMPUS.AsGuid()); if (campusLocationType.Id != lpLocation.Location.LocationTypeValueId) { nbEditModeMessage.NotificationBoxType = Rock.Web.UI.Controls.NotificationBoxType.Danger; nbEditModeMessage.Text = string.Format(@"The named location ""{0}"" is not a 'Campus' location type.", lpLocation.Location.Name); return(false); } int campusId = int.Parse(hfCampusId.Value); var existingCampus = campusId == 0 ? CampusCache.All(true).Where(c => c.Name == tbCampusName.Text).FirstOrDefault() : CampusCache.All(true).Where(c => c.Name == tbCampusName.Text && c.Id != campusId).FirstOrDefault(); if (existingCampus != null) { string activeString = existingCampus.IsActive ?? false ? "active" : "inactive"; nbEditModeMessage.NotificationBoxType = Rock.Web.UI.Controls.NotificationBoxType.Danger; nbEditModeMessage.Text = string.Format(@"The campus name ""{0}"" is already in use for an existing {1} campus.", tbCampusName.Text, activeString); return(false); } return(true); }
private void BindFilters() { viewableConnectionOpportunities = conOppServ.Queryable().OrderBy(x => x.Name).ToList().Where(awt => awt.IsAuthorized("View", CurrentPerson)); // Opportunities var conOppId = rddConnectionOpportunity.SelectedValueAsId(); rddConnectionOpportunity.DataSource = viewableConnectionOpportunities.ToList(); rddConnectionOpportunity.DataTextField = "Name"; rddConnectionOpportunity.DataValueField = "Id"; rddConnectionOpportunity.DataBind(); rddConnectionOpportunity.Items.Insert(0, new ListItem("", "-1")); rddConnectionOpportunity.SetValue(conOppId); // Campuses var campId = campusPicker.SelectedValueAsId(); campusPicker.Campuses = CampusCache.All(); campusPicker.SetValue(campId); // Statuses List <string> statusIds = cblStatus.SelectedValues; var typeIds = viewableConnectionOpportunities.Select(o => o.ConnectionTypeId).ToList(); cblStatus.DataSource = conStatServ.Queryable().Where(s => typeIds.Contains(s.ConnectionTypeId ?? -1)).Select(s => s.Name).Distinct().Select(x => new { Name = x, Id = x }).ToList(); cblStatus.DataBind(); cblStatus.SetValues(statusIds); }
/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param> protected override void OnInit(EventArgs e) { base.OnInit(e); bool canEdit = IsUserAuthorized(Authorization.EDIT); rAccountFilter.ApplyFilterClick += rAccountFilter_ApplyFilterClick; rAccountFilter.DisplayFilterValue += rAccountFilter_DisplayFilterValue; var campusList = CampusCache.All(); if (campusList.Count > 0) { ddlCampus.Visible = true; var isActiveColumn = rGridAccount.ColumnsOfType <BoolField>().FirstOrDefault(a => a.DataField == "IsActive"); if (isActiveColumn != null) { isActiveColumn.Visible = true; } } rGridAccount.DataKeyNames = new string[] { "Id" }; rGridAccount.Actions.ShowAdd = canEdit; rGridAccount.Actions.AddClick += rGridAccount_Add; rGridAccount.GridReorder += rGridAccount_GridReorder; rGridAccount.GridRebind += rGridAccounts_GridRebind; rGridAccount.IsDeleteEnabled = canEdit; AddAttributeColumns(); var deleteField = new DeleteField(); rGridAccount.Columns.Add(deleteField); deleteField.Click += rGridAccount_Delete; }
/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param>EventItem protected override void OnInit(EventArgs e) { base.OnInit(e); ddlCampus.DataSource = CampusCache.All(); ddlCampus.DataBind(); ddlCampus.Items.Insert(0, new ListItem(All.Text, string.Empty)); }
// Flush any cached campus that uses location private void FlushCampus(int locationId) { foreach (var campus in CampusCache.All() .Where(c => c.LocationId == locationId)) { CampusCache.Flush(campus.Id); } }
/// <summary> /// Shows the detail. /// </summary> /// <param name="businessId">The business identifier.</param> public void ShowDetail(int businessId) { var rockContext = new RockContext(); // Load the Campus drop down ddlCampus.Items.Clear(); ddlCampus.Items.Add(new ListItem(string.Empty, string.Empty)); foreach (var campus in CampusCache.All()) { ListItem li = new ListItem(campus.Name, campus.Id.ToString()); ddlCampus.Items.Add(li); } Person business = null; // A business is a person if (!businessId.Equals(0)) { business = new PersonService(rockContext).Get(businessId); } if (business == null) { business = new Person { Id = 0, Guid = Guid.NewGuid() }; } bool editAllowed = business.IsAuthorized(Authorization.EDIT, CurrentPerson); hfBusinessId.Value = business.Id.ToString(); bool readOnly = false; nbEditModeMessage.Text = string.Empty; if (!editAllowed || !IsUserAuthorized(Authorization.EDIT)) { readOnly = true; nbEditModeMessage.Text = EditModeMessage.ReadOnlyEditActionNotAllowed(Person.FriendlyTypeName); } if (readOnly) { ShowSummary(businessId); } else { if (business.Id > 0) { ShowSummary(business.Id); } else { ShowEditDetails(business); } } BindContactListGrid(business); }
/// <summary> /// Sets the configuration value. /// </summary> /// <param name="controls"></param> /// <param name="configurationValues"></param> public override void SetConfigurationValues(List <Control> controls, Dictionary <string, ConfigurationValue> configurationValues) { base.SetConfigurationValues(controls, configurationValues); if (controls != null && configurationValues != null) { CheckBox cbIncludeInactive = controls.Count > 2 ? controls[2] as CheckBox : null; RockCheckBoxList cblCampusTypes = controls.Count > 3 ? controls[3] as RockCheckBoxList : null; RockCheckBoxList cblCampusStatuses = controls.Count > 4 ? controls[4] as RockCheckBoxList : null; RockCheckBoxList cblSelectableValues = controls.Count > 5 ? controls[5] as RockCheckBoxList : null; if (cbIncludeInactive != null) { cbIncludeInactive.Checked = configurationValues.GetValueOrNull(INCLUDE_INACTIVE_KEY).AsBooleanOrNull() ?? false; } if (cblCampusTypes != null) { var selectedCampusTypes = configurationValues.GetValueOrNull(FILTER_CAMPUS_TYPES_KEY)?.SplitDelimitedValues(false); if (selectedCampusTypes != null && selectedCampusTypes.Any()) { foreach (ListItem listItem in cblCampusTypes.Items) { listItem.Selected = selectedCampusTypes.Contains(listItem.Value); } } } if (cblCampusStatuses != null) { var selectedCampusStatuses = configurationValues.GetValueOrNull(FILTER_CAMPUS_STATUS_KEY)?.SplitDelimitedValues(false); if (selectedCampusStatuses != null && selectedCampusStatuses.Any()) { foreach (ListItem listItem in cblCampusStatuses.Items) { listItem.Selected = selectedCampusStatuses.Contains(listItem.Value); } } } if (cblSelectableValues != null) { var selectableValues = configurationValues.GetValueOrNull(SELECTABLE_CAMPUSES_KEY)?.SplitDelimitedValues(false); var activeCampuses = CampusCache.All(cbIncludeInactive.Checked).Select(v => new { Text = v.Name, Value = v.Id }); cblSelectableValues.DataSource = activeCampuses; cblSelectableValues.DataBind(); if (selectableValues != null && selectableValues.Any()) { foreach (ListItem listItem in cblSelectableValues.Items) { listItem.Selected = selectableValues.Contains(listItem.Value); } } } } }
/// <summary> /// Displays the details for a single, given prayer request. /// </summary> /// <param name="prayerRequest">The prayer request.</param> /// <param name="rockContext">The rock context.</param> private void ShowPrayerRequest(PrayerRequest prayerRequest, RockContext rockContext) { pnlPrayer.Visible = true; prayerRequest.PrayerCount = (prayerRequest.PrayerCount ?? 0) + 1; hlblPrayerCountTotal.Text = prayerRequest.PrayerCount.ToString() + " team prayers"; hlblUrgent.Visible = prayerRequest.IsUrgent ?? false; if (CampusCache.All(false).Count() > 1) { hlblCampus.Text = prayerRequest.CampusId.HasValue ? prayerRequest.Campus.Name : string.Empty; } hlblCategory.Text = prayerRequest.Category.Name; var mergeFields = Rock.Lava.LavaHelper.GetCommonMergeFields(this.RockPage, this.CurrentPerson, new Rock.Lava.CommonMergeFieldsOptions { GetLegacyGlobalMergeFields = false }); // need to load attributes so that lava can loop thru PrayerRequest.Attributes prayerRequest.LoadAttributes(); // Filter to only show attribute / attribute values that the person is authorized to view. var excludeForView = prayerRequest.Attributes.Where(a => !a.Value.IsAuthorized(Authorization.VIEW, this.CurrentPerson)).Select(a => a.Key).ToList(); prayerRequest.Attributes = prayerRequest.Attributes.Where(a => !excludeForView.Contains(a.Key)).ToDictionary(k => k.Key, k => k.Value); prayerRequest.AttributeValues = prayerRequest.AttributeValues.Where(av => !excludeForView.Contains(av.Key)).ToDictionary(k => k.Key, k => k.Value); mergeFields.Add("PrayerRequest", prayerRequest); string prayerPersonLava = this.GetAttributeValue(AttributeKey.PrayerPersonLava); string prayerDisplayLava = this.GetAttributeValue(AttributeKey.PrayerDisplayLava); lPersonLavaOutput.Text = prayerPersonLava.ResolveMergeFields(mergeFields); lPrayerLavaOutput.Text = prayerDisplayLava.ResolveMergeFields(mergeFields); pnlPrayerComments.Visible = prayerRequest.AllowComments ?? false; if (notesComments.Visible) { notesComments.NoteOptions.EntityId = prayerRequest.Id; } CurrentPrayerRequestId = prayerRequest.Id; if (GetAttributeValue(AttributeKey.CreateInteractionsForPrayers).AsBoolean()) { PrayerRequestService.EnqueuePrayerInteraction(prayerRequest, CurrentPerson, PageCache.Layout.Site.Name, Request.UserAgent, RockPage.GetClientIpAddress(), RockPage.Session["RockSessionId"]?.ToString().AsGuidOrNull()); } try { // save because the prayer count was just modified. rockContext.SaveChanges(); } catch (Exception ex) { ExceptionLogService.LogException(ex, Context, this.RockPage.PageId, this.RockPage.Site.Id, CurrentPersonAlias); } }
/// <summary> /// Loads the drop downs. /// </summary> private void LoadDropDowns() { dvpAccountType.DefinedTypeId = DefinedTypeCache.Get(Rock.SystemGuid.DefinedType.FINANCIAL_ACCOUNT_TYPE.AsGuid()).Id; cpCampus.Campuses = CampusCache.All(); ddlAccountParticipantPurposeKey.Items.Clear(); ddlAccountParticipantPurposeKey.Items.Add(new ListItem(RelatedEntityPurposeKey.GetPurposeKeyFriendlyName(RelatedEntityPurposeKey.FinancialAccountGivingAlert), RelatedEntityPurposeKey.FinancialAccountGivingAlert)); }
private void BuildCampusSelection() { foreach (var campus in CampusCache.All() .Where(c => c.IsActive.HasValue && c.IsActive.Value) .OrderBy(c => c.Name)) { bddlCampus.Items.Add(new ListItem(campus.Name, campus.Id.ToString())); } }
/// <summary> /// Loads the items. /// </summary> /// <param name="selectedValue">The selected value.</param> private void LoadItems(int?selectedValue) { // Get all the campi var campuses = CampusCache.All() .Where(c => (CampusIds.Contains(c.Id) && (!c.IsActive.HasValue || c.IsActive.Value || IncludeInactive)) || (selectedValue.HasValue && c.Id == selectedValue.Value)) .OrderBy(c => c.Order) .ToList(); // Get the current text for the first item if its value is empty string firstItemText = Items.Count > 0 && Items[0].Value == string.Empty ? Items[0].Text : string.Empty; List <int> selectedItems = new List <int>(); // If there is one campus then only show if ForceVisible is true. if (campuses.Count == 0) { this.Visible = false; } else if (campuses.Count == 1) { this.Visible = ForceVisible; // if this is required then auto-select the only campus if (this.Required) { selectedItems.Add(campuses[0].Id); } } else { /* * 2020-04-09 ETD * Don't set the Visible property here. If a block setting or somthing else is hiding the control this will show it. * Removed this to fix issue #4172. * this.Visible = true; */ selectedItems = Items.Cast <ListItem>() .Where(i => i.Selected) .Select(i => i.Value).AsIntegerList(); } Items.Clear(); // Add a blank first item. Items.Add(new ListItem(firstItemText, string.Empty)); foreach (CampusCache campus in campuses) { var li = new ListItem(campus.Name, campus.Id.ToString()); li.Selected = selectedItems.Contains(campus.Id); Items.Add(li); } }
/// <summary> /// Raises the <see cref="E:System.Web.UI.Control.Init" /> event. /// </summary> /// <param name="e">An <see cref="T:System.EventArgs" /> object that contains the event data.</param> protected override void OnInit(EventArgs e) { base.OnInit(e); // this event gets fired after block settings are updated. it's nice to repaint the screen if these settings would alter it this.BlockUpdated += Block_BlockUpdated; this.AddConfigurationUpdateTrigger(upnlContent); _campuses = CampusCache.All(); }
/// <summary> /// Gets the campuses that can be sent to a client. /// </summary> /// <param name="options">The options that specify which campuses to include.</param> /// <returns>A list of <see cref="ListItemViewModel"/> that represent the campus values.</returns> public List <ListItemViewModel> GetCampusesAsListItems(CampusOptions options = null) { IEnumerable <CampusCache> source = CampusCache.All(RockContext); options = options ?? DefaultCampusOptions; // Exclude inactive campuses unless we were asked to include them. if (!options.IncludeInactive) { source = source.Where(c => c.IsActive == true); } // If they specified any campus types then limit the results to // only those campuses that fit the criteria. if (options.LimitCampusTypes != null && options.LimitCampusTypes.Count > 0) { source = source.Where(c => { if (!c.CampusTypeValueId.HasValue) { return(false); } var definedValueCache = DefinedValueCache.Get(c.CampusTypeValueId.Value); return(definedValueCache != null && options.LimitCampusTypes.Contains(definedValueCache.Guid)); }); } // If they specified any campus status then limit the results to // only those campuses that fit the criteria. if (options.LimitCampusStatuses != null && options.LimitCampusStatuses.Count > 0) { source = source.Where(c => { if (!c.CampusStatusValueId.HasValue) { return(false); } var definedValueCache = DefinedValueCache.Get(c.CampusStatusValueId.Value); return(definedValueCache != null && options.LimitCampusStatuses.Contains(definedValueCache.Guid)); }); } source = CheckSecurity(source); return(source.OrderBy(c => c.Order) .Select(c => new ListItemViewModel() { Value = c.Guid.ToString(), Text = c.Name }).ToList()); }
/// <summary> /// Shows the edit details. /// </summary> /// <param name="batch">The financial batch.</param> protected void ShowEditDetails(FinancialBatch batch) { if (batch == null || batch.Id == 0) { // if the "BatchNames" configuration setting is set, and this is a new batch present a DropDown of BatchNames instead of a text box var batchNamesDefinedTypeGuid = this.GetAttributeValue("BatchNames").AsGuidOrNull(); ddlBatchName.Visible = false; tbName.Visible = true; if (batchNamesDefinedTypeGuid.HasValue) { var batchNamesDefinedType = DefinedTypeCache.Read(batchNamesDefinedTypeGuid.Value); if (batchNamesDefinedType != null) { ddlBatchName.BindToDefinedType(batchNamesDefinedType, true, false); if (batchNamesDefinedType.DefinedValues.Any(a => !string.IsNullOrWhiteSpace(a.Value))) { ddlBatchName.Visible = true; tbName.Visible = false; } } } } if (batch != null) { hfBatchId.Value = batch.Id.ToString(); string title = batch.Id > 0 ? ActionTitle.Edit(FinancialBatch.FriendlyTypeName) : ActionTitle.Add(FinancialBatch.FriendlyTypeName); SetHeadingInfo(batch, title); SetEditMode(true); tbName.Text = batch.Name; ddlStatus.BindToEnum <BatchStatus>(); ddlStatus.SelectedIndex = (int)(BatchStatus)batch.Status; campCampus.Campuses = CampusCache.All(); if (batch.CampusId.HasValue) { campCampus.SetValue(batch.CampusId.Value); } tbControlAmount.Text = batch.ControlAmount.ToString("N2"); dtpStart.SelectedDateTime = batch.BatchStartDateTime; dtpEnd.SelectedDateTime = batch.BatchEndDateTime; tbAccountingCode.Text = batch.AccountingSystemCode; tbNote.Text = batch.Note; } }
/// <summary> /// Binds the filter. /// </summary> private void BindFilter() { // show campus filter var showCampusFilter = GetAttributeValue(AttributeKey.ShowCampusFilter).AsBoolean(); var showCampus = showCampusFilter; var qryCampusId = PageParameter(PageParameterKey.CampusId).AsIntegerOrNull(); if (qryCampusId.HasValue && showCampus) { var campus = CampusCache.Get(qryCampusId.Value); if (campus != null) { showCampus = false; } } if (showCampus) { var selectedCampusTypeIds = GetAttributeValue(AttributeKey.CampusTypes) .SplitDelimitedValues(true) .AsGuidList() .Select(a => DefinedValueCache.Get(a)) .Where(a => a != null) .Select(a => a.Id) .ToList(); cpCampus.Campuses = CampusCache.All(); if (selectedCampusTypeIds.Any()) { cpCampus.CampusTypesFilter = selectedCampusTypeIds; } var selectedCampusStatusIds = GetAttributeValue(AttributeKey.CampusStatuses) .SplitDelimitedValues(true) .AsGuidList() .Select(a => DefinedValueCache.Get(a)) .Where(a => a != null) .Select(a => a.Id) .ToList(); if (selectedCampusStatusIds.Any()) { cpCampus.CampusStatusFilter = selectedCampusStatusIds; } } var isCampusVisible = showCampus && cpCampus.Items.Count > 2; cpCampus.Visible = isCampusVisible; if (isCampusVisible) { cpCampus.SelectedCampusId = GetUserPreference(CAMPUS_SETTING).AsIntegerOrNull(); } }
/// <summary> /// Sets the filter. /// </summary> private void SetFilter() { using (var rockContext = new RockContext()) { var personService = new PersonService(rockContext); int?personId = rFilter.GetUserPreference("Requester").AsIntegerOrNull(); if (personId.HasValue) { ppRequester.SetValue(personService.Get(personId.Value)); } rFilter.AdditionalFilterDisplay.Clear(); if (tglMyOpportunities.Checked) { ppConnector.Visible = false; rFilter.AdditionalFilterDisplay.Add("Connector", CurrentPerson.FullName); cblState.Visible = false; rFilter.AdditionalFilterDisplay.Add("State", "Active, Future Follow Up (Past Due)"); } else { ppConnector.Visible = true; personId = rFilter.GetUserPreference("Connector").AsIntegerOrNull(); if (personId.HasValue) { ppConnector.SetValue(personService.Get(personId.Value)); } cblState.Visible = true; cblState.SetValues(rFilter.GetUserPreference("State").SplitDelimitedValues().AsIntegerList()); } cblCampus.DataSource = CampusCache.All(); cblCampus.DataBind(); cblCampus.SetValues(rFilter.GetUserPreference("Campus").SplitDelimitedValues().AsIntegerList()); cblStatus.Items.Clear(); if (SelectedOpportunityId.HasValue) { cblStatus.DataSource = new ConnectionOpportunityService(rockContext).Get(SelectedOpportunityId.Value).ConnectionType.ConnectionStatuses.ToList(); cblStatus.DataBind(); cblStatus.SetValues(rFilter.GetUserPreference(MakeKeyUniqueToOpportunity("Status")).SplitDelimitedValues().AsIntegerList()); } cblLastActivity.Items.Clear(); if (SelectedOpportunityId.HasValue) { cblLastActivity.DataSource = new ConnectionOpportunityService(rockContext).Get(SelectedOpportunityId.Value).ConnectionType.ConnectionActivityTypes.ToList(); cblLastActivity.DataBind(); cblLastActivity.SetValues(rFilter.GetUserPreference(MakeKeyUniqueToOpportunity("LastActivity")).SplitDelimitedValues().AsIntegerList()); } } }
/// <summary> /// Creates the child controls. /// </summary> /// <returns></returns> public override Control[] CreateChildControls(Type entityType, FilterField filterControl) { CampusPicker campusPicker = new CampusPicker(); campusPicker.ID = filterControl.ID + "_campusPicker"; campusPicker.Label = "Campus"; campusPicker.Campuses = CampusCache.All(); filterControl.Controls.Add(campusPicker); return(new Control[] { campusPicker }); }
protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); var campuses = CampusCache.All(); foreach (ListItem campus in cblCampus.Items) { var campusObj = campuses.Where(c => c.Id.ToString() == campus.Value).FirstOrDefault(); campus.Text = "<strong><span class=\"" + campusObj.AttributeValues["Slug"] + " text\">" + campusObj.Name.ToUpper() + "</span></strong>"; } }