/// <summary> /// Binds the grid. /// </summary> private void BindGrid() { CampusCache campus = GetCampusFromContext(); var selectedScheduleIds = lbSchedules.SelectedValues.AsIntegerList().Where(a => a > 0).ToList(); List <int> selectedGroupIds = GetSelectedGroupIds(); var rockContext = new RockContext(); var customSettings = CheckinManagerHelper.GetCheckinManagerConfigurationFromCookie().CustomSettings; customSettings.AddOrReplace(CustomSettingKey.EnRouteScheduleIdsFilter, selectedScheduleIds.AsDelimited(",")); customSettings.AddOrReplace(CustomSettingKey.EnRoutePickedGroupIdsFilter, gpGroups.SelectedIds.ToList().AsDelimited(",")); customSettings.AddOrReplace(CustomSettingKey.EnRouteIncludeChildGroupsFilter, cbIncludeChildGroups.Checked.ToTrueFalse()); CheckinManagerHelper.SaveCustomSettingsToCookie(customSettings); IList <RosterAttendee> attendees = null; attendees = GetAttendees(rockContext); // sort by Name, and also by PersonGuid (so they stay in a consistent order in cases where Names are identical var attendeesSorted = attendees .OrderBy(a => a.NickName) .ThenBy(a => a.LastName) .ThenBy(a => a.PersonGuid) .ToList(); _showOnlyParentGroup = this.GetAttributeValue(AttributeKey.ShowOnlyParentGroup).AsBoolean(); gAttendees.DataSource = attendeesSorted; gAttendees.DataBind(); }
/// <summary> /// Shows the filters. /// </summary> private void BindFilter() { ScheduleService scheduleService = new ScheduleService(new RockContext()); var selectedScheduleIds = CheckinManagerHelper.GetCheckinManagerConfigurationFromCookie().RoomListScheduleIdsFilter; // Limit Schedules to ones that are Active, have a CheckInStartOffsetMinutes, and are Named schedules. var scheduleQry = scheduleService.Queryable().Where(a => a.IsActive && a.CheckInStartOffsetMinutes != null && a.Name != null && a.Name != string.Empty); var scheduleList = scheduleQry.ToList().OrderBy(a => a.Name).ToList(); var sortedScheduleList = scheduleList.OrderByOrderAndNextScheduledDateTime(); lbSchedules.Items.Clear(); foreach (var schedule in sortedScheduleList) { var listItem = new ListItem(); if (schedule.Name.IsNotNullOrWhiteSpace()) { listItem.Text = schedule.Name; } else { listItem.Text = schedule.FriendlyScheduleText; } listItem.Value = schedule.Id.ToString(); listItem.Selected = selectedScheduleIds.Contains(schedule.Id); lbSchedules.Items.Add(listItem); } }
/// <summary> /// Shows the filters. /// </summary> private void BindFilter() { ScheduleService scheduleService = new ScheduleService(new RockContext()); var customSettings = CheckinManagerHelper.GetCheckinManagerConfigurationFromCookie().CustomSettings; var scheduleIdsFilter = customSettings.GetValueOrNull(CustomSettingKey.EnRouteScheduleIdsFilter); var pickedGroupIdsFilter = customSettings.GetValueOrNull(CustomSettingKey.EnRoutePickedGroupIdsFilter); var includeChildGroupsFilter = customSettings.GetValueOrNull(CustomSettingKey.EnRouteIncludeChildGroupsFilter); var selectedScheduleIds = scheduleIdsFilter.SplitDelimitedValues().AsIntegerList(); // limit Schedules to ones that are Active, have a CheckInStartOffsetMinutes, and are Named schedules var scheduleQry = scheduleService.Queryable().Where(a => a.IsActive && a.CheckInStartOffsetMinutes != null && a.Name != null && a.Name != string.Empty); var scheduleList = scheduleQry.ToList().OrderBy(a => a.Name).ToList(); var sortedScheduleList = scheduleList.OrderByOrderAndNextScheduledDateTime(); lbSchedules.Items.Clear(); foreach (var schedule in sortedScheduleList) { var listItem = new ListItem(); if (schedule.Name.IsNotNullOrWhiteSpace()) { listItem.Text = schedule.Name; } else { listItem.Text = schedule.FriendlyScheduleText; } listItem.Value = schedule.Id.ToString(); listItem.Selected = selectedScheduleIds.Contains(schedule.Id); lbSchedules.Items.Add(listItem); } IEnumerable <CheckinAreaPath> checkinAreasPaths; var checkinAreaFilter = CheckinManagerHelper.GetCheckinAreaFilter(this); if (checkinAreaFilter != null) { checkinAreasPaths = new GroupTypeService(new RockContext()).GetCheckinAreaDescendantsPath(checkinAreaFilter.Id); } else { checkinAreasPaths = new GroupTypeService(new RockContext()).GetAllCheckinAreaPaths(); } var checkinGroupTypeIdsToShow = checkinAreasPaths.Select(a => a.GroupTypeId).Distinct().ToList(); gpGroups.IncludedGroupTypeIds = checkinGroupTypeIdsToShow; var selectedGroupIds = pickedGroupIdsFilter.SplitDelimitedValues().AsIntegerList(); gpGroups.SetValues(selectedGroupIds); if (GetAttributeValue(AttributeKey.AlwaysShowChildGroups).AsBoolean()) { cbIncludeChildGroups.Visible = false; lblIncludeChildGroups.Visible = true; cbIncludeChildGroups.Checked = true; } else { cbIncludeChildGroups.Visible = true; lblIncludeChildGroups.Visible = false; cbIncludeChildGroups.Checked = includeChildGroupsFilter.AsBoolean(); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnReprintLabels_Click(object sender, EventArgs e) { nbReprintMessage.Visible = false; Guid personGuid = GetPersonGuid(); if (personGuid == Guid.Empty) { maNoLabelsFound.Show("No person was found.", ModalAlertType.Alert); return; } if (string.IsNullOrEmpty(hfCurrentAttendanceIds.Value)) { maNoLabelsFound.Show("No labels were found for re-printing.", ModalAlertType.Alert); return; } var rockContext = new RockContext(); var attendanceIds = hfCurrentAttendanceIds.Value.SplitDelimitedValues().AsIntegerList(); // Get the person Id from the PersonId page parameter, or look it up based on the Person Guid page parameter. int?personIdParam = PageParameter(PageParameterKey.PersonId).AsIntegerOrNull(); int personId = personIdParam.HasValue ? personIdParam.Value : new PersonService(rockContext).GetId(personGuid).GetValueOrDefault(); hfPersonId.Value = personId.ToString(); var possibleLabels = ZebraPrint.GetLabelTypesForPerson(personId, attendanceIds); if (possibleLabels != null && possibleLabels.Count != 0) { cblLabels.DataSource = possibleLabels; cblLabels.DataBind(); } else { maNoLabelsFound.Show("No labels were found for re-printing.", ModalAlertType.Alert); return; } cblLabels.DataSource = ZebraPrint.GetLabelTypesForPerson(personId, attendanceIds).OrderBy(l => l.Name); cblLabels.DataBind(); // Get the printers list. var printerList = new DeviceService(rockContext) .GetByDeviceTypeGuid(new Guid(Rock.SystemGuid.DefinedValue.DEVICE_TYPE_PRINTER)) .OrderBy(d => d.Name) .Select(a => new { a.Name, a.Guid }) .ToList(); ddlPrinter.Items.Clear(); ddlPrinter.Items.Add(new ListItem()); if (hfHasClientPrinter.Value.AsBoolean()) { ddlPrinter.Items.Add(new ListItem("local printer", Guid.Empty.ToString())); } foreach (var printer in printerList) { ddlPrinter.Items.Add(new ListItem(printer.Name, printer.Guid.ToString())); } var labelPrinterGuid = CheckinManagerHelper.GetCheckinManagerConfigurationFromCookie().LabelPrinterGuid; ddlPrinter.SetValue(labelPrinterGuid); nbReprintLabelMessages.Text = string.Empty; mdReprintLabels.Show(); }