diff --git a/Topo/Model/AdditionalAwards/AdditionalAwardListModel.cs b/Model/AdditionalAwards/AdditionalAwardListModel.cs similarity index 100% rename from Topo/Model/AdditionalAwards/AdditionalAwardListModel.cs rename to Model/AdditionalAwards/AdditionalAwardListModel.cs diff --git a/Topo/Model/AdditionalAwards/AdditionalAwardSpecificationListModel.cs b/Model/AdditionalAwards/AdditionalAwardSpecificationListModel.cs similarity index 100% rename from Topo/Model/AdditionalAwards/AdditionalAwardSpecificationListModel.cs rename to Model/AdditionalAwards/AdditionalAwardSpecificationListModel.cs diff --git a/Topo/Model/AdditionalAwards/AdditionalAwardsPageViewModel.cs b/Model/AdditionalAwards/AdditionalAwardsPageViewModel.cs similarity index 100% rename from Topo/Model/AdditionalAwards/AdditionalAwardsPageViewModel.cs rename to Model/AdditionalAwards/AdditionalAwardsPageViewModel.cs diff --git a/Topo/Model/AdditionalAwards/AdditionalAwardsReportDataModel.cs b/Model/AdditionalAwards/AdditionalAwardsReportDataModel.cs similarity index 100% rename from Topo/Model/AdditionalAwards/AdditionalAwardsReportDataModel.cs rename to Model/AdditionalAwards/AdditionalAwardsReportDataModel.cs diff --git a/Topo/Model/AdditionalAwards/GetAdditionalAwardsSpecificationsResultModel.cs b/Model/AdditionalAwards/GetAdditionalAwardsSpecificationsResultModel.cs similarity index 100% rename from Topo/Model/AdditionalAwards/GetAdditionalAwardsSpecificationsResultModel.cs rename to Model/AdditionalAwards/GetAdditionalAwardsSpecificationsResultModel.cs diff --git a/Topo/Model/AdditionalAwards/GetUnitAchievementsResultModel.cs b/Model/AdditionalAwards/GetUnitAchievementsResultModel.cs similarity index 100% rename from Topo/Model/AdditionalAwards/GetUnitAchievementsResultModel.cs rename to Model/AdditionalAwards/GetUnitAchievementsResultModel.cs diff --git a/Topo/Model/Approvals/ApprovalsListModel.cs b/Model/Approvals/ApprovalsListModel.cs similarity index 100% rename from Topo/Model/Approvals/ApprovalsListModel.cs rename to Model/Approvals/ApprovalsListModel.cs diff --git a/Topo/Model/Approvals/ApprovalsPageViewModel.cs b/Model/Approvals/ApprovalsPageViewModel.cs similarity index 100% rename from Topo/Model/Approvals/ApprovalsPageViewModel.cs rename to Model/Approvals/ApprovalsPageViewModel.cs diff --git a/Topo/Model/Approvals/BackupRestorePageViewModel.cs b/Model/Approvals/BackupRestorePageViewModel.cs similarity index 100% rename from Topo/Model/Approvals/BackupRestorePageViewModel.cs rename to Model/Approvals/BackupRestorePageViewModel.cs diff --git a/Topo/Model/Approvals/GetApprovalsRestulModel.cs b/Model/Approvals/GetApprovalsRestulModel.cs similarity index 100% rename from Topo/Model/Approvals/GetApprovalsRestulModel.cs rename to Model/Approvals/GetApprovalsRestulModel.cs diff --git a/Topo/Model/Approvals/GetMemberAchievementResultModel.cs b/Model/Approvals/GetMemberAchievementResultModel.cs similarity index 100% rename from Topo/Model/Approvals/GetMemberAchievementResultModel.cs rename to Model/Approvals/GetMemberAchievementResultModel.cs diff --git a/Topo/Model/Index/IndexPageViewModel.cs b/Model/Index/IndexPageViewModel.cs similarity index 100% rename from Topo/Model/Index/IndexPageViewModel.cs rename to Model/Index/IndexPageViewModel.cs diff --git a/Topo/Model/Logbook/GetMemberLogbookDetailRequestModel.cs b/Model/Logbook/GetMemberLogbookDetailRequestModel.cs similarity index 100% rename from Topo/Model/Logbook/GetMemberLogbookDetailRequestModel.cs rename to Model/Logbook/GetMemberLogbookDetailRequestModel.cs diff --git a/Topo/Model/Logbook/GetMemberLogbookMetricsResultModel.cs b/Model/Logbook/GetMemberLogbookMetricsResultModel.cs similarity index 100% rename from Topo/Model/Logbook/GetMemberLogbookMetricsResultModel.cs rename to Model/Logbook/GetMemberLogbookMetricsResultModel.cs diff --git a/Topo/Model/Logbook/GetMemberLogbookSummaryResultModel.cs b/Model/Logbook/GetMemberLogbookSummaryResultModel.cs similarity index 100% rename from Topo/Model/Logbook/GetMemberLogbookSummaryResultModel.cs rename to Model/Logbook/GetMemberLogbookSummaryResultModel.cs diff --git a/Topo/Model/Logbook/LogbookPageViewModel.cs b/Model/Logbook/LogbookPageViewModel.cs similarity index 100% rename from Topo/Model/Logbook/LogbookPageViewModel.cs rename to Model/Logbook/LogbookPageViewModel.cs diff --git a/Topo/Model/Logbook/MemberLogbookReportViewModel.cs b/Model/Logbook/MemberLogbookReportViewModel.cs similarity index 100% rename from Topo/Model/Logbook/MemberLogbookReportViewModel.cs rename to Model/Logbook/MemberLogbookReportViewModel.cs diff --git a/Topo/Model/Login/AccessTokenModel.cs b/Model/Login/AccessTokenModel.cs similarity index 100% rename from Topo/Model/Login/AccessTokenModel.cs rename to Model/Login/AccessTokenModel.cs diff --git a/Topo/Model/Login/AuthenticationErrorResultModel.cs b/Model/Login/AuthenticationErrorResultModel.cs similarity index 100% rename from Topo/Model/Login/AuthenticationErrorResultModel.cs rename to Model/Login/AuthenticationErrorResultModel.cs diff --git a/Topo/Model/Login/AuthenticationResultModel.cs b/Model/Login/AuthenticationResultModel.cs similarity index 100% rename from Topo/Model/Login/AuthenticationResultModel.cs rename to Model/Login/AuthenticationResultModel.cs diff --git a/Topo/Model/Login/AuthenticationSuccessResultModel.cs b/Model/Login/AuthenticationSuccessResultModel.cs similarity index 100% rename from Topo/Model/Login/AuthenticationSuccessResultModel.cs rename to Model/Login/AuthenticationSuccessResultModel.cs diff --git a/Topo/Model/Login/GetProfilesResultModel.cs b/Model/Login/GetProfilesResultModel.cs similarity index 100% rename from Topo/Model/Login/GetProfilesResultModel.cs rename to Model/Login/GetProfilesResultModel.cs diff --git a/Topo/Model/Login/GetUserResultModel.cs b/Model/Login/GetUserResultModel.cs similarity index 100% rename from Topo/Model/Login/GetUserResultModel.cs rename to Model/Login/GetUserResultModel.cs diff --git a/Topo/Model/Login/InitiateAuthModel.cs b/Model/Login/InitiateAuthModel.cs similarity index 100% rename from Topo/Model/Login/InitiateAuthModel.cs rename to Model/Login/InitiateAuthModel.cs diff --git a/Topo/Model/Login/LoginPageViewModel.cs b/Model/Login/LoginPageViewModel.cs similarity index 100% rename from Topo/Model/Login/LoginPageViewModel.cs rename to Model/Login/LoginPageViewModel.cs diff --git a/Topo/Model/Members/GetMembersResultModel.cs b/Model/Members/GetMembersResultModel.cs similarity index 100% rename from Topo/Model/Members/GetMembersResultModel.cs rename to Model/Members/GetMembersResultModel.cs diff --git a/Topo/Model/Members/MemberListModel.cs b/Model/Members/MemberListModel.cs similarity index 100% rename from Topo/Model/Members/MemberListModel.cs rename to Model/Members/MemberListModel.cs diff --git a/Topo/Model/Members/MembersPageViewModel.cs b/Model/Members/MembersPageViewModel.cs similarity index 100% rename from Topo/Model/Members/MembersPageViewModel.cs rename to Model/Members/MembersPageViewModel.cs diff --git a/Topo/Model/Milestone/GetGroupLifeResultModel.cs b/Model/Milestone/GetGroupLifeResultModel.cs similarity index 100% rename from Topo/Model/Milestone/GetGroupLifeResultModel.cs rename to Model/Milestone/GetGroupLifeResultModel.cs diff --git a/Topo/Model/Milestone/MilestonePageViewModel.cs b/Model/Milestone/MilestonePageViewModel.cs similarity index 100% rename from Topo/Model/Milestone/MilestonePageViewModel.cs rename to Model/Milestone/MilestonePageViewModel.cs diff --git a/Topo/Model/Milestone/MilestoneSummaryListModel.cs b/Model/Milestone/MilestoneSummaryListModel.cs similarity index 100% rename from Topo/Model/Milestone/MilestoneSummaryListModel.cs rename to Model/Milestone/MilestoneSummaryListModel.cs diff --git a/Model/Model.csproj b/Model/Model.csproj new file mode 100644 index 0000000..cd03632 --- /dev/null +++ b/Model/Model.csproj @@ -0,0 +1,14 @@ + + + + net6.0 + enable + enable + Topo.$(MSBuildProjectName.Replace(" ", "_")) + + + + + + + diff --git a/Topo/Model/OAS/GetOASTemplateResultModel.cs b/Model/OAS/GetOASTemplateResultModel.cs similarity index 100% rename from Topo/Model/OAS/GetOASTemplateResultModel.cs rename to Model/OAS/GetOASTemplateResultModel.cs diff --git a/Topo/Model/OAS/GetOASTreeResultModel.cs b/Model/OAS/GetOASTreeResultModel.cs similarity index 100% rename from Topo/Model/OAS/GetOASTreeResultModel.cs rename to Model/OAS/GetOASTreeResultModel.cs diff --git a/Topo/Model/OAS/GetUnitAchievementsResultModel.cs b/Model/OAS/GetUnitAchievementsResultModel.cs similarity index 100% rename from Topo/Model/OAS/GetUnitAchievementsResultModel.cs rename to Model/OAS/GetUnitAchievementsResultModel.cs diff --git a/Topo/Model/OAS/OASPageViewModel.cs b/Model/OAS/OASPageViewModel.cs similarity index 100% rename from Topo/Model/OAS/OASPageViewModel.cs rename to Model/OAS/OASPageViewModel.cs diff --git a/Topo/Model/OAS/OASStageListModel.cs b/Model/OAS/OASStageListModel.cs similarity index 100% rename from Topo/Model/OAS/OASStageListModel.cs rename to Model/OAS/OASStageListModel.cs diff --git a/Topo/Model/OAS/OASTemplate.cs b/Model/OAS/OASTemplate.cs similarity index 100% rename from Topo/Model/OAS/OASTemplate.cs rename to Model/OAS/OASTemplate.cs diff --git a/Topo/Model/OAS/OASWorksheetAnswers.cs b/Model/OAS/OASWorksheetAnswers.cs similarity index 100% rename from Topo/Model/OAS/OASWorksheetAnswers.cs rename to Model/OAS/OASWorksheetAnswers.cs diff --git a/Topo/Model/Program/AttendanceReportModel.cs b/Model/Program/AttendanceReportModel.cs similarity index 100% rename from Topo/Model/Program/AttendanceReportModel.cs rename to Model/Program/AttendanceReportModel.cs diff --git a/Topo/Model/Program/EventListModel.cs b/Model/Program/EventListModel.cs similarity index 100% rename from Topo/Model/Program/EventListModel.cs rename to Model/Program/EventListModel.cs diff --git a/Topo/Model/Program/GetCalendarsResultModel.cs b/Model/Program/GetCalendarsResultModel.cs similarity index 100% rename from Topo/Model/Program/GetCalendarsResultModel.cs rename to Model/Program/GetCalendarsResultModel.cs diff --git a/Topo/Model/Program/GetEventResultModel.cs b/Model/Program/GetEventResultModel.cs similarity index 100% rename from Topo/Model/Program/GetEventResultModel.cs rename to Model/Program/GetEventResultModel.cs diff --git a/Topo/Model/Program/GetEventsResultModel.cs b/Model/Program/GetEventsResultModel.cs similarity index 100% rename from Topo/Model/Program/GetEventsResultModel.cs rename to Model/Program/GetEventsResultModel.cs diff --git a/Topo/Model/Program/ProgramPageViewModel.cs b/Model/Program/ProgramPageViewModel.cs similarity index 94% rename from Topo/Model/Program/ProgramPageViewModel.cs rename to Model/Program/ProgramPageViewModel.cs index cc4aa1b..83b4e66 100644 --- a/Topo/Model/Program/ProgramPageViewModel.cs +++ b/Model/Program/ProgramPageViewModel.cs @@ -1,6 +1,4 @@ using System.ComponentModel.DataAnnotations; -using System.Xml.Linq; -using Topo.Controller; namespace Topo.Model.Program { diff --git a/Topo/Model/ReportGeneration/ReportGenerationRequest.cs b/Model/ReportGeneration/ReportGenerationRequest.cs similarity index 100% rename from Topo/Model/ReportGeneration/ReportGenerationRequest.cs rename to Model/ReportGeneration/ReportGenerationRequest.cs diff --git a/Topo/Model/SIA/GetSIAResultModel.cs b/Model/SIA/GetSIAResultModel.cs similarity index 100% rename from Topo/Model/SIA/GetSIAResultModel.cs rename to Model/SIA/GetSIAResultModel.cs diff --git a/Topo/Model/SIA/GetSIAResultsModel.cs b/Model/SIA/GetSIAResultsModel.cs similarity index 100% rename from Topo/Model/SIA/GetSIAResultsModel.cs rename to Model/SIA/GetSIAResultsModel.cs diff --git a/Topo/Model/SIA/SIAPageViewModel.cs b/Model/SIA/SIAPageViewModel.cs similarity index 100% rename from Topo/Model/SIA/SIAPageViewModel.cs rename to Model/SIA/SIAPageViewModel.cs diff --git a/Topo/Model/SIA/SIAProjectListModel.cs b/Model/SIA/SIAProjectListModel.cs similarity index 100% rename from Topo/Model/SIA/SIAProjectListModel.cs rename to Model/SIA/SIAProjectListModel.cs diff --git a/Topo/Model/Wallchart/WallchartItemModel.cs b/Model/Wallchart/WallchartItemModel.cs similarity index 100% rename from Topo/Model/Wallchart/WallchartItemModel.cs rename to Model/Wallchart/WallchartItemModel.cs diff --git a/Topo/Model/Wallchart/WallchartPageViewModel.cs b/Model/Wallchart/WallchartPageViewModel.cs similarity index 100% rename from Topo/Model/Wallchart/WallchartPageViewModel.cs rename to Model/Wallchart/WallchartPageViewModel.cs diff --git a/Services/ReportService.cs b/Services/ReportService.cs new file mode 100644 index 0000000..f971d2f --- /dev/null +++ b/Services/ReportService.cs @@ -0,0 +1,2122 @@ +using Syncfusion.Drawing; +using Syncfusion.XlsIO; +using Syncfusion.XlsIO.Implementation; +using Topo.Model.AdditionalAwards; +using Topo.Model.Approvals; +using Topo.Model.Program; +using Topo.Model.Logbook; +using Topo.Model.Members; +using Topo.Model.Milestone; +using Topo.Model.OAS; +using Topo.Model.SIA; +using Topo.Model.Wallchart; + +namespace Topo.Services +{ + public interface IReportService + { + public IWorkbook GenerateAdditionalAwardsWorkbook(List awardSpecificationsList, List sortedAdditionalAwardsList, List? distinctAwards, string groupName, string section, string unitName); + public IWorkbook GeneratePatrolListWorkbook(List sortedPatrolList, string groupName, string section, string unitName, bool includeLeaders); + public IWorkbook GenerateMemberListWorkbook(List sortedMemberList, string groupName, string section, string unitName); + public IWorkbook GeneratePatrolSheetsWorkbook(List sortedPatrolList, string section); + public IWorkbook GenerateSignInSheetWorkbook(List memberListModel, string groupName, string section, string unitName, string eventName); + public IWorkbook GenerateEventAttendanceWorkbook(EventListModel eventListModel, string groupName, string section, string unitName); + public IWorkbook GenerateAttendanceReportWorkbook(AttendanceReportModel attendanceReportData, string groupName, string section, string unitName, DateTime fromDate, DateTime toDate, bool forPdfOutput); + public IWorkbook GenerateOASWorksheetWorkbook(List worksheetAnswers, string groupName, string section, string unitName, bool forPdfOutput, bool formatLikeTerrain, bool showByPatrol = false); + public IWorkbook GenerateSIAWorkbook(List siaProjects, string groupName, string section, string unitName, bool forPdfOutput); + public IWorkbook GenerateMilestoneWorkbook(List milestoneSummaries, string groupName, string section, string unitName, bool forPdfOutput); + public IWorkbook GenerateLogbookWorkbook(List logbookEntries, string groupName, string section, string unitName, bool forPdfOutput); + public IWorkbook GenerateWallchartWorkbook(List wallchartEntries, string groupName, string section, string unitName, bool forPdfOutput); + public IWorkbook GenerateApprovalsWorkbook(List selectedApprovals, string groupName, string section, string unitName, DateTime approvalSearchFromDate, DateTime approvalSearchToDate, bool groupByMember, bool forPdfOutput); + public IWorkbook CreateWorkbookWithSheets(int sheetsToCreate); + } + public class ReportService : IReportService + { + private enum participateAssistLead + { + participate, + assist, + lead + } + + private enum wallchartGroups + { + intro, + participate, + assist, + lead, + oasCore, + oasLand, + oasWater, + oasProgression, + siaOdd, + siaEven, + leadershipCourse, + adventurousJourney, + personalReflection, + peakAward + } + + private Color[] Milestone1ParticipateColours = new Color[] + { + Color.FromArgb(236, 82, 82), + Color.FromArgb(241, 129, 57), + Color.FromArgb(248, 194, 23), + Color.FromArgb(253, 238, 0), + Color.FromArgb(218, 240, 29), + Color.FromArgb(183, 241, 58), + Color.FromArgb(156, 242, 80) + }; + + private Color[] Milestone1AssistColours = new Color[] + { + Color.FromArgb(236, 82, 82), + Color.FromArgb(253, 238, 0), + Color.FromArgb(156, 242, 80) + }; + + private Color[] Milestone1LeadColours = new Color[] + { + Color.FromArgb(236, 82, 82), + Color.FromArgb(156, 242, 80) + }; + + private Color[] Milestone2ParticipateColours = new Color[] + { + Color.FromArgb(236, 82, 82), + Color.FromArgb(241, 131, 57), + Color.FromArgb(248, 189, 26), + Color.FromArgb(221, 239, 26), + Color.FromArgb(184, 241, 57), + Color.FromArgb(156, 242, 80) + }; + + private Color[] Milestone2AssistColours = new Color[] + { + Color.FromArgb(236, 82, 82), + Color.FromArgb(246, 176, 33), + Color.FromArgb(216, 240, 30), + Color.FromArgb(156, 242, 80) + }; + + private Color[] Milestone3Colours = new Color[] + { + Color.FromArgb(236, 82, 82), + Color.FromArgb(244, 157, 43), + Color.FromArgb(253, 238, 0), + Color.FromArgb(206, 240, 38), + Color.FromArgb(156, 242, 80) + }; + + public ReportService() + { + } + + public IWorkbook CreateWorkbookWithSheets(int sheetsToCreate) + { + //Step 1 : Instantiate the spreadsheet creation engine. + ExcelEngine excelEngine = new ExcelEngine(); + //Step 2 : Instantiate the excel application object. + IApplication application = excelEngine.Excel; + application.DefaultVersion = ExcelVersion.Excel2016; + + //Initializes the SubstituteFont event to perform font substitution in Excel-to-PDF conversion. + application.SubstituteFont += new SubstituteFontEventHandler(SubstituteFont); + + // Creating new workbook + IWorkbook workbook = application.Workbooks.Create(sheetsToCreate); + + //Adding cell style. + IStyle headingStyle = workbook.Styles.Add("headingStyle"); + headingStyle.Font.Bold = true; + headingStyle.Font.Size = 14; + headingStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + headingStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + + return workbook; + } + + private static void SubstituteFont(object sender, SubstituteFontEventArgs args) + { + var directory = Directory.GetCurrentDirectory(); + args.AlternateFontStream = File.OpenRead($@"{directory}/Fonts/carlito.regular.ttf"); + } + + private IWorksheet AddLogoToSheet(IWorkbook workbook, int worksheetIndex, string groupName, string section, int lastHeadingCol) + { + IWorksheet sheet = workbook.Worksheets[worksheetIndex]; + + // Add Logo + var directory = Directory.GetCurrentDirectory(); + var logoName = GetLogoForSection(section); + var logoFullPathName = $@"{directory}/Images/{logoName}"; + if (File.Exists(logoFullPathName)) + { + FileStream imageStream = new FileStream(logoFullPathName, FileMode.Open, FileAccess.Read); + IPictureShape logo = sheet.Pictures.AddPicture(1, 1, imageStream); + var aspectRatio = (double)logo.Height / logo.Width; + logo.Width = 100; + logo.Height = (int)(100 * aspectRatio); + } + + // Add Group Name + var groupNameCell = sheet.Range[1, 2]; + groupNameCell.Text = groupName; + groupNameCell.CellStyle = workbook.Styles["headingStyle"]; + sheet.Range[1, 2, 1, lastHeadingCol].Merge(); + sheet.SetRowHeight(1, 30); + + return sheet; + } + + public string GetLogoForSection(string section) + { + var logoName = ""; + switch (section) + { + case "joey": + logoName = "Joey Scouts Full Col Vertical.jpg"; + break; + case "cub": + logoName = "Cub Scouts Full Col Vertical.png"; + break; + case "scout": + logoName = "Scouts Full Col Vertical.jpg"; + break; + case "venturer": + logoName = "Venturer Scouts Full Col Vertical.jpg"; + break; + case "rover": + logoName = "Rover Scouts Full Col Vertical.jpg"; + break; + } + return logoName; + } + + private IWorkbook CreateWorkbookWithLogo(string groupName, string section, int lastHeadingCol) + { + var workbook = CreateWorkbookWithSheets(1); + AddLogoToSheet(workbook, 0, groupName, section, lastHeadingCol); + return workbook; + } + public IWorkbook GenerateAdditionalAwardsWorkbook(List awardSpecificationsList, List sortedAdditionalAwardsList, List? distinctAwards, string groupName, string section, string unitName) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 16); + IWorksheet sheet = workbook.Worksheets[0]; + int rowNumber = 1; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = $"Additional Badges Awarded as at {DateTime.Now.ToShortDateString()}"; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 16].Merge(); + sheet.SetRowHeight(rowNumber, 30); + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 16].Merge(); + sheet.SetRowHeight(rowNumber, 40); + + //Add Heading Row + rowNumber++; + var columnNumber = 1; + sheet.Range[rowNumber, 1].Text = "Scout"; + sheet.Range[rowNumber, 1].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + var usedAwards = awardSpecificationsList.Where(x => distinctAwards.Contains(x.id)); + foreach (var award in usedAwards.OrderBy(x => x.additionalAwardSortIndex)) + { + columnNumber = distinctAwards.IndexOf(award.id) + 1; + var cell = sheet.Range[rowNumber, columnNumber + 1]; + cell.Text = " " + award.name; + cell.CellStyle.Rotation = 90; + cell.CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + cell.CellStyle.VerticalAlignment = ExcelVAlign.VAlignBottom; + cell.BorderAround(); + } + rowNumber++; + // Add detail rows + foreach (var additionalAward in sortedAdditionalAwardsList.GroupBy(x => x.MemberName)) + { + sheet.SetRowHeight(rowNumber, 15); + sheet.Range[rowNumber, 1].Text = additionalAward.Key; + sheet.Range[rowNumber, 1].BorderAround(); + sheet.Range[rowNumber, 1].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + // Set style for date boxes + for (int i = 0; i < distinctAwards.Count(); i++) + { + var cell = sheet.Range[rowNumber, i + 2]; + cell.CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + cell.CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + cell.BorderAround(); + } + // Populate award dates + foreach (var x in additionalAward) + { + columnNumber = distinctAwards.IndexOf(x.AwardId) + 1; + var cell = sheet.Range[rowNumber, columnNumber + 1]; + if (x.AwardDate.HasValue) + { + cell.DateTime = x.AwardDate.Value; + cell.CellStyle.Color = Color.Orange; + if (x.PresentedDate.HasValue) + { + cell.DateTime = x.PresentedDate.Value; + cell.CellStyle.Color = Color.LightGreen; + } + cell.NumberFormat = "dd/MM/yy"; + } + } + rowNumber++; + } + sheet.UsedRange.AutofitColumns(); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA3; + sheet.PageSetup.Orientation = ExcelPageOrientation.Landscape; + sheet.PageSetup.BottomMargin = 0.25; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + sheet.PageSetup.IsFitToPage = true; + + return workbook; + } + + public IWorkbook GeneratePatrolListWorkbook(List sortedPatrolList, string groupName, string section, string unitName, bool includeLeaders) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 9); + IWorksheet sheet = workbook.Worksheets[0]; + int rowNumber = 1; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = $"Patrols as at {DateTime.Now.ToShortDateString()}"; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 9].Merge(); + sheet.SetRowHeight(rowNumber, 30); + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 9].Merge(); + sheet.SetRowHeight(rowNumber, 40); + + var groupedMembersList = sortedPatrolList.Where(pl => pl.isAdultLeader == 0).GroupBy(pl => pl.patrol_name).ToList(); + foreach (var patrol in groupedMembersList) + { + // Add Patrol Name + var patrolName = string.IsNullOrEmpty(patrol.Key) ? "Unassigned" : patrol.Key; + rowNumber++; + sheet.Range[rowNumber, 1].Text = $"{patrolName} ({patrol.Count()})"; + sheet.Range[rowNumber, 1].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 1].CellStyle.Font.Size = 14; + sheet.Range[rowNumber, 1].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + sheet.Range[rowNumber, 1, rowNumber, 3].Merge(); + sheet.SetRowHeight(rowNumber, 20); + + // Add Patrol members + foreach (var member in patrol.OrderByDescending(p => p.patrol_duty)) + { + rowNumber++; + sheet.Range[rowNumber, 1].Text = member.first_name; + sheet.Range[rowNumber, 1].BorderAround(); + sheet.Range[rowNumber, 2].Text = member.last_name; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 3].Text = member.patrol_duty; + sheet.Range[rowNumber, 3].BorderAround(); + if (!string.IsNullOrEmpty(member.patrol_duty)) + { + sheet.Range[rowNumber, 1, rowNumber, 3].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + } + } + rowNumber++; + } + + rowNumber = 3; + var unitCouncilList = sortedPatrolList.Where(pl => pl.unit_council) + .OrderBy(uc => uc.isAdultLeader) + .ThenBy(uc => uc.first_name) + .ThenBy(uc => uc.last_name) + .ToList(); + // Add Unit Council Name + rowNumber++; + sheet.Range[rowNumber, 6].Text = "Unit Council"; + sheet.Range[rowNumber, 6].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 6].CellStyle.Font.Size = 14; + sheet.Range[rowNumber, 6].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + sheet.Range[rowNumber, 6, rowNumber, 9].Merge(); + sheet.SetRowHeight(rowNumber, 20); + + foreach (var member in unitCouncilList) + { + // Add Unit Council members + rowNumber++; + sheet.Range[rowNumber, 6].Text = member.first_name; + sheet.Range[rowNumber, 6].BorderAround(); + sheet.Range[rowNumber, 7].Text = member.last_name; + sheet.Range[rowNumber, 7].BorderAround(); + sheet.Range[rowNumber, 8].Text = member.patrol_duty; + sheet.Range[rowNumber, 8].BorderAround(); + } + rowNumber++; + + if (includeLeaders) + { + var adultLeaderList = sortedPatrolList + .Where(uc => uc.isAdultLeader == 1) + .OrderBy(uc => uc.first_name) + .ThenBy(uc => uc.last_name) + .ToList(); + // Add Adult Leaders Name + rowNumber++; + sheet.Range[rowNumber, 6].Text = "Adult Leaders"; + sheet.Range[rowNumber, 6].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 6].CellStyle.Font.Size = 14; + sheet.Range[rowNumber, 6].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + sheet.Range[rowNumber, 6, rowNumber, 9].Merge(); + sheet.SetRowHeight(rowNumber, 20); + + foreach (var member in adultLeaderList) + { + // Add Unit Council members + rowNumber++; + sheet.Range[rowNumber, 6].Text = member.first_name; + sheet.Range[rowNumber, 6].BorderAround(); + sheet.Range[rowNumber, 7].Text = member.last_name; + sheet.Range[rowNumber, 7].BorderAround(); + sheet.Range[rowNumber, 8].Text = member.patrol_duty; + sheet.Range[rowNumber, 8].BorderAround(); + } + } + + sheet.UsedRange.AutofitColumns(); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4; + sheet.PageSetup.Orientation = ExcelPageOrientation.Portrait; + sheet.PageSetup.BottomMargin = 0.25; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + sheet.PageSetup.IsFitToPage = true; + + return workbook; + } + + public IWorkbook GenerateMemberListWorkbook(List sortedMemberList, string groupName, string section, string unitName) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 7); + IWorksheet sheet = workbook.Worksheets[0]; + int rowNumber = 1; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = $"Members as at {DateTime.Now.ToShortDateString()}"; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 8].Merge(); + sheet.SetRowHeight(rowNumber, 30); + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 8].Merge(); + sheet.SetRowHeight(rowNumber, 40); + + // Add Header + rowNumber++; + sheet.Range[rowNumber, 2].Text = "First Name"; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 3].Text = "Last Name"; + sheet.Range[rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 4].Text = "Age"; + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 5].Text = "Member"; + sheet.Range[rowNumber, 5].BorderAround(); + sheet.Range[rowNumber, 6].Text = "Duty"; + sheet.Range[rowNumber, 6].BorderAround(); + sheet.Range[rowNumber, 7].Text = "Patrol"; + sheet.Range[rowNumber, 7].BorderAround(); + sheet.Range[rowNumber, 2, rowNumber, 7].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + + foreach (var member in sortedMemberList) + { + rowNumber++; + sheet.Range[rowNumber, 2].Text = member.first_name; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 3].Text = member.last_name; + sheet.Range[rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 4].Text = member.age; + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 5].Text = member.member_number; + sheet.Range[rowNumber, 5].BorderAround(); + sheet.Range[rowNumber, 6].Text = member.patrol_duty; + sheet.Range[rowNumber, 6].BorderAround(); + sheet.Range[rowNumber, 7].Text = member.patrol_name; + sheet.Range[rowNumber, 7].BorderAround(); + + decimal.TryParse(member.age, out decimal approxYears); + if (member.age.StartsWith((UnitMaxAge(section) - 2).ToString())) + sheet.Range[rowNumber, 4].CellStyle.ColorIndex = ExcelKnownColors.Yellow; + if (member.age.StartsWith(UnitMaxAge(section).ToString()) || member.age.StartsWith((UnitMaxAge(section) - 1).ToString())) + sheet.Range[rowNumber, 4].CellStyle.ColorIndex = ExcelKnownColors.Rose; + } + + rowNumber++; + rowNumber++; + sheet.Range[rowNumber, 2].Text = "Second last year in section"; + sheet.Range[rowNumber, 2, rowNumber, 3].Merge(); + sheet.Range[rowNumber, 4].Text = ""; + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 4].CellStyle.ColorIndex = ExcelKnownColors.Yellow; + rowNumber++; + sheet.Range[rowNumber, 2].Text = "Last year in section"; + sheet.Range[rowNumber, 2, rowNumber, 3].Merge(); + sheet.Range[rowNumber, 4].Text = ""; + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 4].CellStyle.ColorIndex = ExcelKnownColors.Rose; + + sheet.UsedRange.AutofitColumns(); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4; + sheet.PageSetup.Orientation = ExcelPageOrientation.Portrait; + sheet.PageSetup.BottomMargin = 0.25; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + + return workbook; + } + + public IWorkbook GeneratePatrolSheetsWorkbook(List sortedPatrolList, string section) + { + //Step 1 : Instantiate the spreadsheet creation engine. + ExcelEngine excelEngine = new ExcelEngine(); + //Step 2 : Instantiate the excel application object. + IApplication application = excelEngine.Excel; + application.DefaultVersion = ExcelVersion.Excel2016; + + //Initializes the SubstituteFont event to perform font substitution in Excel-to-PDF conversion. + application.SubstituteFont += new SubstituteFontEventHandler(SubstituteFont); + + var groupedMembersList = sortedPatrolList.Where(pl => pl.isAdultLeader == 0).GroupBy(pl => pl.patrol_name).ToList(); + + // Creating new workbook + IWorkbook workbook = application.Workbooks.Create(groupedMembersList.Count); + + //Adding cell style. + IStyle headingStyle = workbook.Styles.Add("headingStyle"); + headingStyle.Font.Bold = true; + headingStyle.Font.Size = 40; + headingStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + headingStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + headingStyle.WrapText = true; + + IStyle rowStyle = workbook.Styles.Add("rowStyle"); + rowStyle.Font.Bold = true; + rowStyle.Font.Size = 20; + rowStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + + var sheetIndex = 0; + foreach (var patrol in groupedMembersList) + { + IWorksheet sheet = workbook.Worksheets[sheetIndex]; + + int rowNumber = 1; + int columnNumber = 1; + + // Add Logo + var directory = Directory.GetCurrentDirectory(); + var logoName = GetLogoForSection(section); + var logoFullPathName = $@"{directory}/Images/{logoName}"; + if (File.Exists(logoFullPathName)) + { + FileStream imageStream = new FileStream(logoFullPathName, FileMode.Open, FileAccess.Read); + IPictureShape logo = sheet.Pictures.AddPicture(rowNumber, 1, imageStream); + var aspectRatio = (double)logo.Height / logo.Width; + logo.Width = 100; + logo.Height = (int)(100 * aspectRatio); + } + + // Add Patrol Name + sheet.Range[rowNumber, 2].Text = patrol.Key; + sheet.Range[rowNumber, 2].CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 6].Merge(); + sheet.SetRowHeight(rowNumber, 100); + + // Add Patrol members + foreach (var member in patrol.OrderByDescending(p => p.patrol_duty)) + { + rowNumber++; + sheet.Range[rowNumber, 1, rowNumber, 5].CellStyle = rowStyle; + sheet.Range[rowNumber, 2].Text = member.first_name; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 3].Text = member.last_name; + sheet.Range[rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 4].Text = member.patrol_duty; + sheet.Range[rowNumber, 4].BorderAround(); + if (!string.IsNullOrEmpty(member.patrol_duty)) + { + sheet.Range[rowNumber, 2, rowNumber, 4].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + } + } + rowNumber++; + + sheet.UsedRange.AutofitColumns(); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4; + sheet.PageSetup.Orientation = ExcelPageOrientation.Portrait; + sheet.PageSetup.BottomMargin = 0.25; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + sheet.PageSetup.IsFitToPage = true; + + sheetIndex++; + } + + + return workbook; + + } + + public IWorkbook GenerateSignInSheetWorkbook(List memberListModel, string groupName, string section, string unitName, string eventName) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 7); + IWorksheet sheet = workbook.Worksheets[0]; + int rowNumber = 1; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 7].Merge(); + sheet.SetRowHeight(rowNumber, 40); + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = eventName; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 7].Merge(); + sheet.SetRowHeight(rowNumber, 30); + + // Add Header + rowNumber++; + sheet.Range[rowNumber, 1].Text = "Name"; + sheet.Range[rowNumber, 2].Text = "Patrol"; + sheet.Range[rowNumber, 3].Text = "Role"; + sheet.Range[rowNumber, 4].Text = " Registered"; + sheet.Range[rowNumber, 5].Text = " Paid"; + sheet.Range[rowNumber, 6].Text = " Attended"; + sheet.Range[rowNumber, 4, rowNumber, 6].CellStyle.Rotation = 90; + sheet.Range[rowNumber, 4, rowNumber, 6].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, 7].Text = "Name"; + sheet.Range[rowNumber, 1, rowNumber, 7].CellStyle.Font.Bold = true; + + foreach (var member in memberListModel.Where(m => m.isAdultLeader == 0)) + { + rowNumber++; + sheet.Range[rowNumber, 1].Text = $"{member.first_name} {member.last_name}"; + sheet.Range[rowNumber, 1].BorderAround(); + sheet.Range[rowNumber, 2].Text = member.patrol_name; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 3].Text = member.patrol_duty; + sheet.Range[rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 4].Text = ""; + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 5].Text = ""; + sheet.Range[rowNumber, 5].BorderAround(); + sheet.Range[rowNumber, 6].Text = ""; + sheet.Range[rowNumber, 6].BorderAround(); + sheet.Range[rowNumber, 7].Text = member.first_name; + sheet.Range[rowNumber, 7].BorderAround(); + sheet.Range[rowNumber, 8].Text = ""; + sheet.Range[rowNumber, 8].BorderAround(); + } + + rowNumber++; + // Add Header + rowNumber++; + sheet.Range[rowNumber, 1].Text = "Name"; + sheet.Range[rowNumber, 2].Text = "Patrol"; + sheet.Range[rowNumber, 3].Text = "Role"; + sheet.Range[rowNumber, 4].Text = " Registered"; + sheet.Range[rowNumber, 5].Text = " Paid"; + sheet.Range[rowNumber, 6].Text = " Attended"; + sheet.Range[rowNumber, 4, rowNumber, 6].CellStyle.Rotation = 90; + sheet.Range[rowNumber, 4, rowNumber, 6].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, 7].Text = "Name"; + sheet.Range[rowNumber, 1, rowNumber, 7].CellStyle.Font.Bold = true; + + foreach (var member in memberListModel.Where(m => m.isAdultLeader == 1)) + { + rowNumber++; + sheet.Range[rowNumber, 1].Text = $"{member.first_name} {member.last_name}"; + sheet.Range[rowNumber, 1].BorderAround(); + sheet.Range[rowNumber, 2].Text = ""; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 3].Text = member.patrol_duty; + sheet.Range[rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 4].Text = ""; + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 5].Text = ""; + sheet.Range[rowNumber, 5].BorderAround(); + sheet.Range[rowNumber, 6].Text = ""; + sheet.Range[rowNumber, 6].BorderAround(); + sheet.Range[rowNumber, 7].Text = member.first_name; + sheet.Range[rowNumber, 7].BorderAround(); + } + + sheet.UsedRange.AutofitColumns(); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4; + sheet.PageSetup.Orientation = ExcelPageOrientation.Portrait; + sheet.PageSetup.BottomMargin = 0.25; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + sheet.PageSetup.IsFitToPage = true; + + return workbook; + } + + public IWorkbook GenerateEventAttendanceWorkbook(EventListModel eventListModel, string groupName, string section, string unitName) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 7); + IWorksheet sheet = workbook.Worksheets[0]; + int rowNumber = 1; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 7].Merge(); + sheet.SetRowHeight(rowNumber, 40); + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = eventListModel.EventDisplay; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 7].Merge(); + sheet.SetRowHeight(rowNumber, 30); + + // Add Header + rowNumber++; + sheet.Range[rowNumber, 2, rowNumber, 5].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + sheet.Range[rowNumber, 2, rowNumber, 5].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 2].Text = "First Name"; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 3].Text = "Last Name"; + sheet.Range[rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 4].Text = "Patrol"; + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 5].Text = "Attended"; + sheet.Range[rowNumber, 5].BorderAround(); + + foreach (var attendee in eventListModel.attendees.Where(a => !a.isAdultMember).OrderBy(a => a.last_name)) + { + rowNumber++; + sheet.Range[rowNumber, 2].Text = attendee.first_name; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 3].Text = attendee.last_name; + sheet.Range[rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 4].Text = attendee.patrol_name; + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 5].Text = attendee.attended ? "Y" : ""; + sheet.Range[rowNumber, 5].BorderAround(); + sheet.Range[rowNumber, 5].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + + rowNumber++; + + foreach (var attendee in eventListModel.attendees.Where(a => a.isAdultMember).OrderBy(a => a.last_name)) + { + rowNumber++; + sheet.Range[rowNumber, 2].Text = attendee.first_name; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 3].Text = attendee.last_name; + sheet.Range[rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 4].Text = attendee.patrol_name; + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 5].Text = attendee.attended ? "Y" : ""; + sheet.Range[rowNumber, 5].BorderAround(); + sheet.Range[rowNumber, 5].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + + sheet.UsedRange.AutofitColumns(); + + return workbook; + } + + public IWorkbook GenerateAttendanceReportWorkbook(AttendanceReportModel attendanceReportData, string groupName, string section, string unitName, DateTime fromDate, DateTime toDate, bool forPdfOutput) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 10); + IWorksheet sheet = workbook.Worksheets[0]; + sheet.EnableSheetCalculations(); + + int rowNumber = 1; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 10].Merge(); + sheet.SetRowHeight(rowNumber, 25); + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = $"Attendance between {fromDate.ToShortDateString()} and {toDate.ToShortDateString()}"; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 10].Merge(); + sheet.SetRowHeight(rowNumber, 25); + + var totalEvents = attendanceReportData.attendanceReportChallengeAreaSummaries.FirstOrDefault()?.TotalEvents ?? 0; + var communityEvents = attendanceReportData.attendanceReportChallengeAreaSummaries.Where(c => c.ChallengeArea == "Community").FirstOrDefault()?.EventCount ?? 0; + var creativeEvents = attendanceReportData.attendanceReportChallengeAreaSummaries.Where(c => c.ChallengeArea == "Creative").FirstOrDefault()?.EventCount ?? 0; + var outdoorsEvents = attendanceReportData.attendanceReportChallengeAreaSummaries.Where(c => c.ChallengeArea == "Outdoors").FirstOrDefault()?.EventCount ?? 0; + var personalGrowthEvents = attendanceReportData.attendanceReportChallengeAreaSummaries.Where(c => c.ChallengeArea == "Personal Growth").FirstOrDefault()?.EventCount ?? 0; + + // Add Challenge Area Summary + rowNumber++; + sheet.Range[rowNumber, 2].Text = $"Community {communityEvents} / {totalEvents}"; + sheet.Range[rowNumber, 2, rowNumber, 3].Merge(); + sheet.Range[rowNumber, 2, rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 2, rowNumber, 3].CellStyle.ColorIndex = GetChallengeAreaColour("Community"); + sheet.Range[rowNumber, 4].Text = $"Creative {creativeEvents} / {totalEvents}"; + sheet.Range[rowNumber, 4, rowNumber, 5].Merge(); + sheet.Range[rowNumber, 4, rowNumber, 5].BorderAround(); + sheet.Range[rowNumber, 4, rowNumber, 5].CellStyle.ColorIndex = GetChallengeAreaColour("Creative"); + sheet.Range[rowNumber, 6].Text = $"Outdoors {outdoorsEvents} / {totalEvents}"; + sheet.Range[rowNumber, 6, rowNumber, 7].Merge(); + sheet.Range[rowNumber, 6, rowNumber, 7].BorderAround(); + sheet.Range[rowNumber, 6, rowNumber, 7].CellStyle.ColorIndex = GetChallengeAreaColour("Outdoors"); + sheet.Range[rowNumber, 8].Text = $"Personal Growth {personalGrowthEvents} / {totalEvents}"; + sheet.Range[rowNumber, 8, rowNumber, 10].Merge(); + sheet.Range[rowNumber, 8, rowNumber, 10].BorderAround(); + sheet.Range[rowNumber, 8, rowNumber, 10].CellStyle.ColorIndex = GetChallengeAreaColour("Personal Growth"); + sheet.Range[rowNumber, 2, rowNumber, 10].CellStyle.Font.Bold = true; + rowNumber++; + // Group attendance by member for youth + var groupedAttendances = attendanceReportData.attendanceReportItems.Where(m => m.IsAdultMember == 0).GroupBy(wa => wa.MemberName).ToList(); + + // Add Event Details + var columnNumber = 1; + rowNumber++; + var firstGroupedAttendance = groupedAttendances.FirstOrDefault(); + foreach (var eventAttendance in firstGroupedAttendance) + { + columnNumber++; + if (forPdfOutput) + { + // Name + sheet.Range[rowNumber, columnNumber].Text = $"{eventAttendance.EventNameDisplay} ({eventAttendance.EventStatus})"; + sheet.Range[rowNumber, columnNumber].CellStyle.ColorIndex = GetChallengeAreaColour(eventAttendance.EventChallengeArea); + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.Rotation = 90; + sheet.Range[rowNumber, columnNumber].CellStyle.WrapText = true; + sheet.Range[rowNumber, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, columnNumber].CellStyle.Font.Bold = true; + sheet.SetColumnWidth(columnNumber, 8); + } + else + { + // Challenge Area + sheet.Range[rowNumber, columnNumber].Text = eventAttendance.EventChallengeArea; + sheet.Range[rowNumber, columnNumber].CellStyle.ColorIndex = GetChallengeAreaColour(eventAttendance.EventChallengeArea); + sheet.Range[rowNumber, columnNumber].BorderAround(); + + // Date + sheet.Range[rowNumber + 1, columnNumber].DateTime = eventAttendance.EventStartDate; + sheet.Range[rowNumber + 1, columnNumber].CellStyle.ColorIndex = GetChallengeAreaColour(eventAttendance.EventChallengeArea); + sheet.Range[rowNumber + 1, columnNumber].BorderAround(); + + // State + sheet.Range[rowNumber + 2, columnNumber].Text = eventAttendance.EventStatus; + sheet.Range[rowNumber + 2, columnNumber].CellStyle.ColorIndex = GetChallengeAreaColour(eventAttendance.EventChallengeArea); + sheet.Range[rowNumber + 2, columnNumber].BorderAround(); + + // Name + sheet.Range[rowNumber + 3, columnNumber].Text = eventAttendance.EventName; + sheet.Range[rowNumber + 3, columnNumber].CellStyle.ColorIndex = GetChallengeAreaColour(eventAttendance.EventChallengeArea); + sheet.Range[rowNumber + 3, columnNumber].BorderAround(); + } + } + + if (forPdfOutput) + { + sheet.SetRowHeight(rowNumber, 175); + } + else + { + rowNumber = rowNumber + 3; + } + columnNumber++; + sheet.Range[rowNumber, columnNumber].Text = "Total"; + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, columnNumber].CellStyle.Font.Bold = true; + sheet.SetColumnWidth(columnNumber, 8); + + + // Add youth member rows + var sumStartRow = rowNumber + 1; + foreach (var groupedAttendance in groupedAttendances) + { + rowNumber++; + sheet.Range[rowNumber, 1].Text = forPdfOutput ? groupedAttendance.FirstOrDefault().MemberNameAndRate : groupedAttendance.FirstOrDefault().MemberName; + sheet.Range[rowNumber, 1].BorderAround(); + columnNumber = 1; + foreach (var eventAttendance in groupedAttendance) + { + columnNumber++; + sheet.Range[rowNumber, columnNumber].Text = eventAttendance.Pal; + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + // Row total + var sumRange = sheet.Range[rowNumber, 2, rowNumber, columnNumber].AddressLocal; + columnNumber++; + sheet.Range[rowNumber, columnNumber].Formula = @$"=COUNTIFS({sumRange}, ""P"")+COUNTIFS({sumRange}, ""A"")+COUNTIFS({sumRange}, ""L"")"; + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, columnNumber].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + sheet.Range[rowNumber, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + + // Add total row + var sumEndRow = rowNumber; + rowNumber++; + var youthTotalRow = rowNumber; + sheet.Range[rowNumber, 1].Text = "Youth Total"; + sheet.Range[rowNumber, 1].BorderAround(); + for (int i = 2; i <= columnNumber - 1; i++) + { + var sumRange = sheet.Range[sumStartRow, i, sumEndRow, i].AddressLocal; + sheet.Range[rowNumber, i].Formula = @$"=COUNTIFS({sumRange}, ""P"")+COUNTIFS({sumRange}, ""A"")+COUNTIFS({sumRange}, ""L"")"; + sheet.Range[rowNumber, i].BorderAround(); + sheet.Range[rowNumber, i].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, i].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + sheet.Range[rowNumber, columnNumber].Formula = $"SUM({sheet.Range[sumStartRow, columnNumber, sumEndRow, columnNumber].AddressLocal})"; + sheet.Range[rowNumber, columnNumber].Number = sheet.Range[rowNumber, columnNumber].FormulaNumberValue; + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, 1, rowNumber, columnNumber].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + + // Group attendance by member for adults + groupedAttendances = attendanceReportData.attendanceReportItems.Where(m => m.IsAdultMember == 1).GroupBy(wa => wa.MemberName).ToList(); + + // Add adult member rows + sumStartRow = rowNumber + 1; + foreach (var groupedAttendance in groupedAttendances) + { + rowNumber++; + sheet.Range[rowNumber, 1].Text = groupedAttendance.FirstOrDefault().MemberName; + sheet.Range[rowNumber, 1].BorderAround(); + columnNumber = 1; + foreach (var eventAttendance in groupedAttendance) + { + columnNumber++; + sheet.Range[rowNumber, columnNumber].Text = eventAttendance.Attended > 0 ? "Y" : ""; + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + // Row total + var sumRange = sheet.Range[rowNumber, 2, rowNumber, columnNumber].AddressLocal; + columnNumber++; + sheet.Range[rowNumber, columnNumber].Formula = @$"=COUNTIFS({sumRange}, ""Y"")"; + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, columnNumber].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + sheet.Range[rowNumber, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + + // Add total row + sumEndRow = rowNumber; + rowNumber++; + var adultTotalRow = rowNumber; + sheet.Range[rowNumber, 1].Text = "Adult Total"; + sheet.Range[rowNumber, 1].BorderAround(); + for (int i = 2; i <= columnNumber - 1; i++) + { + var sumRange = sheet.Range[sumStartRow, i, sumEndRow, i].AddressLocal; + sheet.Range[rowNumber, i].Formula = @$"=COUNTIFS({sumRange}, ""Y"")"; + sheet.Range[rowNumber, i].BorderAround(); + sheet.Range[rowNumber, i].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, i].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + sheet.Range[rowNumber, columnNumber].Formula = $"SUM({sheet.Range[sumStartRow, columnNumber, sumEndRow, columnNumber].AddressLocal})"; + sheet.Range[rowNumber, columnNumber].Number = sheet.Range[rowNumber, columnNumber].FormulaNumberValue; + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, 1, rowNumber, columnNumber].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + + // Add Grand Total row + rowNumber++; + sheet.Range[rowNumber, 1].Text = "Event Total"; + sheet.Range[rowNumber, 1].BorderAround(); + for (int i = 2; i <= columnNumber; i++) + { + var youthTotalCell = int.Parse(sheet.Range[youthTotalRow, i].CalculatedValue); + var adultTotalCell = int.Parse(sheet.Range[adultTotalRow, i].CalculatedValue); + sheet.Range[rowNumber, i].Number = youthTotalCell + adultTotalCell; + sheet.Range[rowNumber, i].BorderAround(); + sheet.Range[rowNumber, i].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, i].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + sheet.Range[rowNumber, 1, rowNumber, columnNumber].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + + sheet.Range[1, 1, rowNumber, 1].AutofitColumns(); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA3; + sheet.PageSetup.Orientation = ExcelPageOrientation.Landscape; + sheet.PageSetup.CenterHorizontally = true; + sheet.PageSetup.CenterVertically = true; + sheet.PageSetup.BottomMargin = 0; + sheet.PageSetup.TopMargin = 0; + sheet.PageSetup.LeftMargin = 0; + sheet.PageSetup.RightMargin = 0; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + sheet.PageSetup.IsFitToPage = true; + + return workbook; + } + + private void GenerateOASWorksheetBodyLikeTerrain(IWorksheet sheet, IList> groupedAnswers, ref int rowNumber, ref int columnNumber) + { + var pdrText = ""; + var titleRow = rowNumber; + int pdrStartRow = 99; + foreach (var plan in groupedAnswers.FirstOrDefault().OrderBy(ga => ga.InputTitleSortIndex).ThenBy(ga => ga.InputSortIndex).ToList()) + { + // Plan Do Review + rowNumber++; + if (pdrText != plan.InputTitle) + { + pdrText = plan.InputTitle; + sheet.Range[rowNumber, columnNumber].Text = plan.InputTitle; + sheet.Range[rowNumber, columnNumber].CellStyle.Color = GetInputTitleColour(plan.InputTitle); + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.Rotation = 0; + sheet.Range[rowNumber, columnNumber].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, columnNumber].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + if (pdrStartRow > rowNumber) + pdrStartRow = rowNumber; + else + { + sheet.Range[pdrStartRow, columnNumber, rowNumber - 1, columnNumber].Merge(); + sheet.Range[pdrStartRow, columnNumber, rowNumber - 1, columnNumber].BorderAround(); + pdrStartRow = rowNumber; + } + } + + // iStatement + sheet.Range[rowNumber, columnNumber + 1].Text = plan.InputLabel; + sheet.Range[rowNumber, columnNumber + 1].BorderAround(); + sheet.Range[rowNumber, columnNumber + 1].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, columnNumber + 1].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, columnNumber + 1].CellStyle.Rotation = 0; + sheet.Range[rowNumber, columnNumber + 1].CellStyle.WrapText = true; + sheet.SetColumnWidth(columnNumber + 1, 50); + sheet.AutofitRow(rowNumber); + } + + // Member Name and answers + columnNumber++; + sheet.Range[titleRow + 1, columnNumber + 1].FreezePanes(); + rowNumber = titleRow; + foreach (var groupedAnswer in groupedAnswers.OrderBy(ga => ga.Key)) + { + columnNumber++; + sheet.Range[rowNumber, columnNumber].Text = groupedAnswer.Key; + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, columnNumber].CellStyle.Rotation = 90; + sheet.Range[rowNumber, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + + foreach (var answer in groupedAnswer.OrderBy(ga => ga.InputTitleSortIndex).ThenBy(ga => ga.InputSortIndex)) + { + rowNumber++; + if (answer.MemberAnswer.HasValue) + { + sheet.Range[rowNumber, columnNumber].DateTime = answer.MemberAnswer.Value; + sheet.Range[rowNumber, columnNumber].CellStyle.Color = Color.DarkSeaGreen; + } + sheet.Range[rowNumber, columnNumber].BorderAround(); + } + rowNumber = titleRow; + sheet.AutofitColumn(columnNumber); + } + +// sheet.Range[1, 1, rowNumber, columnNumber].AutofitColumns(); + + } + private void GenerateOASWorksheetBodyOriginal(IWorksheet sheet, IList> groupedAnswers, ref int rowNumber, ref int columnNumber) + { + var pdrText = ""; + int pdrStartCol = 99; + foreach (var plan in groupedAnswers.FirstOrDefault().OrderBy(ga => ga.InputTitleSortIndex).ThenBy(ga => ga.InputSortIndex).ToList()) + { + // Plan Do Review + columnNumber++; + if (pdrText != plan.InputTitle) + { + pdrText = plan.InputTitle; + sheet.Range[rowNumber, columnNumber].Text = plan.InputTitle; + sheet.Range[rowNumber, columnNumber].CellStyle.Color = GetInputTitleColour(plan.InputTitle); + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + if (pdrStartCol > columnNumber) + pdrStartCol = columnNumber; + else + { + sheet.Range[rowNumber, pdrStartCol, rowNumber, columnNumber - 1].Merge(); + sheet.Range[rowNumber, pdrStartCol, rowNumber, columnNumber - 1].BorderAround(); + pdrStartCol = columnNumber; + } + } + + // iStatement + sheet.Range[rowNumber + 1, columnNumber].Text = plan.InputLabel; + sheet.Range[rowNumber + 1, columnNumber].BorderAround(); + sheet.Range[rowNumber + 1, columnNumber].CellStyle.Font.Bold = true; + sheet.Range[rowNumber + 1, columnNumber].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber + 1, columnNumber].CellStyle.Rotation = 90; + sheet.Range[rowNumber + 1, columnNumber].CellStyle.WrapText = true; + sheet.SetRowHeight(rowNumber + 1, 200); + sheet.SetColumnWidth(columnNumber, 10); + } + + // Member Name and answers + rowNumber++; + rowNumber++; + columnNumber = 0; + foreach (var groupedAnswer in groupedAnswers.OrderBy(ga => ga.Key)) + { + columnNumber++; + sheet.Range[rowNumber, columnNumber].Text = groupedAnswer.Key; + sheet.Range[rowNumber, columnNumber].BorderAround(); + sheet.Range[rowNumber, columnNumber].CellStyle.Font.Bold = true; + + foreach (var answer in groupedAnswer.OrderBy(ga => ga.InputTitleSortIndex).ThenBy(ga => ga.InputSortIndex)) + { + columnNumber++; + if (answer.MemberAnswer.HasValue) + { + sheet.Range[rowNumber, columnNumber].DateTime = answer.MemberAnswer.Value; + sheet.Range[rowNumber, columnNumber].CellStyle.Color = Color.DarkSeaGreen; + } + sheet.Range[rowNumber, columnNumber].BorderAround(); + } + rowNumber++; + columnNumber = 0; + } + + sheet.Range[1, 1, rowNumber, 1].AutofitColumns(); + } + + public IWorkbook GenerateOASWorksheetWorkbook(List worksheetAnswers, string groupName, string section, string unitName, bool forPdfOutput, bool formatLikeTerrain, bool breakByPatrol = false) + { + var worksheetAnswersGroupedByTemplate = worksheetAnswers.GroupBy(wa => wa.TemplateTitle + (breakByPatrol ? " - " + wa.MemberPatrol : "")); + var workbook = CreateWorkbookWithSheets(worksheetAnswersGroupedByTemplate.Count()); + var worksheetIndex = 0; + foreach (var templatAnswerGroup in worksheetAnswersGroupedByTemplate.OrderBy(a => a.Key)) + { + IWorksheet sheet = AddLogoToSheet(workbook, worksheetIndex, groupName, section, 10); + sheet.Name = templatAnswerGroup.Key; + int rowNumber = 1; + int columnNumber = 1; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 10].Merge(); + sheet.SetRowHeight(rowNumber, 25); + + // Add Title + string templateTitle = templatAnswerGroup.Key ?? ""; + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = $"{templateTitle} as at {DateTime.Now.ToShortDateString()}"; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 10].Merge(); + sheet.SetRowHeight(rowNumber, 25); + + rowNumber++; + IList> groupedAnswers = templatAnswerGroup.GroupBy(x => x.MemberName).ToList(); + + if (formatLikeTerrain) + GenerateOASWorksheetBodyLikeTerrain(sheet, groupedAnswers, ref rowNumber, ref columnNumber); + else + GenerateOASWorksheetBodyOriginal(sheet, groupedAnswers, ref rowNumber, ref columnNumber); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA3; + sheet.PageSetup.Orientation = ExcelPageOrientation.Landscape; + sheet.PageSetup.BottomMargin = 0.25; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + sheet.PageSetup.IsFitToPage = true; + + worksheetIndex++; + } + + return workbook; + } + + + public IWorkbook GenerateSIAWorkbook(List siaProjects, string groupName, string section, string unitName, bool forPdfOutput) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 6); + IWorksheet sheet = workbook.Worksheets[0]; + int rowNumber = 1; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 6].Merge(); + sheet.SetRowHeight(rowNumber, 40); + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = $"SIA Project List as at {DateTime.Now.ToShortDateString()}"; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 6].Merge(); + sheet.SetRowHeight(rowNumber, 30); + + foreach (var memberSiaProject in siaProjects.GroupBy(sp => sp.memberName)) + { + rowNumber++; + sheet.Range[rowNumber, 1].Text = memberSiaProject.Key; + sheet.Range[rowNumber, 1].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 1].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + sheet.Range[rowNumber, 1, rowNumber, 2].Merge(); + sheet.SetRowHeight(rowNumber, 20); + foreach (var siaProject in memberSiaProject.OrderBy(sia => sia.statusUpdated)) + { + rowNumber++; + sheet.Range[rowNumber, 2].Text = siaProject.area; + sheet.Range[rowNumber, 3].Text = siaProject.projectName; + sheet.Range[rowNumber, 3].CellStyle.WrapText = true; + sheet.Range[rowNumber, 4].Text = siaProject.status; + sheet.Range[rowNumber, 5].DateTime = siaProject.statusUpdated; + } + } + + sheet.SetColumnWidth(1, 10); + sheet.SetColumnWidth(2, 21); + sheet.SetColumnWidth(3, 65); + sheet.SetColumnWidth(4, 20); + sheet.SetColumnWidth(5, 15); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4; + sheet.PageSetup.Orientation = ExcelPageOrientation.Portrait; + sheet.PageSetup.BottomMargin = 0.25; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + sheet.PageSetup.IsFitToPage = true; + + return workbook; + } + + public IWorkbook GenerateMilestoneWorkbook(List milestoneSummaries, string groupName, string section, string unitName, bool forPdfOutput) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 8); + IWorksheet sheet = workbook.Worksheets[0]; + int rowNumber = 1; + int averageStartRow = 0; + int averageEndRow = 0; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 8].Merge(); + sheet.SetRowHeight(rowNumber, 40); + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = $"Milestone Summary as at {DateTime.Now.ToShortDateString()}"; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 8].Merge(); + sheet.SetRowHeight(rowNumber, 30); + + foreach (var milestoneSummary in milestoneSummaries.GroupBy(ms => ms.currentLevel).OrderBy(ms => ms.Key)) + { + // Headings + rowNumber++; + sheet.Range[rowNumber, 3].Text = $"Milestone {milestoneSummary.Key}"; + sheet.Range[rowNumber, 3].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 3].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + sheet.Range[rowNumber, 3].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, 3, rowNumber, 8].Merge(); + sheet.Range[rowNumber, 3, rowNumber, 8].BorderAround(); + sheet.Range[rowNumber, 3, rowNumber, 8].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + sheet.SetRowHeight(rowNumber, 20); + + rowNumber++; + sheet.Range[rowNumber, 3].Text = GetParticipateHeadingText(milestoneSummary.Key); + sheet.Range[rowNumber, 3].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 3].CellStyle.VerticalAlignment = ExcelVAlign.VAlignCenter; + sheet.Range[rowNumber, 3].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, 3, rowNumber, 6].Merge(); + sheet.Range[rowNumber, 3, rowNumber, 6].BorderAround(); + sheet.Range[rowNumber, 3, rowNumber, 6].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + sheet.SetRowHeight(rowNumber, 20); + + rowNumber++; + sheet.Range[rowNumber, 1].Text = "Name"; + sheet.Range[rowNumber, 1].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 1].BorderAround(); + sheet.Range[rowNumber, 2].Text = "Percent Complete"; + sheet.Range[rowNumber, 2].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 2].CellStyle.WrapText = true; + sheet.Range[rowNumber, 3].Text = "Community"; + sheet.Range[rowNumber, 3].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 4].Text = "Outdoors"; + sheet.Range[rowNumber, 4].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 5].Text = "Creative"; + sheet.Range[rowNumber, 5].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 5].BorderAround(); + sheet.Range[rowNumber, 6].Text = "Personal Growth"; + sheet.Range[rowNumber, 6].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 6].BorderAround(); + sheet.Range[rowNumber, 6].CellStyle.WrapText = true; + sheet.Range[rowNumber, 7].Text = GetAssistHeadingText(milestoneSummary.Key); + sheet.Range[rowNumber, 7].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 7].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber - 1, 7, rowNumber, 7].Merge(); + sheet.Range[rowNumber - 1, 7, rowNumber, 7].BorderAround(); + sheet.Range[rowNumber - 1, 7, rowNumber, 7].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + sheet.Range[rowNumber, 8].Text = GetLeadHeadingText(milestoneSummary.Key); + sheet.Range[rowNumber, 8].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 8].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber - 1, 8, rowNumber, 8].Merge(); + sheet.Range[rowNumber - 1, 8, rowNumber, 8].BorderAround(); + sheet.Range[rowNumber - 1, 8, rowNumber, 8].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + + sheet.Range[rowNumber, 1, rowNumber, 8].CellStyle.VerticalAlignment = ExcelVAlign.VAlignBottom; + sheet.Range[rowNumber, 1, rowNumber, 8].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, 1, rowNumber, 8].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + sheet.SetRowHeight(rowNumber, 35); + + averageStartRow = rowNumber + 1; + foreach (var memberSummary in milestoneSummary.OrderBy(ms => ms.memberName)) + { + rowNumber++; + sheet.Range[rowNumber, 1].Text = memberSummary.memberName; + sheet.Range[rowNumber, 1].BorderAround(); + sheet.Range[rowNumber, 2].Number = memberSummary.percentComplete / 100.00; + sheet.Range[rowNumber, 2].NumberFormat = "0%"; + sheet.Range[rowNumber, 2].BorderAround(); + sheet.Range[rowNumber, 2].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + switch (milestoneSummary.Key) + { + case 1: + SetMilestoneCell(sheet.Range[rowNumber, 3], 1, participateAssistLead.participate, memberSummary.milestone1ParticipateCommunity); + SetMilestoneCell(sheet.Range[rowNumber, 4], 1, participateAssistLead.participate, memberSummary.milestone1ParticipateOutdoors); + SetMilestoneCell(sheet.Range[rowNumber, 5], 1, participateAssistLead.participate, memberSummary.milestone1ParticipateCreative); + SetMilestoneCell(sheet.Range[rowNumber, 6], 1, participateAssistLead.participate, memberSummary.milestone1ParticipatePersonalGrowth); + SetMilestoneCell(sheet.Range[rowNumber, 7], 1, participateAssistLead.assist, memberSummary.milestone1Assist); + SetMilestoneCell(sheet.Range[rowNumber, 8], 1, participateAssistLead.lead, memberSummary.milestone1Lead); + break; + case 2: + SetMilestoneCell(sheet.Range[rowNumber, 3], 2, participateAssistLead.participate, memberSummary.milestone2ParticipateCommunity); + SetMilestoneCell(sheet.Range[rowNumber, 4], 2, participateAssistLead.participate, memberSummary.milestone2ParticipateOutdoors); + SetMilestoneCell(sheet.Range[rowNumber, 5], 2, participateAssistLead.participate, memberSummary.milestone2ParticipateCreative); + SetMilestoneCell(sheet.Range[rowNumber, 6], 2, participateAssistLead.participate, memberSummary.milestone2ParticipatePersonalGrowth); + SetMilestoneCell(sheet.Range[rowNumber, 7], 2, participateAssistLead.assist, memberSummary.milestone2Assist); + SetMilestoneCell(sheet.Range[rowNumber, 8], 2, participateAssistLead.lead, memberSummary.milestone2Lead); + break; + case 3: + SetMilestoneCell(sheet.Range[rowNumber, 3], 3, participateAssistLead.participate, memberSummary.milestone3ParticipateCommunity); + SetMilestoneCell(sheet.Range[rowNumber, 4], 3, participateAssistLead.participate, memberSummary.milestone3ParticipateOutdoors); + SetMilestoneCell(sheet.Range[rowNumber, 5], 3, participateAssistLead.participate, memberSummary.milestone3ParticipateCreative); + SetMilestoneCell(sheet.Range[rowNumber, 6], 3, participateAssistLead.participate, memberSummary.milestone3ParticipatePersonalGrowth); + SetMilestoneCell(sheet.Range[rowNumber, 7], 3, participateAssistLead.assist, memberSummary.milestone3Assist); + SetMilestoneCell(sheet.Range[rowNumber, 8], 3, participateAssistLead.lead, memberSummary.milestone3Lead); + break; + } + sheet.Range[rowNumber, 3].BorderAround(); + sheet.Range[rowNumber, 4].BorderAround(); + sheet.Range[rowNumber, 5].BorderAround(); + sheet.Range[rowNumber, 6].BorderAround(); + sheet.Range[rowNumber, 7].BorderAround(); + sheet.Range[rowNumber, 8].BorderAround(); + sheet.Range[rowNumber, 2, rowNumber, 8].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + + // Add average row + averageEndRow = rowNumber; + rowNumber++; + sheet.Range[rowNumber, 2].Text = "Average"; + sheet.Range[rowNumber, 2].BorderAround(); + for (int i = 3; i <= 8; i++) + { + var avgRange = sheet.Range[averageStartRow, i, averageEndRow, i].AddressLocal; + sheet.Range[rowNumber, i].Formula = $"=AVERAGE({avgRange})"; + sheet.Range[rowNumber, i].NumberFormat = "0.0"; + sheet.Range[rowNumber, i].BorderAround(); + sheet.Range[rowNumber, i].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, i].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + sheet.Range[rowNumber, 2, rowNumber, 8].CellStyle.ColorIndex = ExcelKnownColors.Grey_25_percent; + + rowNumber++; + rowNumber++; + } + + sheet.Range[1, 1, rowNumber, 1].AutofitColumns(); + sheet.SetColumnWidth(2, 10); + sheet.SetColumnWidth(3, 10); + sheet.SetColumnWidth(4, 10); + sheet.SetColumnWidth(5, 10); + sheet.SetColumnWidth(6, 10); + sheet.SetColumnWidth(7, 10); + sheet.SetColumnWidth(8, 10); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4; + sheet.PageSetup.Orientation = ExcelPageOrientation.Portrait; + sheet.PageSetup.BottomMargin = 0.25; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + sheet.PageSetup.IsFitToPage = true; + + return workbook; + } + + public IWorkbook GenerateLogbookWorkbook(List logbookEntries, string groupName, string section, string unitName, bool forPdfOutput) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 8); + IWorksheet sheet = workbook.Worksheets[0]; + int rowNumber = 1; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 8].Merge(); + sheet.SetRowHeight(rowNumber, 40); + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = $"Logbook entries as at {DateTime.Now.ToShortDateString()}"; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 8].Merge(); + sheet.SetRowHeight(rowNumber, 30); + + foreach (var logbookGroupEntry in logbookEntries.GroupBy(lb => lb.MemberName).OrderBy(lb => lb.Key)) + { + rowNumber++; + sheet.Range[rowNumber, 1].Text = logbookGroupEntry.Key; + sheet.Range[rowNumber, 1, rowNumber, 2].Merge(); + sheet.Range[rowNumber, 3].Text = $"{logbookGroupEntry.FirstOrDefault()?.TotalKilometersHiked ?? 0} KMs"; + sheet.Range[rowNumber, 4].Text = $"{logbookGroupEntry.FirstOrDefault()?.TotalNightsCamped ?? 0} Nights"; + sheet.Range[rowNumber, 1, rowNumber, 4].CellStyle.Font.Bold = true; + + sheet.SetRowHeight(rowNumber, 20); + + foreach (var logbookEntry in logbookGroupEntry) + { + rowNumber++; + sheet.Range[rowNumber, 2].Text = logbookEntry.ActivityName; + sheet.Range[rowNumber, 3].Text = logbookEntry.ActivityArea; + sheet.Range[rowNumber, 4].DateTime = logbookEntry.ActivityDate; + sheet.Range[rowNumber, 5].Text = logbookEntry.MemberRole; + sheet.Range[rowNumber, 6].Text = $"{logbookEntry.KilometersHiked} KMs"; + sheet.Range[rowNumber, 7].Text = $"{logbookEntry.NightsCamped} Nights"; + sheet.Range[rowNumber, 8].Text = logbookEntry.Verifier; + } + } + + sheet.SetColumnWidth(1, 10); + sheet.SetColumnWidth(2, 40); + sheet.Range[1, 2, rowNumber, 2].CellStyle.WrapText = true; + sheet.SetColumnWidth(3, 15); + sheet.SetColumnWidth(4, 15); + sheet.SetColumnWidth(5, 15); + sheet.SetColumnWidth(6, 10); + sheet.SetColumnWidth(7, 10); + sheet.Range[1, 8, rowNumber, 8].AutofitColumns(); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4; + sheet.PageSetup.Orientation = ExcelPageOrientation.Landscape; + sheet.PageSetup.BottomMargin = 0.5; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0.25; + sheet.PageSetup.RightFooter = "&P of &N"; + + return workbook; + + } + + public IWorkbook GenerateWallchartWorkbook(List wallchartEntries, string groupName, string section, string unitName, bool forPdfOutput) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 41); + IWorksheet sheet = workbook.Worksheets[0]; + int rowNumber = 1; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 41].Merge(); + sheet.SetRowHeight(rowNumber, 25); + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = $"Group Life Wallchart as at {DateTime.Now.ToShortDateString()}"; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 41].Merge(); + sheet.SetRowHeight(rowNumber, 25); + + // Add Heading 1 + rowNumber++; + sheet.Range[rowNumber, 2, rowNumber, 3].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 2, rowNumber, 3].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 4].Text = "MILESTONE 1"; + sheet.Range[rowNumber, 4, rowNumber, 9].Merge(); + sheet.Range[rowNumber, 4, rowNumber, 9].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 4, rowNumber, 9].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 10].Text = "MILESTONE 2"; + sheet.Range[rowNumber, 10, rowNumber, 15].Merge(); + sheet.Range[rowNumber, 10, rowNumber, 15].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 10, rowNumber, 15].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 16].Text = "MILESTONE 3"; + sheet.Range[rowNumber, 16, rowNumber, 21].Merge(); + sheet.Range[rowNumber, 16, rowNumber, 21].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 16, rowNumber, 21].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 22].Text = "OUTDOOR ADVENTURE SKILLS"; + sheet.Range[rowNumber, 22, rowNumber, 33].Merge(); + sheet.Range[rowNumber, 22, rowNumber, 33].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 22, rowNumber, 33].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 34].Text = "SPECIAL INTEREST AREAS"; + sheet.Range[rowNumber, 34, rowNumber, 39].Merge(); + sheet.Range[rowNumber, 34, rowNumber, 39].CellStyle.WrapText = true; + sheet.Range[rowNumber, 34, rowNumber, 39].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 34, rowNumber, 39].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 40, rowNumber, 43].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 40, rowNumber, 43].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.VerticalAlignment = ExcelVAlign.VAlignTop; + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.Font.Bold = true; + sheet.SetRowHeight(rowNumber, 30); + + // Add Heading 2 + rowNumber++; + sheet.Range[rowNumber, 2, rowNumber, 21].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 2, rowNumber, 21].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 22].Text = "CORE"; + sheet.Range[rowNumber, 22, rowNumber, 24].Merge(); + sheet.Range[rowNumber, 22, rowNumber, 24].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 22, rowNumber, 24].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 25].Text = "LAND"; + sheet.Range[rowNumber, 25, rowNumber, 27].Merge(); + sheet.Range[rowNumber, 25, rowNumber, 27].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 25, rowNumber, 27].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 28].Text = "WATER"; + sheet.Range[rowNumber, 28, rowNumber, 30].Merge(); + sheet.Range[rowNumber, 28, rowNumber, 30].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 28, rowNumber, 30].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 31, rowNumber, 43].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 31, rowNumber, 43].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.Font.Bold = true; + + // Add Heading 3 + rowNumber++; + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thin; + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.VerticalAlignment = ExcelVAlign.VAlignBottom; + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.Rotation = 90; + sheet.Range[rowNumber, 1, rowNumber, 43].CellStyle.Font.Bold = true; + sheet.Range[rowNumber, 1].Text = " Name"; + sheet.Range[rowNumber, 2].Text = " Intro To Scouting"; + sheet.Range[rowNumber, 3].Text = " Intro To Section"; + sheet.Range[rowNumber, 4].Text = " Community (6)"; + sheet.Range[rowNumber, 5].Text = " Creative (6)"; + sheet.Range[rowNumber, 6].Text = " Outdoors (6)"; + sheet.Range[rowNumber, 7].Text = " Personal Growth (6)"; + sheet.Range[rowNumber, 8].Text = " Assist (2)"; + sheet.Range[rowNumber, 9].Text = " Lead (1)"; + sheet.Range[rowNumber, 10].Text = " Community (5)"; + sheet.Range[rowNumber, 11].Text = " Creative (5)"; + sheet.Range[rowNumber, 12].Text = " Outdoors (5)"; + sheet.Range[rowNumber, 13].Text = " Personal Growth (5)"; + sheet.Range[rowNumber, 14].Text = " Assist (3)"; + sheet.Range[rowNumber, 15].Text = " Lead (2)"; + sheet.Range[rowNumber, 16].Text = " Community (4)"; + sheet.Range[rowNumber, 17].Text = " Creative (4)"; + sheet.Range[rowNumber, 18].Text = " Outdoors (4)"; + sheet.Range[rowNumber, 19].Text = " Personal Growth (4)"; + sheet.Range[rowNumber, 20].Text = " Assist (4)"; + sheet.Range[rowNumber, 21].Text = " Lead (4)"; + sheet.Range[rowNumber, 22].Text = " Bushcraft"; + sheet.Range[rowNumber, 23].Text = " Bushwalking"; + sheet.Range[rowNumber, 24].Text = " Camping"; + sheet.Range[rowNumber, 25].Text = " Alpine"; + sheet.Range[rowNumber, 26].Text = " Cycling"; + sheet.Range[rowNumber, 27].Text = " Vertical"; + sheet.Range[rowNumber, 28].Text = " Aquatics"; + sheet.Range[rowNumber, 29].Text = " Boating"; + sheet.Range[rowNumber, 30].Text = " Paddling"; + sheet.Range[rowNumber, 31].Text = " Total Progressions"; + sheet.Range[rowNumber, 32].Text = " Total Nights Camped"; + sheet.Range[rowNumber, 33].Text = " Total KMs Hiked"; + sheet.Range[rowNumber, 34].Text = " Adventure & Sport"; + sheet.Range[rowNumber, 35].Text = " Arts & Literature"; + sheet.Range[rowNumber, 36].Text = " Environment"; + sheet.Range[rowNumber, 37].Text = " STEM & Innovation"; + sheet.Range[rowNumber, 38].Text = " Growth & Development"; + sheet.Range[rowNumber, 39].Text = " Creating a Better World"; + sheet.Range[rowNumber, 40].Text = " Leadership Course"; + sheet.Range[rowNumber, 41].Text = " Adventurous Journey"; + sheet.Range[rowNumber, 42].Text = " Personal Reflection"; + sheet.Range[rowNumber, 43].Text = " PEAK AWARD"; + sheet.SetRowHeight(rowNumber, 120); + + foreach (var wallchartEntry in wallchartEntries) + { + rowNumber++; + sheet.Range[rowNumber, 1].Text = wallchartEntry.MemberName; + SetWallchartCell(sheet.Range[rowNumber, 2], 0, wallchartGroups.intro, wallchartEntry.IntroToScouting); + SetWallchartCell(sheet.Range[rowNumber, 3], 0, wallchartGroups.intro, wallchartEntry.IntroToSection); + if (wallchartEntry.Milestone1Presented.HasValue) + { + sheet.Range[rowNumber, 4].DateTime = wallchartEntry.Milestone1Presented.Value; + sheet.Range[rowNumber, 4, rowNumber, 9].Merge(); + sheet.Range[rowNumber, 4, rowNumber, 9].CellStyle.Color = Milestone1LeadColours[1]; + } + else if (wallchartEntry.Milestone1Awarded.HasValue) + { + sheet.Range[rowNumber, 4].Text = $"{wallchartEntry.Milestone1Awarded.Value.ToShortDateString()}*"; + sheet.Range[rowNumber, 4, rowNumber, 9].Merge(); + sheet.Range[rowNumber, 4, rowNumber, 9].CellStyle.Color = Milestone1LeadColours[1]; + } + else + { + SetWallchartCell(sheet.Range[rowNumber, 4], 1, wallchartGroups.participate, wallchartEntry.Milestone1Community); + SetWallchartCell(sheet.Range[rowNumber, 5], 1, wallchartGroups.participate, wallchartEntry.Milestone1Creative); + SetWallchartCell(sheet.Range[rowNumber, 6], 1, wallchartGroups.participate, wallchartEntry.Milestone1Outdoors); + SetWallchartCell(sheet.Range[rowNumber, 7], 1, wallchartGroups.participate, wallchartEntry.Milestone1PersonalGrowth); + SetWallchartCell(sheet.Range[rowNumber, 8], 1, wallchartGroups.assist, wallchartEntry.Milestone1Assist); + SetWallchartCell(sheet.Range[rowNumber, 9], 1, wallchartGroups.lead, wallchartEntry.Milestone1Lead); + } + + if (wallchartEntry.Milestone2Presented.HasValue) + { + sheet.Range[rowNumber, 10].DateTime = wallchartEntry.Milestone2Presented.Value; + sheet.Range[rowNumber, 10, rowNumber, 15].Merge(); + sheet.Range[rowNumber, 10, rowNumber, 15].CellStyle.Color = Milestone1LeadColours[1]; + } + else if (wallchartEntry.Milestone2Awarded.HasValue) + { + sheet.Range[rowNumber, 10].Text = $"{wallchartEntry.Milestone2Awarded.Value.ToShortDateString()}*"; + sheet.Range[rowNumber, 10, rowNumber, 15].Merge(); + sheet.Range[rowNumber, 10, rowNumber, 15].CellStyle.Color = Milestone1LeadColours[1]; + } + else + { + SetWallchartCell(sheet.Range[rowNumber, 10], 2, wallchartGroups.participate, wallchartEntry.Milestone2Community); + SetWallchartCell(sheet.Range[rowNumber, 11], 2, wallchartGroups.participate, wallchartEntry.Milestone2Creative); + SetWallchartCell(sheet.Range[rowNumber, 12], 2, wallchartGroups.participate, wallchartEntry.Milestone2Outdoors); + SetWallchartCell(sheet.Range[rowNumber, 13], 2, wallchartGroups.participate, wallchartEntry.Milestone2PersonalGrowth); + SetWallchartCell(sheet.Range[rowNumber, 14], 2, wallchartGroups.assist, wallchartEntry.Milestone2Assist); + SetWallchartCell(sheet.Range[rowNumber, 15], 2, wallchartGroups.lead, wallchartEntry.Milestone2Lead); + } + + if (wallchartEntry.Milestone3Presented.HasValue) + { + sheet.Range[rowNumber, 16].DateTime = wallchartEntry.Milestone3Presented.Value; + sheet.Range[rowNumber, 16, rowNumber, 21].Merge(); + sheet.Range[rowNumber, 16, rowNumber, 21].CellStyle.Color = Milestone1LeadColours[1]; + } + else if (wallchartEntry.Milestone3Awarded.HasValue) + { + sheet.Range[rowNumber, 16].Text = $"{wallchartEntry.Milestone3Awarded.Value.ToShortDateString()}*"; + sheet.Range[rowNumber, 16, rowNumber, 21].Merge(); + sheet.Range[rowNumber, 16, rowNumber, 21].CellStyle.Color = Milestone1LeadColours[1]; + } + else + { + SetWallchartCell(sheet.Range[rowNumber, 16], 3, wallchartGroups.participate, wallchartEntry.Milestone3Community); + SetWallchartCell(sheet.Range[rowNumber, 17], 3, wallchartGroups.participate, wallchartEntry.Milestone3Creative); + SetWallchartCell(sheet.Range[rowNumber, 18], 3, wallchartGroups.participate, wallchartEntry.Milestone3Outdoors); + SetWallchartCell(sheet.Range[rowNumber, 19], 3, wallchartGroups.participate, wallchartEntry.Milestone3PersonalGrowth); + SetWallchartCell(sheet.Range[rowNumber, 20], 3, wallchartGroups.assist, wallchartEntry.Milestone3Assist); + SetWallchartCell(sheet.Range[rowNumber, 21], 3, wallchartGroups.lead, wallchartEntry.Milestone3Lead); + } + SetWallchartCell(sheet.Range[rowNumber, 22], 0, wallchartGroups.oasCore, wallchartEntry.OASBushcraftStage); + SetWallchartCell(sheet.Range[rowNumber, 23], 0, wallchartGroups.oasCore, wallchartEntry.OASBushwalkingStage); + SetWallchartCell(sheet.Range[rowNumber, 24], 0, wallchartGroups.oasCore, wallchartEntry.OASCampingStage); + SetWallchartCell(sheet.Range[rowNumber, 25], 0, wallchartGroups.oasLand, wallchartEntry.OASAlpineStage); + SetWallchartCell(sheet.Range[rowNumber, 26], 0, wallchartGroups.oasLand, wallchartEntry.OASCyclingStage); + SetWallchartCell(sheet.Range[rowNumber, 27], 0, wallchartGroups.oasLand, wallchartEntry.OASVerticalStage); + SetWallchartCell(sheet.Range[rowNumber, 28], 0, wallchartGroups.oasWater, wallchartEntry.OASAquaticsStage); + SetWallchartCell(sheet.Range[rowNumber, 29], 0, wallchartGroups.oasWater, wallchartEntry.OASBoatingStage); + SetWallchartCell(sheet.Range[rowNumber, 30], 0, wallchartGroups.oasWater, wallchartEntry.OASPaddlingStage); + SetWallchartCell(sheet.Range[rowNumber, 31], 0, wallchartGroups.oasProgression, wallchartEntry.OASStageProgressions); + SetWallchartCell(sheet.Range[rowNumber, 32], 0, wallchartGroups.oasProgression, wallchartEntry.NightsCamped); + SetWallchartCell(sheet.Range[rowNumber, 33], 0, wallchartGroups.oasProgression, wallchartEntry.KMsHiked); + SetWallchartCell(sheet.Range[rowNumber, 34], 0, wallchartGroups.siaOdd, wallchartEntry.SIAAdventureSport); + SetWallchartCell(sheet.Range[rowNumber, 35], 0, wallchartGroups.siaEven, wallchartEntry.SIAArtsLiterature); + SetWallchartCell(sheet.Range[rowNumber, 36], 0, wallchartGroups.siaOdd, wallchartEntry.SIAEnvironment); + SetWallchartCell(sheet.Range[rowNumber, 37], 0, wallchartGroups.siaEven, wallchartEntry.SIAStemInnovation); + SetWallchartCell(sheet.Range[rowNumber, 38], 0, wallchartGroups.siaOdd, wallchartEntry.SIAGrowthDevelopment); + SetWallchartCell(sheet.Range[rowNumber, 39], 0, wallchartGroups.siaEven, wallchartEntry.SIACreatingABetterWorld); + SetWallchartCell(sheet.Range[rowNumber, 40], 0, wallchartGroups.leadershipCourse, wallchartEntry.LeadershipCourse); + SetWallchartCell(sheet.Range[rowNumber, 41], 0, wallchartGroups.adventurousJourney, wallchartEntry.AdventurousJourney); + SetWallchartCell(sheet.Range[rowNumber, 42], 0, wallchartGroups.personalReflection, wallchartEntry.PersonalReflection); + SetWallchartCell(sheet.Range[rowNumber, 43], 0, wallchartGroups.intro, wallchartEntry.PeakAward); + sheet.Range[rowNumber, 1, rowNumber, 43].BorderAround(); + sheet.Range[rowNumber, 1, rowNumber, 43].BorderInside(); + sheet.Range[rowNumber, 2, rowNumber, 43].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignCenter; + } + + + sheet.Range[1, 1, rowNumber, 43].AutofitColumns(); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4; + sheet.PageSetup.Orientation = ExcelPageOrientation.Landscape; + sheet.PageSetup.BottomMargin = 0.25; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + sheet.PageSetup.IsFitToPage = true; + + return workbook; + } + + + public IWorkbook GenerateApprovalsWorkbook(List selectedApprovals, string groupName, string section, string unitName, DateTime approvalSearchFromDate, DateTime approvalSearchToDate, bool groupByMember, bool forPdfOutput) + { + var workbook = CreateWorkbookWithLogo(groupName, section, 8); + IWorksheet sheet = workbook.Worksheets[0]; + int rowNumber = 1; + int averageStartRow = 0; + int averageEndRow = 0; + + IStyle headingStyle = workbook.Styles["headingStyle"]; + + // Add Unit name + rowNumber++; + var unit = sheet.Range[rowNumber, 2]; + unit.Text = unitName; + unit.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 8].Merge(); + sheet.SetRowHeight(rowNumber, 40); + + // Add Title + rowNumber++; + var title = sheet.Range[rowNumber, 2]; + title.Text = $"Award Approvals between {approvalSearchFromDate.ToShortDateString()} and {approvalSearchToDate.ToShortDateString()}"; + title.CellStyle = headingStyle; + sheet.Range[rowNumber, 2, rowNumber, 8].Merge(); + sheet.SetRowHeight(rowNumber, 30); + + var groupedApprovals = new List>(); + if (groupByMember) + groupedApprovals = selectedApprovals.GroupBy(a => a.member_display_name).ToList(); + else + groupedApprovals = selectedApprovals.GroupBy(a => a.achievement_name).ToList(); + + foreach (var approvalGroup in groupedApprovals.OrderBy(a => a.Key)) + { + rowNumber++; + sheet.Range[rowNumber, 1].Text = approvalGroup.Key; + sheet.Range[rowNumber, 1, rowNumber, 4].Merge(); + if (rowNumber == 4) + { + sheet.Range[rowNumber, 6].Text = "Awarded"; + sheet.Range[rowNumber, 6].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignRight; + sheet.Range[rowNumber, 7].Text = "Presented"; + sheet.Range[rowNumber, 7].CellStyle.HorizontalAlignment = ExcelHAlign.HAlignRight; + } + sheet.Range[rowNumber, 1, rowNumber, 7].CellStyle.Font.Bold = true; + + sheet.SetRowHeight(rowNumber, 20); + + foreach (var approval in approvalGroup.OrderBy(a => a.member_display_name).ThenBy(a => a.achievement_name)) + { + rowNumber++; + sheet.Range[rowNumber, 2].Text = groupByMember ? approval.achievement_name : approval.member_display_name; + sheet.Range[rowNumber, 3].Text = approval.submission_type; + sheet.Range[rowNumber, 4].Text = approval.submission_status; + sheet.Range[rowNumber, 5].Text = approval.submission_outcome; + if (approval.awarded_date.HasValue) + sheet.Range[rowNumber, 6].DateTime = approval.awarded_date.Value; + if (approval.presented_date.HasValue) + sheet.Range[rowNumber, 7].DateTime = approval.presented_date.Value; + } + } + + sheet.Range[4, 2, rowNumber, 7].AutofitColumns(); + + sheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4; + sheet.PageSetup.Orientation = ExcelPageOrientation.Portrait; + sheet.PageSetup.BottomMargin = 0.25; + sheet.PageSetup.TopMargin = 0.25; + sheet.PageSetup.LeftMargin = 0.25; + sheet.PageSetup.RightMargin = 0.25; + sheet.PageSetup.HeaderMargin = 0; + sheet.PageSetup.FooterMargin = 0; + + return workbook; + } + + private int UnitMaxAge(string unit) + { + switch (unit) + { + case "joey": + return 8; + case "cub": + return 11; + case "scout": + return 15; + case "venturer": + return 18; + case "rover": + default: + return 26; + } + } + + private ExcelKnownColors GetChallengeAreaColour(string challengeArea) + { + switch (challengeArea) + { + case "Community": + return ExcelKnownColors.Grey_25_percent; + case "Creative": + return ExcelKnownColors.Rose; + case "Outdoors": + return ExcelKnownColors.Sea_green; + case "Personal Growth": + return ExcelKnownColors.Gold; + default: + return ExcelKnownColors.None; + } + } + + private Color GetInputTitleColour(string inputTitle) + { + switch (inputTitle) + { + case "Plan": + return Color.LightBlue; + case "Do": + return Color.SkyBlue; + case "Review": + return Color.CornflowerBlue; + case "Verify": + return Color.RoyalBlue; + default: + return Color.White; + } + } + + private string GetParticipateHeadingText(int currentLevel) + { + switch (currentLevel) + { + case 1: + return "Participate - 6"; + case 2: + return "Participate - 5"; + case 3: + return "Participate - 4"; + default: + return "Participate"; + } + } + + private string GetAssistHeadingText(int currentLevel) + { + switch (currentLevel) + { + case 1: + return "Assist - 2"; + case 2: + return "Assist - 3"; + case 3: + return "Assist - 4"; + default: + return "Assist"; + } + } + + private string GetLeadHeadingText(int currentLevel) + { + switch (currentLevel) + { + case 1: + return "Lead - 1"; + case 2: + return "Lead - 2"; + case 3: + return "Lead - 4"; + default: + return "Lead"; + } + } + + private void SetMilestoneCell(IRange cell, int currentLevel, participateAssistLead pal, int count) + { + cell.Number = count; + cell.CellStyle.Color = GetMilestoneProgressColour(currentLevel, pal, count); + } + private Color GetMilestoneProgressColour(int currentLevel, participateAssistLead pal, int count) + { + // Skipped milestones have a count of -1 + if (count < 0) + return Color.White; + + if (currentLevel == 1) + { + switch (pal) + { + case participateAssistLead.participate: + return Milestone1ParticipateColours[Math.Min(count, 6)]; + case participateAssistLead.assist: + return Milestone1AssistColours[Math.Min(count, 2)]; + case participateAssistLead.lead: + return Milestone1LeadColours[Math.Min(count, 1)]; + default: + return Color.White; + } + } + + if (currentLevel == 2) + { + switch (pal) + { + case participateAssistLead.participate: + return Milestone2ParticipateColours[Math.Min(count, 5)]; + case participateAssistLead.assist: + return Milestone2AssistColours[Math.Min(count, 3)]; + case participateAssistLead.lead: + return Milestone1AssistColours[Math.Min(count, 2)]; + default: + return Color.White; + } + } + + if (currentLevel == 3) + { + switch (pal) + { + case participateAssistLead.participate: + return Milestone3Colours[Math.Min(count, 4)]; + case participateAssistLead.assist: + return Milestone3Colours[Math.Min(count, 4)]; + case participateAssistLead.lead: + return Milestone3Colours[Math.Min(count, 4)]; + default: + return Color.White; + } + } + + return Color.White; + } + + private void SetWallchartCell(IRange cell, int currentLevel, wallchartGroups wallchartGroups, int count) + { + if (count > 0) + cell.Number = count; + SetWallchartCellBackground(cell, currentLevel, wallchartGroups, count); + } + + private void SetWallchartCell(IRange cell, int currentLevel, wallchartGroups wallchartGroups, DateTime? dateAwarded) + { + if (dateAwarded.HasValue) + { + cell.DateTime = dateAwarded.Value; + cell.NumberFormat = "dd/MM/yy"; + } + SetWallchartCellBackground(cell, currentLevel, wallchartGroups, 0); + } + + private void SetWallchartCell(IRange cell, int currentLevel, wallchartGroups wallchartGroups, double percent) + { + cell.Number = percent; + cell.NumberFormat = "0%"; + SetWallchartCellBackground(cell, currentLevel, wallchartGroups, 0); + } + + private void SetWallchartCellBackground(IRange cell, int currentLevel, wallchartGroups wallchartGroup, int count) + { + switch (wallchartGroup) + { + case wallchartGroups.intro: + cell.CellStyle.Color = Color.Gainsboro; + break; + case wallchartGroups.participate: + switch (currentLevel) + { + case 1: + if (count == 6) + cell.CellStyle.Color = Milestone1ParticipateColours[6]; + break; + case 2: + if (count == 5) + cell.CellStyle.Color = Milestone2ParticipateColours[5]; + break; + case 3: + if (count >= 4) + cell.CellStyle.Color = Milestone3Colours[4]; + break; + } + break; + case wallchartGroups.assist: + switch (currentLevel) + { + case 1: + if (count == 2) + cell.CellStyle.Color = Milestone1AssistColours[2]; + else + cell.CellStyle.Color = Color.Gainsboro; + break; + case 2: + if (count == 3) + cell.CellStyle.Color = Milestone2AssistColours[3]; + else + cell.CellStyle.Color = Color.Gainsboro; + break; + case 3: + if (count >= 4) + cell.CellStyle.Color = Milestone3Colours[4]; + else + cell.CellStyle.Color = Color.Gainsboro; + break; + } + break; + case wallchartGroups.lead: + switch (currentLevel) + { + case 1: + if (count == 1) + cell.CellStyle.Color = Milestone1LeadColours[1]; + else + cell.CellStyle.Color = Color.Gainsboro; + break; + case 2: + if (count == 2) + cell.CellStyle.Color = Milestone1AssistColours[2]; + else + cell.CellStyle.Color = Color.Gainsboro; + break; + case 3: + if (count >= 4) + cell.CellStyle.Color = Milestone3Colours[4]; + else + cell.CellStyle.Color = Color.Gainsboro; + break; + } + break; + case wallchartGroups.oasCore: + case wallchartGroups.adventurousJourney: + cell.CellStyle.Color = Color.DarkSeaGreen; + break; + case wallchartGroups.oasLand: + case wallchartGroups.personalReflection: + cell.CellStyle.Color = Color.LightSalmon; + break; + case wallchartGroups.oasWater: + case wallchartGroups.leadershipCourse: + cell.CellStyle.Color = Color.LightBlue; + break; + case wallchartGroups.oasProgression: + cell.CellStyle.Color = Color.Gainsboro; + break; + case wallchartGroups.siaOdd: + cell.CellStyle.Color = Color.MistyRose; + break; + case wallchartGroups.siaEven: + cell.CellStyle.Color = Color.LightYellow; + break; + case wallchartGroups.peakAward: + cell.CellStyle.Color = Color.Thistle; + break; + } + } + + } +} diff --git a/Services/Services.csproj b/Services/Services.csproj new file mode 100644 index 0000000..659e592 --- /dev/null +++ b/Services/Services.csproj @@ -0,0 +1,21 @@ + + + + net6.0 + enable + enable + Topo.$(MSBuildProjectName.Replace(" ", "_")) + + + + + + + + + + + + + + diff --git a/Topo-Blazor.sln b/Topo-Blazor.sln index 2c1d7c3..b0435d2 100644 --- a/Topo-Blazor.sln +++ b/Topo-Blazor.sln @@ -5,6 +5,14 @@ VisualStudioVersion = 17.3.32804.467 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Topo", "Topo\Topo.csproj", "{975D725C-75AA-4914-A65E-172DFC49BEBA}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Model", "Model\Model.csproj", "{9E020FBD-0E48-42B0-92BA-50114944548E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TopoReportFunction", "TopoReportFunction\TopoReportFunction.csproj", "{C564D990-EDEA-46F7-A6B4-BAAC62D813E7}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Services", "Services\Services.csproj", "{3E472F35-BC70-4361-8FFF-5B421E7A2EDE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TopoReportFunctionTest", "TopoReportFunctionTest\TopoReportFunctionTest.csproj", "{68A04E50-C3E9-4C78-8995-3C1C16DDAC4C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,6 +23,22 @@ Global {975D725C-75AA-4914-A65E-172DFC49BEBA}.Debug|Any CPU.Build.0 = Debug|Any CPU {975D725C-75AA-4914-A65E-172DFC49BEBA}.Release|Any CPU.ActiveCfg = Release|Any CPU {975D725C-75AA-4914-A65E-172DFC49BEBA}.Release|Any CPU.Build.0 = Release|Any CPU + {9E020FBD-0E48-42B0-92BA-50114944548E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9E020FBD-0E48-42B0-92BA-50114944548E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9E020FBD-0E48-42B0-92BA-50114944548E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9E020FBD-0E48-42B0-92BA-50114944548E}.Release|Any CPU.Build.0 = Release|Any CPU + {C564D990-EDEA-46F7-A6B4-BAAC62D813E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C564D990-EDEA-46F7-A6B4-BAAC62D813E7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C564D990-EDEA-46F7-A6B4-BAAC62D813E7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C564D990-EDEA-46F7-A6B4-BAAC62D813E7}.Release|Any CPU.Build.0 = Release|Any CPU + {3E472F35-BC70-4361-8FFF-5B421E7A2EDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3E472F35-BC70-4361-8FFF-5B421E7A2EDE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3E472F35-BC70-4361-8FFF-5B421E7A2EDE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3E472F35-BC70-4361-8FFF-5B421E7A2EDE}.Release|Any CPU.Build.0 = Release|Any CPU + {68A04E50-C3E9-4C78-8995-3C1C16DDAC4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {68A04E50-C3E9-4C78-8995-3C1C16DDAC4C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {68A04E50-C3E9-4C78-8995-3C1C16DDAC4C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {68A04E50-C3E9-4C78-8995-3C1C16DDAC4C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Topo/Topo.csproj b/Topo/Topo.csproj index 6b03bfa..7d403be 100644 --- a/Topo/Topo.csproj +++ b/Topo/Topo.csproj @@ -18,6 +18,10 @@ + + + + Always diff --git a/TopoReportFunction/Fonts/Ubuntu-R.ttf b/TopoReportFunction/Fonts/Ubuntu-R.ttf new file mode 100644 index 0000000..d748728 Binary files /dev/null and b/TopoReportFunction/Fonts/Ubuntu-R.ttf differ diff --git a/TopoReportFunction/Fonts/carlito.regular.ttf b/TopoReportFunction/Fonts/carlito.regular.ttf new file mode 100644 index 0000000..6b7e0e3 Binary files /dev/null and b/TopoReportFunction/Fonts/carlito.regular.ttf differ diff --git a/TopoReportFunction/Function.cs b/TopoReportFunction/Function.cs new file mode 100644 index 0000000..4094dad --- /dev/null +++ b/TopoReportFunction/Function.cs @@ -0,0 +1,288 @@ +using Amazon.Lambda.APIGatewayEvents; +using Amazon.Lambda.Core; +using Newtonsoft.Json; +using Syncfusion.Pdf; +using Syncfusion.XlsIO; +using Syncfusion.XlsIORenderer; +using System.Globalization; +using Topo.Model.Program; +using Topo.Model.Members; +using Topo.Model.Milestone; +using Topo.Model.OAS; +using Topo.Model.ReportGeneration; +using Topo.Model.SIA; +using Topo.Model.Logbook; +using Topo.Model.Wallchart; +using Topo.Model.AdditionalAwards; +using Topo.Services; +using Topo.Model.Approvals; + +// Assembly attribute to enable the Lambda function's JSON input to be converted into a .NET class. +[assembly: LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))] + +namespace TopoReportFunction; + +public class Function +{ + private ReportService reportService = new ReportService(); + + /// + /// Returns a Member List Report in a base 64 string of the PDF or XLSX + /// + /// A ReportGenerationRequest object containing the report request + /// + /// + public string FunctionHandler(APIGatewayProxyRequest request, ILambdaContext context) + { + try + { + System.Globalization.CultureInfo cultureInfo = new System.Globalization.CultureInfo("en-AU"); + CultureInfo.DefaultThreadCurrentCulture = cultureInfo; + CultureInfo.DefaultThreadCurrentUICulture = cultureInfo; + + Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("Mgo+DSMBMAY9C3t2VVhiQlFadVdJXGFWfVJpTGpQdk5xdV9DaVZUTWY/P1ZhSXxRdkJiUX9YdHZRRGheVkQ="); + + var requestBody = request.Body; + Console.WriteLine(requestBody); + var reportGenerationRequest = JsonConvert.DeserializeObject(requestBody); + if (reportGenerationRequest != null) + { + var workbook = reportService.CreateWorkbookWithSheets(1); + switch (reportGenerationRequest.ReportType) + { + case ReportType.MemberList: + workbook = GenerateMemberListWorkbook(reportGenerationRequest); + break; + case ReportType.PatrolList: + workbook = GeneratePatrolListWorkbook(reportGenerationRequest); + break; + case ReportType.PatrolSheets: + workbook = GeneratePatrolSheetsWorkbook(reportGenerationRequest); + break; + case ReportType.SignInSheet: + workbook = GenerateSignInSheetWorkbook(reportGenerationRequest); + break; + case ReportType.EventAttendance: + workbook = GenerateEventAttendanceWorkbook(reportGenerationRequest); + break; + case ReportType.Attendance: + workbook = GenerateAttendanceReportWorkbook(reportGenerationRequest); + break; + case ReportType.OASWorksheet: + workbook = GenerateOASWorksheetWorkbook(reportGenerationRequest); + break; + case ReportType.SIA: + workbook = GenerateSIAWorkbook(reportGenerationRequest); + break; + case ReportType.Milestone: + workbook = GenerateMilestoneWorkbook(reportGenerationRequest); + break; + case ReportType.Logbook: + workbook = GenerateLogbookWorkbook(reportGenerationRequest); + break; + case ReportType.Wallchart: + workbook = GenerateWallchartWorkbook(reportGenerationRequest); + break; + case ReportType.AdditionalAwards: + workbook = GenerateAdditionalAwardsWorkbook(reportGenerationRequest); + break; + case ReportType.Approvals: + workbook = GenerateApprovalsWorkbook(reportGenerationRequest); + break; + } + + if (workbook != null) + { + MemoryStream strm = new MemoryStream(); + workbook.Version = ExcelVersion.Excel2016; + + if (reportGenerationRequest.OutputType == OutputType.PDF) + { + //Initialize XlsIO renderer. + XlsIORenderer renderer = new XlsIORenderer(); + + //Convert Excel document into PDF document + PdfDocument pdfDocument = renderer.ConvertToPDF(workbook); + pdfDocument.Save(strm); + } + + if (reportGenerationRequest.OutputType == OutputType.Excel) + { + //Stream as Excel file + workbook.SaveAs(strm); + } + + // return stream in browser + return Convert.ToBase64String(strm.ToArray()); + + } + } + } + + catch(Exception ex) + { + Console.WriteLine(ex.ToString()); + } + + + return ""; + } + + private IWorkbook GenerateMemberListWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject>(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateMemberListWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GeneratePatrolListWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject>(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GeneratePatrolListWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName, reportGenerationRequest.IncludeLeaders); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GeneratePatrolSheetsWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject>(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GeneratePatrolSheetsWorkbook(reportData, reportGenerationRequest.Section); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GenerateSignInSheetWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject>(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateSignInSheetWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName, reportGenerationRequest.EventName); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GenerateEventAttendanceWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateEventAttendanceWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GenerateAttendanceReportWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateAttendanceReportWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName, reportGenerationRequest.FromDate, reportGenerationRequest.ToDate + , reportGenerationRequest.OutputType == OutputType.PDF); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GenerateOASWorksheetWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject>(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateOASWorksheetWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName, reportGenerationRequest.OutputType == OutputType.PDF, reportGenerationRequest.FormatLikeTerrain + , reportGenerationRequest.BreakByPatrol); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GenerateSIAWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject>(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateSIAWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName, reportGenerationRequest.OutputType == OutputType.PDF); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GenerateMilestoneWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject>(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateMilestoneWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName, reportGenerationRequest.OutputType == OutputType.PDF); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GenerateLogbookWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject>(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateLogbookWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName, reportGenerationRequest.OutputType == OutputType.PDF); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GenerateWallchartWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject>(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateWallchartWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName, reportGenerationRequest.OutputType == OutputType.PDF); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GenerateAdditionalAwardsWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateAdditionalAwardsWorkbook(reportData.AwardSpecificationsList, reportData.SortedAdditionalAwardsList, reportData.DistinctAwards, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } + + private IWorkbook GenerateApprovalsWorkbook(ReportGenerationRequest reportGenerationRequest) + { + var reportData = JsonConvert.DeserializeObject>(reportGenerationRequest.ReportData); + if (reportData != null) + { + var workbook = reportService.GenerateApprovalsWorkbook(reportData, reportGenerationRequest.GroupName, reportGenerationRequest.Section + , reportGenerationRequest.UnitName, reportGenerationRequest.FromDate, reportGenerationRequest.ToDate, reportGenerationRequest.GroupByMember + , reportGenerationRequest.OutputType == OutputType.PDF); + return workbook; + } + return reportService.CreateWorkbookWithSheets(1); + } +} diff --git a/TopoReportFunction/Images/Cub Scouts Full Col Vertical.png b/TopoReportFunction/Images/Cub Scouts Full Col Vertical.png new file mode 100644 index 0000000..858968b Binary files /dev/null and b/TopoReportFunction/Images/Cub Scouts Full Col Vertical.png differ diff --git a/TopoReportFunction/Images/Joey Scouts Full Col Vertical.jpg b/TopoReportFunction/Images/Joey Scouts Full Col Vertical.jpg new file mode 100644 index 0000000..a4195e0 Binary files /dev/null and b/TopoReportFunction/Images/Joey Scouts Full Col Vertical.jpg differ diff --git a/TopoReportFunction/Images/Rover Scouts Full Col Vertical.jpg b/TopoReportFunction/Images/Rover Scouts Full Col Vertical.jpg new file mode 100644 index 0000000..1f4d625 Binary files /dev/null and b/TopoReportFunction/Images/Rover Scouts Full Col Vertical.jpg differ diff --git a/TopoReportFunction/Images/Scouts Full Col Vertical.jpg b/TopoReportFunction/Images/Scouts Full Col Vertical.jpg new file mode 100644 index 0000000..67e987b Binary files /dev/null and b/TopoReportFunction/Images/Scouts Full Col Vertical.jpg differ diff --git a/TopoReportFunction/Images/Venturer Scouts Full Col Vertical.jpg b/TopoReportFunction/Images/Venturer Scouts Full Col Vertical.jpg new file mode 100644 index 0000000..67795ea Binary files /dev/null and b/TopoReportFunction/Images/Venturer Scouts Full Col Vertical.jpg differ diff --git a/TopoReportFunction/Properties/launchSettings.json b/TopoReportFunction/Properties/launchSettings.json new file mode 100644 index 0000000..a82d404 --- /dev/null +++ b/TopoReportFunction/Properties/launchSettings.json @@ -0,0 +1,10 @@ +{ + "profiles": { + "Mock Lambda Test Tool": { + "commandName": "Executable", + "commandLineArgs": "--port 5050", + "workingDirectory": ".\\bin\\$(Configuration)\\net6.0", + "executablePath": "%USERPROFILE%\\.dotnet\\tools\\dotnet-lambda-test-tool-6.0.exe" + } + } +} \ No newline at end of file diff --git a/TopoReportFunction/Readme.md b/TopoReportFunction/Readme.md new file mode 100644 index 0000000..d399e93 --- /dev/null +++ b/TopoReportFunction/Readme.md @@ -0,0 +1,49 @@ +# AWS Lambda Empty Function Project + +This starter project consists of: +* Function.cs - class file containing a class with a single function handler method +* aws-lambda-tools-defaults.json - default argument settings for use with Visual Studio and command line deployment tools for AWS + +You may also have a test project depending on the options selected. + +The generated function handler is a simple method accepting a string argument that returns the uppercase equivalent of the input string. Replace the body of this method, and parameters, to suit your needs. + +## Here are some steps to follow from Visual Studio: + +To deploy your function to AWS Lambda, right click the project in Solution Explorer and select *Publish to AWS Lambda*. + +To view your deployed function open its Function View window by double-clicking the function name shown beneath the AWS Lambda node in the AWS Explorer tree. + +To perform testing against your deployed function use the Test Invoke tab in the opened Function View window. + +To configure event sources for your deployed function, for example to have your function invoked when an object is created in an Amazon S3 bucket, use the Event Sources tab in the opened Function View window. + +To update the runtime configuration of your deployed function use the Configuration tab in the opened Function View window. + +To view execution logs of invocations of your function use the Logs tab in the opened Function View window. + +## Here are some steps to follow to get started from the command line: + +Once you have edited your template and code you can deploy your application using the [Amazon.Lambda.Tools Global Tool](https://github.com/aws/aws-extensions-for-dotnet-cli#aws-lambda-amazonlambdatools) from the command line. + +Install Amazon.Lambda.Tools Global Tools if not already installed. +``` + dotnet tool install -g Amazon.Lambda.Tools +``` + +If already installed check if new version is available. +``` + dotnet tool update -g Amazon.Lambda.Tools +``` + +Execute unit tests +``` + cd "MemberListReportFunction/test/MemberListReportFunction.Tests" + dotnet test +``` + +Deploy function to AWS Lambda +``` + cd "MemberListReportFunction/src/MemberListReportFunction" + dotnet lambda deploy-function +``` diff --git a/TopoReportFunction/TopoReportFunction.csproj b/TopoReportFunction/TopoReportFunction.csproj new file mode 100644 index 0000000..064883b --- /dev/null +++ b/TopoReportFunction/TopoReportFunction.csproj @@ -0,0 +1,51 @@ + + + net6.0 + enable + enable + true + Lambda + + true + + true + + + + + + + + + + + + + + + + + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + Always + + + \ No newline at end of file diff --git a/TopoReportFunction/aws-lambda-tools-defaults.json b/TopoReportFunction/aws-lambda-tools-defaults.json new file mode 100644 index 0000000..c1c6670 --- /dev/null +++ b/TopoReportFunction/aws-lambda-tools-defaults.json @@ -0,0 +1,27 @@ + +{ + "Information" : [ + "This file provides default values for the deployment wizard inside Visual Studio and the AWS Lambda commands added to the .NET Core CLI.", + "To learn more about the Lambda commands with the .NET Core CLI execute the following command at the command line in the project root directory.", + "dotnet lambda help", + "All the command line options for the Lambda command can be specified in this file." + ], + "profile" : "default", + "region" : "ap-southeast-2", + "configuration" : "Release", + "function-runtime" : "dotnet6", + "function-memory-size" : 256, + "function-timeout" : 120, + "function-handler" : "TopoReportFunction::TopoReportFunction.Function::FunctionHandler", + "framework" : "net6.0", + "function-name" : "TopoReportGenerator", + "function-description" : "Generates a report from a supplied data set", + "package-type" : "Zip", + "function-role" : "arn:aws:iam::145258501732:role/lambda_exec_PDFGen", + "function-architecture" : "x86_64", + "function-subnets" : "", + "function-security-groups" : "", + "tracing-mode" : "PassThrough", + "environment-variables" : "", + "image-tag" : "" +} \ No newline at end of file diff --git a/TopoReportFunctionTest/AdditionalAward.cs b/TopoReportFunctionTest/AdditionalAward.cs new file mode 100644 index 0000000..9830239 --- /dev/null +++ b/TopoReportFunctionTest/AdditionalAward.cs @@ -0,0 +1,45 @@ +using Newtonsoft.Json; +using Topo.Model.ReportGeneration; +using TopoReportFunction; + +namespace TopoReportFunctionTest +{ + [TestClass] + public class AdditionalAward + { + private ReportGenerationRequest _reportGenerationRequest; + private Function _function; + + [TestInitialize] + public void SetUp() + { + _function = new Function(); + _reportGenerationRequest = new ReportGenerationRequest() + { + ReportType = ReportType.AdditionalAwards, + GroupName = "Epping Scout Group", + Section = "scout", + UnitName = "Scout Unit", + OutputType = OutputType.PDF, + ReportData = "{\"AwardSpecificationsList\":[{\"id\":\"camper_award_10\",\"name\":\"Camper Award - 10 Nights\",\"additionalAwardSortIndex\":0},{\"id\":\"camper_award_25\",\"name\":\"Camper Award - 25 Nights\",\"additionalAwardSortIndex\":1},{\"id\":\"camper_award_50\",\"name\":\"Camper Award - 50 Nights\",\"additionalAwardSortIndex\":2},{\"id\":\"camper_award_75\",\"name\":\"Camper Award - 75 Nights\",\"additionalAwardSortIndex\":3},{\"id\":\"camper_award_100\",\"name\":\"Camper Award - 100 Nights\",\"additionalAwardSortIndex\":4},{\"id\":\"walkabout_10\",\"name\":\"Walkabout Award - 10km\",\"additionalAwardSortIndex\":5},{\"id\":\"walkabout_50\",\"name\":\"Walkabout Award - 50km\",\"additionalAwardSortIndex\":6},{\"id\":\"walkabout_100\",\"name\":\"Walkabout Award - 100km\",\"additionalAwardSortIndex\":7},{\"id\":\"walkabout_150\",\"name\":\"Walkabout Award - 150km\",\"additionalAwardSortIndex\":8},{\"id\":\"walkabout_200\",\"name\":\"Walkabout Award - 200km\",\"additionalAwardSortIndex\":9},{\"id\":\"walkabout_300\",\"name\":\"Walkabout Award - 300km\",\"additionalAwardSortIndex\":10},{\"id\":\"walkabout_400\",\"name\":\"Walkabout Award - 400km\",\"additionalAwardSortIndex\":11},{\"id\":\"walkabout_500\",\"name\":\"Walkabout Award - 500km\",\"additionalAwardSortIndex\":12},{\"id\":\"first_aid\",\"name\":\"First Aid\",\"additionalAwardSortIndex\":13},{\"id\":\"landcare\",\"name\":\"Landcare\",\"additionalAwardSortIndex\":14},{\"id\":\"their_service_our_heritage\",\"name\":\"Their Service - Our Heritage\",\"additionalAwardSortIndex\":15},{\"id\":\"duke_of_edinburgh_bronze\",\"name\":\"The Duke of Edinburgh's Award (Bronze)\",\"additionalAwardSortIndex\":16},{\"id\":\"duke_of_edinburgh_silver\",\"name\":\"The Duke of Edinburgh's Award (Silver)\",\"additionalAwardSortIndex\":17},{\"id\":\"duke_of_edinburgh_gold\",\"name\":\"The Duke of Edinburgh's Award (Gold)\",\"additionalAwardSortIndex\":18},{\"id\":\"scouts_of_the_world\",\"name\":\"Scouts of the World Award\",\"additionalAwardSortIndex\":19},{\"id\":\"messengers_of_peace\",\"name\":\"Messengers of Peace\",\"additionalAwardSortIndex\":20},{\"id\":\"ses\",\"name\":\"SES\",\"additionalAwardSortIndex\":21},{\"id\":\"language_emblem\",\"name\":\"Language Emblem\",\"additionalAwardSortIndex\":22},{\"id\":\"scout_wings\",\"name\":\"Scout Wings\",\"additionalAwardSortIndex\":23},{\"id\":\"mental_health\",\"name\":\"Mental Health\",\"additionalAwardSortIndex\":24},{\"id\":\"youth_helper\",\"name\":\"Youth Helper\",\"additionalAwardSortIndex\":25},{\"id\":\"international_ambassador\",\"name\":\"International Ambassador Badge\",\"additionalAwardSortIndex\":26},{\"id\":\"champions_for_nature\",\"name\":\"Champions for Nature Challenge\",\"additionalAwardSortIndex\":27},{\"id\":\"tide_turners_plastic\",\"name\":\"Tide Turners Plastic Challenge\",\"additionalAwardSortIndex\":28},{\"id\":\"scouts_go_solar\",\"name\":\"Scouts Go Solar Challenge\",\"additionalAwardSortIndex\":29},{\"id\":\"scouts_for_sdgs\",\"name\":\"SDG Challenge\",\"additionalAwardSortIndex\":30}],\"SortedAdditionalAwardsList\":[{\"MemberName\":\"Alexander Holowinski (4 Nights, 28 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Alexander Holowinski (4 Nights, 28 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Amelia Chung (0 Nights, 0 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Annabella Ronfeldt (7 Nights, 19 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Annabella Ronfeldt (7 Nights, 19 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Bethany Wong (3 Nights, 26 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Bethany Wong (3 Nights, 26 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Cathy Graham (4 Nights, 12 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Cathy Graham (4 Nights, 12 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Chloe Small (3 Nights, 5 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Daniel Chung (0 Nights, 0 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Eric Liu (10 Nights, 33 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Eric Liu (10 Nights, 33 KMs)\",\"AwardId\":\"camper_award_10\",\"AwardName\":\"Camper Award - 10 Nights\",\"AwardSortIndex\":0,\"AwardDate\":\"2020-08-26T00:00:00\",\"PresentedDate\":\"2020-08-26T00:00:00\"},{\"MemberName\":\"Eric Liu (10 Nights, 33 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Ethan Lloyd (9 Nights, 38 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Ethan Lloyd (9 Nights, 38 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"James Alchin (0 Nights, 0 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"James Li (8 Nights, 31 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"James Li (8 Nights, 31 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Jeremy Chim (8 Nights, 24 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Johnny Li (0 Nights, 0 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Jonathan Li (12 Nights, 43 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Jonathan Li (12 Nights, 43 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Joshua Jones (7 Nights, 10 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Katrina Koop (9 Nights, 21 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Katrina Koop (9 Nights, 21 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Lukas Dunn (1 Nights, 32 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Matthew Last (0 Nights, 0 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Peter Xia (0 Nights, 0 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Phoenix Cao (4 Nights, 29 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Phoenix Cao (4 Nights, 29 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Ronit Natarajan (0 Nights, 0 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Sebastien Wookey (36 Nights, 89 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Sebastien Wookey (36 Nights, 89 KMs)\",\"AwardId\":\"camper_award_10\",\"AwardName\":\"Camper Award - 10 Nights\",\"AwardSortIndex\":0,\"AwardDate\":\"2020-08-26T00:00:00\",\"PresentedDate\":\"2020-08-26T00:00:00\"},{\"MemberName\":\"Sebastien Wookey (36 Nights, 89 KMs)\",\"AwardId\":\"camper_award_25\",\"AwardName\":\"Camper Award - 25 Nights\",\"AwardSortIndex\":1,\"AwardDate\":\"2020-08-26T00:00:00\",\"PresentedDate\":\"2020-08-26T00:00:00\"},{\"MemberName\":\"Sebastien Wookey (36 Nights, 89 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Sebastien Wookey (36 Nights, 89 KMs)\",\"AwardId\":\"walkabout_50\",\"AwardName\":\"Walkabout Award - 50km\",\"AwardSortIndex\":6,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Tynn Yam (3 Nights, 26 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Tynn Yam (3 Nights, 26 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Yang Pan (0 Nights, 0 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Zara Williams (12 Nights, 43 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Zara Williams (12 Nights, 43 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Zoe Lloyd (10 Nights, 23 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Zoe Lloyd (10 Nights, 23 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"},{\"MemberName\":\"Zoe Williams (12 Nights, 43 KMs)\",\"AwardId\":\"\",\"AwardName\":\"\",\"AwardSortIndex\":0,\"AwardDate\":null,\"PresentedDate\":null},{\"MemberName\":\"Zoe Williams (12 Nights, 43 KMs)\",\"AwardId\":\"walkabout_10\",\"AwardName\":\"Walkabout Award - 10km\",\"AwardSortIndex\":5,\"AwardDate\":\"2022-04-24T00:00:00\",\"PresentedDate\":\"2022-04-24T00:00:00\"}],\"DistinctAwards\":[\"\",\"camper_award_10\",\"camper_award_25\",\"walkabout_10\",\"walkabout_50\"]}" + }; + if (!Directory.Exists("TestResults")) + Directory.CreateDirectory("TestResults"); + } + + [TestMethod] + public void AdditionalAwards_ToPDF() + { + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\AdditionalAwards_ToPDF.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + } +} diff --git a/TopoReportFunctionTest/Events.cs b/TopoReportFunctionTest/Events.cs new file mode 100644 index 0000000..0cb8d18 --- /dev/null +++ b/TopoReportFunctionTest/Events.cs @@ -0,0 +1,104 @@ +using Newtonsoft.Json; +using Topo.Model.ReportGeneration; +using TopoReportFunction; + + +namespace TopoReportFunctionTest +{ + [TestClass] + public class Events + { + private ReportGenerationRequest _reportGenerationRequest; + private Function _function; + private string _attendanceListReportData = ""; + private string _attendanceReportData = ""; + + [TestInitialize] + public void SetUp() + { + _function = new Function(); + _reportGenerationRequest = new ReportGenerationRequest() + { + ReportType = ReportType.SignInSheet, + GroupName = "Epping Scout Group", + Section = "scout", + UnitName = "Scout Unit", + OutputType = OutputType.PDF, + ReportData = "[{\"id\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"member_number\":\"1107288\",\"first_name\":\"Alexander\",\"last_name\":\"Holowinski\",\"status\":\"active\",\"age\":\"14y 2m\",\"unit_council\":true,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"member_number\":\"1030990\",\"first_name\":\"Alice\",\"last_name\":\"Chaffey\",\"status\":\"active\",\"age\":\"48y 0m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"member_number\":\"1159894\",\"first_name\":\"Amelia\",\"last_name\":\"Chung\",\"status\":\"active\",\"age\":\"12y 7m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"member_number\":\"1131282\",\"first_name\":\"Annabella\",\"last_name\":\"Ronfeldt\",\"status\":\"active\",\"age\":\"13y 4m\",\"unit_council\":true,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"member_number\":\"1105699\",\"first_name\":\"Bethany\",\"last_name\":\"Wong\",\"status\":\"active\",\"age\":\"13y 9m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"member_number\":\"1126207\",\"first_name\":\"Cathy\",\"last_name\":\"Graham\",\"status\":\"active\",\"age\":\"13y 11m\",\"unit_council\":true,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"member_number\":\"1125790\",\"first_name\":\"Chloe\",\"last_name\":\"Small\",\"status\":\"active\",\"age\":\"11y 6m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"member_number\":\"1159891\",\"first_name\":\"Daniel\",\"last_name\":\"Chung\",\"status\":\"active\",\"age\":\"14y 1m\",\"unit_council\":false,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"member_number\":\"1059670\",\"first_name\":\"Eric\",\"last_name\":\"Liu\",\"status\":\"active\",\"age\":\"14y 3m\",\"unit_council\":true,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"31107ada-9841-3575-8429-8365235c0f42\",\"member_number\":\"1103159\",\"first_name\":\"Ethan\",\"last_name\":\"Lloyd\",\"status\":\"active\",\"age\":\"14y 9m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"member_number\":\"1106266\",\"first_name\":\"Hannah\",\"last_name\":\"Chim\",\"status\":\"active\",\"age\":\"48y 3m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"member_number\":\"1157492\",\"first_name\":\"James\",\"last_name\":\"Alchin\",\"status\":\"active\",\"age\":\"13y 1m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"member_number\":\"1044135\",\"first_name\":\"James\",\"last_name\":\"Li\",\"status\":\"active\",\"age\":\"13y 1m\",\"unit_council\":true,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"member_number\":\"1105152\",\"first_name\":\"Jeremy\",\"last_name\":\"Chim\",\"status\":\"active\",\"age\":\"11y 6m\",\"unit_council\":false,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"member_number\":\"1104233\",\"first_name\":\"Johnny\",\"last_name\":\"Li\",\"status\":\"active\",\"age\":\"12y 11m\",\"unit_council\":false,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"member_number\":\"1102300\",\"first_name\":\"Jonathan\",\"last_name\":\"Li\",\"status\":\"active\",\"age\":\"12y 10m\",\"unit_council\":false,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"member_number\":\"1125788\",\"first_name\":\"Joshua\",\"last_name\":\"Jones\",\"status\":\"active\",\"age\":\"11y 11m\",\"unit_council\":false,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"member_number\":\"1113946\",\"first_name\":\"Katrina\",\"last_name\":\"Koop\",\"status\":\"active\",\"age\":\"14y 1m\",\"unit_council\":true,\"patrol_name\":\"Scout Unit Council\",\"patrol_duty\":\"UL\",\"patrol_order\":0,\"isAdultLeader\":0},{\"id\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"member_number\":\"1116815\",\"first_name\":\"Kin Chi\",\"last_name\":\"Ling\",\"status\":\"active\",\"age\":\"55y 3m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"member_number\":\"1071573\",\"first_name\":\"Lukas\",\"last_name\":\"Dunn\",\"status\":\"active\",\"age\":\"12y 0m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"member_number\":\"214114\",\"first_name\":\"Mathew\",\"last_name\":\"Lim\",\"status\":\"active\",\"age\":\"59y 5m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"member_number\":\"1154517\",\"first_name\":\"Matthew\",\"last_name\":\"Last\",\"status\":\"active\",\"age\":\"11y 5m\",\"unit_council\":false,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"member_number\":\"190932\",\"first_name\":\"Noriko\",\"last_name\":\"Burrows\",\"status\":\"active\",\"age\":\"57y 9m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"member_number\":\"550895\",\"first_name\":\"Peter\",\"last_name\":\"Buckley\",\"status\":\"active\",\"age\":\"66y 11m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"member_number\":\"1159648\",\"first_name\":\"Peter\",\"last_name\":\"Xia\",\"status\":\"active\",\"age\":\"12y 4m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"member_number\":\"1071576\",\"first_name\":\"Phoenix\",\"last_name\":\"Cao\",\"status\":\"active\",\"age\":\"12y 5m\",\"unit_council\":false,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"member_number\":\"1154716\",\"first_name\":\"Ronit\",\"last_name\":\"Natarajan\",\"status\":\"active\",\"age\":\"11y 4m\",\"unit_council\":false,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"member_number\":\"1038582\",\"first_name\":\"Sebastien\",\"last_name\":\"Wookey\",\"status\":\"active\",\"age\":\"13y 5m\",\"unit_council\":true,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"member_number\":\"223378\",\"first_name\":\"Simon\",\"last_name\":\"Batson\",\"status\":\"active\",\"age\":\"60y 9m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"member_number\":\"169651\",\"first_name\":\"Tymon\",\"last_name\":\"Domanko\",\"status\":\"active\",\"age\":\"25y 10m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"member_number\":\"1059661\",\"first_name\":\"Tynn\",\"last_name\":\"Yam\",\"status\":\"active\",\"age\":\"12y 9m\",\"unit_council\":true,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"member_number\":\"1143210\",\"first_name\":\"Yang\",\"last_name\":\"Pan\",\"status\":\"active\",\"age\":\"14y 3m\",\"unit_council\":false,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"member_number\":\"1102291\",\"first_name\":\"Zara\",\"last_name\":\"Williams\",\"status\":\"active\",\"age\":\"12y 2m\",\"unit_council\":true,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"member_number\":\"1102294\",\"first_name\":\"Zoe\",\"last_name\":\"Williams\",\"status\":\"active\",\"age\":\"12y 2m\",\"unit_council\":true,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"member_number\":\"1100542\",\"first_name\":\"Zoe\",\"last_name\":\"Lloyd\",\"status\":\"active\",\"age\":\"12y 1m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0}]" + }; + _attendanceListReportData = "{\"attendees\":[{\"id\":null,\"first_name\":\"Alexander\",\"last_name\":\"Holowinski\",\"member_number\":\"1107288\",\"patrol_name\":\"Tassie Tigers\",\"isAdultMember\":false,\"attended\":true},{\"id\":null,\"first_name\":\"Alice\",\"last_name\":\"Chaffey\",\"member_number\":\"1030990\",\"patrol_name\":\"Adult Leaders - Scouts\",\"isAdultMember\":true,\"attended\":true},{\"id\":null,\"first_name\":\"Amelia\",\"last_name\":\"Chung\",\"member_number\":\"1159894\",\"patrol_name\":\"Drop Bear\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Annabella\",\"last_name\":\"Ronfeldt\",\"member_number\":\"1131282\",\"patrol_name\":\"Drop Bear\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Bethany\",\"last_name\":\"Wong\",\"member_number\":\"1105699\",\"patrol_name\":\"Lyrebird\",\"isAdultMember\":false,\"attended\":true},{\"id\":null,\"first_name\":\"Cathy\",\"last_name\":\"Graham\",\"member_number\":\"1126207\",\"patrol_name\":\"Tassie Tigers\",\"isAdultMember\":false,\"attended\":true},{\"id\":null,\"first_name\":\"Chloe\",\"last_name\":\"Small\",\"member_number\":\"1125790\",\"patrol_name\":\"Drop Bear\",\"isAdultMember\":false,\"attended\":true},{\"id\":null,\"first_name\":\"Daniel\",\"last_name\":\"Chung\",\"member_number\":\"1159891\",\"patrol_name\":\"Magpie\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Eric\",\"last_name\":\"Liu\",\"member_number\":\"1059670\",\"patrol_name\":\"Lyrebird\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Ethan\",\"last_name\":\"Lloyd\",\"member_number\":\"1103159\",\"patrol_name\":\"Drop Bear\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Hannah\",\"last_name\":\"Chim\",\"member_number\":\"1106266\",\"patrol_name\":\"Adult Leaders - Scouts\",\"isAdultMember\":true,\"attended\":false},{\"id\":null,\"first_name\":\"James\",\"last_name\":\"Alchin\",\"member_number\":\"1157492\",\"patrol_name\":\"Drop Bear\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"James\",\"last_name\":\"Li\",\"member_number\":\"1044135\",\"patrol_name\":\"Platypus\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Jeremy\",\"last_name\":\"Chim\",\"member_number\":\"1105152\",\"patrol_name\":\"Magpie\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Johnny\",\"last_name\":\"Li\",\"member_number\":\"1104233\",\"patrol_name\":\"Tassie Tigers\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Jonathan\",\"last_name\":\"Li\",\"member_number\":\"1102300\",\"patrol_name\":\"Platypus\",\"isAdultMember\":false,\"attended\":true},{\"id\":null,\"first_name\":\"Joshua\",\"last_name\":\"Jones\",\"member_number\":\"1125788\",\"patrol_name\":\"Platypus\",\"isAdultMember\":false,\"attended\":true},{\"id\":null,\"first_name\":\"Katrina\",\"last_name\":\"Koop\",\"member_number\":\"1113946\",\"patrol_name\":\"Scout Unit Council\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Kin Chi\",\"last_name\":\"Ling\",\"member_number\":\"1116815\",\"patrol_name\":\"Adult Leaders - Scouts\",\"isAdultMember\":true,\"attended\":false},{\"id\":null,\"first_name\":\"Lukas\",\"last_name\":\"Dunn\",\"member_number\":\"1071573\",\"patrol_name\":\"Lyrebird\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Mathew\",\"last_name\":\"Lim\",\"member_number\":\"214114\",\"patrol_name\":\"Adult Leaders - Scouts\",\"isAdultMember\":true,\"attended\":true},{\"id\":null,\"first_name\":\"Matthew\",\"last_name\":\"Last\",\"member_number\":\"1154517\",\"patrol_name\":\"Tassie Tigers\",\"isAdultMember\":false,\"attended\":true},{\"id\":null,\"first_name\":\"Noriko\",\"last_name\":\"Burrows\",\"member_number\":\"190932\",\"patrol_name\":\"Adult Leaders - Scouts\",\"isAdultMember\":true,\"attended\":false},{\"id\":null,\"first_name\":\"Peter\",\"last_name\":\"Buckley\",\"member_number\":\"550895\",\"patrol_name\":\"Adult Leaders - Scouts\",\"isAdultMember\":true,\"attended\":false},{\"id\":null,\"first_name\":\"Peter\",\"last_name\":\"Xia\",\"member_number\":\"1159648\",\"patrol_name\":\"Lyrebird\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Phoenix\",\"last_name\":\"Cao\",\"member_number\":\"1071576\",\"patrol_name\":\"Platypus\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Ronit\",\"last_name\":\"Natarajan\",\"member_number\":\"1154716\",\"patrol_name\":\"Magpie\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Sebastien\",\"last_name\":\"Wookey\",\"member_number\":\"1038582\",\"patrol_name\":\"Lyrebird\",\"isAdultMember\":false,\"attended\":true},{\"id\":null,\"first_name\":\"Simon\",\"last_name\":\"Batson\",\"member_number\":\"223378\",\"patrol_name\":\"Adult Leaders - Scouts\",\"isAdultMember\":true,\"attended\":true},{\"id\":null,\"first_name\":\"Tymon\",\"last_name\":\"Domanko\",\"member_number\":\"169651\",\"patrol_name\":\"Adult Leaders - Scouts\",\"isAdultMember\":true,\"attended\":false},{\"id\":null,\"first_name\":\"Tynn\",\"last_name\":\"Yam\",\"member_number\":\"1059661\",\"patrol_name\":\"Magpie\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Yang\",\"last_name\":\"Pan\",\"member_number\":\"1143210\",\"patrol_name\":\"Tassie Tigers\",\"isAdultMember\":false,\"attended\":false},{\"id\":null,\"first_name\":\"Zara\",\"last_name\":\"Williams\",\"member_number\":\"1102291\",\"patrol_name\":\"Drop Bear\",\"isAdultMember\":false,\"attended\":true},{\"id\":null,\"first_name\":\"Zoe\",\"last_name\":\"Williams\",\"member_number\":\"1102294\",\"patrol_name\":\"Platypus\",\"isAdultMember\":false,\"attended\":true},{\"id\":null,\"first_name\":\"Zoe\",\"last_name\":\"Lloyd\",\"member_number\":\"1100542\",\"patrol_name\":\"Lyrebird\",\"isAdultMember\":false,\"attended\":false}],\"Id\":\"747883f4-6ca3-4efb-90b2-d3ff3e50479c\",\"EventName\":\"Water Safety Night\",\"StartDateTime\":\"2022-10-19T19:00:00+11:00\",\"EndDateTime\":\"0001-01-01T00:00:00\",\"ChallengeArea\":\"\",\"EventDisplay\":\"Water Safety Night 19/10/2022\",\"EventDate\":\"19/10/2022\",\"EventStatus\":\"\"}"; + _attendanceReportData = "{\"attendanceReportItems\":[{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"A\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"L\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Abseil Theory Night\",\"EventNameDisplay\":\"Abseil Theory Night 12/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-12T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"L\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Abseil Day\",\"EventNameDisplay\":\"Abseil Day 16/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-16T09:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"A\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"L\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 18/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-18T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"L\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"A\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"A\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"A\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Water Safety Night\",\"EventNameDisplay\":\"Water Safety Night 19/10/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-10-19T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 26/10/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-10-26T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Bush Games\",\"EventNameDisplay\":\"Bush Games 02/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-02T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"District Wide Game\",\"EventNameDisplay\":\"District Wide Game 04/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-04T19:00:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"A\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"L\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":1,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"P\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Davidson RFS Visit\",\"EventNameDisplay\":\"Davidson RFS Visit 09/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-09T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Concluded\",\"Pal\":\"\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Bouldering\",\"EventNameDisplay\":\"Bouldering 15/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-15T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Unit Council\",\"EventNameDisplay\":\"Unit Council 22/11/2022\",\"EventChallengeArea\":\"Personal Growth\",\"EventStartDate\":\"2022-11-22T19:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Group Camp Prep\",\"EventNameDisplay\":\"Group Camp Prep 23/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-23T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Group Camp\",\"EventNameDisplay\":\"Group Camp 25/11/2022\",\"EventChallengeArea\":\"Community\",\"EventStartDate\":\"2022-11-25T18:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Canoe Night\",\"EventNameDisplay\":\"Canoe Night 30/11/2022\",\"EventChallengeArea\":\"Outdoors\",\"EventStartDate\":\"2022-11-30T18:30:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberNameAndRate\":\"Alexander Holowinski (56%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"MemberName\":\"Alice Chaffey\",\"MemberNameAndRate\":\"Alice Chaffey (56%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"MemberName\":\"Amelia Chung\",\"MemberNameAndRate\":\"Amelia Chung (22%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberNameAndRate\":\"Annabella Ronfeldt (44%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberNameAndRate\":\"Bethany Wong (33%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberNameAndRate\":\"Cathy Graham (67%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberNameAndRate\":\"Chloe Small (67%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"MemberName\":\"Daniel Chung\",\"MemberNameAndRate\":\"Daniel Chung (22%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberNameAndRate\":\"Eric Liu (11%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberNameAndRate\":\"Ethan Lloyd (44%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"MemberName\":\"Hannah Chim\",\"MemberNameAndRate\":\"Hannah Chim (0%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberNameAndRate\":\"James Alchin (22%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberNameAndRate\":\"James Li (11%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberNameAndRate\":\"Jeremy Chim (44%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberNameAndRate\":\"Johnny Li (11%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberNameAndRate\":\"Jonathan Li (22%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberNameAndRate\":\"Joshua Jones (56%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberNameAndRate\":\"Katrina Koop (11%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"MemberName\":\"Kin Chi Ling\",\"MemberNameAndRate\":\"Kin Chi Ling (33%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberNameAndRate\":\"Lukas Dunn (22%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"MemberName\":\"Mathew Lim\",\"MemberNameAndRate\":\"Mathew Lim (33%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberNameAndRate\":\"Matthew Last (56%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"MemberName\":\"Noriko Burrows\",\"MemberNameAndRate\":\"Noriko Burrows (22%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"MemberName\":\"Peter Buckley\",\"MemberNameAndRate\":\"Peter Buckley (22%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberNameAndRate\":\"Peter Xia (11%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberNameAndRate\":\"Phoenix Cao (11%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberNameAndRate\":\"Ronit Natarajan (22%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberNameAndRate\":\"Sebastien Wookey (56%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"MemberName\":\"Simon Batson\",\"MemberNameAndRate\":\"Simon Batson (56%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"MemberName\":\"Tymon Domanko\",\"MemberNameAndRate\":\"Tymon Domanko (0%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":1,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberNameAndRate\":\"Tynn Yam (22%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberNameAndRate\":\"Yang Pan (0%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberNameAndRate\":\"Zara Williams (67%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberNameAndRate\":\"Zoe Williams (67%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"},{\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberNameAndRate\":\"Zoe Lloyd (44%)\",\"EventName\":\"Cypher Night\",\"EventNameDisplay\":\"Cypher Night 07/12/2022\",\"EventChallengeArea\":\"Creative\",\"EventStartDate\":\"2022-12-07T19:00:00+11:00\",\"Attended\":0,\"IsAdultMember\":0,\"EventStatus\":\"Planned\",\"Pal\":\"\"}],\"attendanceReportMemberSummaries\":[],\"attendanceReportChallengeAreaSummaries\":[{\"ChallengeArea\":\"Outdoors\",\"EventCount\":6,\"TotalEvents\":14},{\"ChallengeArea\":\"Personal Growth\",\"EventCount\":4,\"TotalEvents\":14},{\"ChallengeArea\":\"Community\",\"EventCount\":3,\"TotalEvents\":14},{\"ChallengeArea\":\"Creative\",\"EventCount\":1,\"TotalEvents\":14}]}"; + if (!Directory.Exists("TestResults")) + Directory.CreateDirectory("TestResults"); + } + + [TestMethod] + public void SignInSheet_ToPDF() + { + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\SignInSheet_ToPDF.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void AttendanceList_ToExcel() + { + _reportGenerationRequest.ReportType = ReportType.EventAttendance; + _reportGenerationRequest.ReportData = _attendanceListReportData; + _reportGenerationRequest.OutputType = OutputType.Excel; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\AttendanceList_ToExcel.xlsx", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void Attendance_ToPDF() + { + _reportGenerationRequest.ReportType = ReportType.Attendance; + _reportGenerationRequest.ReportData = _attendanceReportData; + _reportGenerationRequest.FromDate = new DateTime(2022, 10, 1); + _reportGenerationRequest.ToDate = new DateTime(2022, 12, 2); + _reportGenerationRequest.OutputType = OutputType.PDF; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\Attendance_ToPDF.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void Attendance_ToExcel() + { + _reportGenerationRequest.ReportType = ReportType.Attendance; + _reportGenerationRequest.ReportData = _attendanceReportData; + _reportGenerationRequest.FromDate = new DateTime(2022, 10, 1); + _reportGenerationRequest.ToDate = new DateTime(2022, 12, 2); + _reportGenerationRequest.OutputType = OutputType.Excel; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\Attendance_ToExcel.xlsx", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + } +} diff --git a/TopoReportFunctionTest/MemberList.cs b/TopoReportFunctionTest/MemberList.cs new file mode 100644 index 0000000..895a78d --- /dev/null +++ b/TopoReportFunctionTest/MemberList.cs @@ -0,0 +1,160 @@ +using Newtonsoft.Json; +using Topo.Model.ReportGeneration; +using TopoReportFunction; + +namespace TopoReportFunctionTest +{ + [TestClass] + public class MemberList + { + private ReportGenerationRequest _reportGenerationRequest; + private Function _function; + private string _reportDataWithLeaders = ""; + + [TestInitialize] + public void SetUp() + { + _function = new Function(); + _reportGenerationRequest = new ReportGenerationRequest() + { + ReportType = ReportType.MemberList, + GroupName = "Epping Scout Group", + Section = "scout", + UnitName = "Scout Unit", + OutputType = OutputType.PDF, + ReportData = "[{\"id\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"member_number\":\"1159894\",\"first_name\":\"Amelia\",\"last_name\":\"Chung\",\"status\":\"active\",\"age\":\"12y 7m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"member_number\":\"1131282\",\"first_name\":\"Annabella\",\"last_name\":\"Ronfeldt\",\"status\":\"active\",\"age\":\"13y 4m\",\"unit_council\":true,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"member_number\":\"1125790\",\"first_name\":\"Chloe\",\"last_name\":\"Small\",\"status\":\"active\",\"age\":\"11y 6m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"31107ada-9841-3575-8429-8365235c0f42\",\"member_number\":\"1103159\",\"first_name\":\"Ethan\",\"last_name\":\"Lloyd\",\"status\":\"active\",\"age\":\"14y 9m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"member_number\":\"1157492\",\"first_name\":\"James\",\"last_name\":\"Alchin\",\"status\":\"active\",\"age\":\"13y 1m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"member_number\":\"1102291\",\"first_name\":\"Zara\",\"last_name\":\"Williams\",\"status\":\"active\",\"age\":\"12y 2m\",\"unit_council\":true,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"member_number\":\"1105699\",\"first_name\":\"Bethany\",\"last_name\":\"Wong\",\"status\":\"active\",\"age\":\"13y 9m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"member_number\":\"1059670\",\"first_name\":\"Eric\",\"last_name\":\"Liu\",\"status\":\"active\",\"age\":\"14y 3m\",\"unit_council\":true,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"member_number\":\"1071573\",\"first_name\":\"Lukas\",\"last_name\":\"Dunn\",\"status\":\"active\",\"age\":\"12y 0m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"member_number\":\"1159648\",\"first_name\":\"Peter\",\"last_name\":\"Xia\",\"status\":\"active\",\"age\":\"12y 4m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"member_number\":\"1038582\",\"first_name\":\"Sebastien\",\"last_name\":\"Wookey\",\"status\":\"active\",\"age\":\"13y 5m\",\"unit_council\":true,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"member_number\":\"1100542\",\"first_name\":\"Zoe\",\"last_name\":\"Lloyd\",\"status\":\"active\",\"age\":\"12y 1m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"member_number\":\"1159891\",\"first_name\":\"Daniel\",\"last_name\":\"Chung\",\"status\":\"active\",\"age\":\"14y 1m\",\"unit_council\":false,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"member_number\":\"1105152\",\"first_name\":\"Jeremy\",\"last_name\":\"Chim\",\"status\":\"active\",\"age\":\"11y 6m\",\"unit_council\":false,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"member_number\":\"1154716\",\"first_name\":\"Ronit\",\"last_name\":\"Natarajan\",\"status\":\"active\",\"age\":\"11y 4m\",\"unit_council\":false,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"member_number\":\"1059661\",\"first_name\":\"Tynn\",\"last_name\":\"Yam\",\"status\":\"active\",\"age\":\"12y 9m\",\"unit_council\":true,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"member_number\":\"1044135\",\"first_name\":\"James\",\"last_name\":\"Li\",\"status\":\"active\",\"age\":\"13y 1m\",\"unit_council\":true,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"member_number\":\"1102300\",\"first_name\":\"Jonathan\",\"last_name\":\"Li\",\"status\":\"active\",\"age\":\"12y 10m\",\"unit_council\":false,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"member_number\":\"1125788\",\"first_name\":\"Joshua\",\"last_name\":\"Jones\",\"status\":\"active\",\"age\":\"11y 11m\",\"unit_council\":false,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"member_number\":\"1071576\",\"first_name\":\"Phoenix\",\"last_name\":\"Cao\",\"status\":\"active\",\"age\":\"12y 5m\",\"unit_council\":false,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"member_number\":\"1102294\",\"first_name\":\"Zoe\",\"last_name\":\"Williams\",\"status\":\"active\",\"age\":\"12y 2m\",\"unit_council\":true,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"member_number\":\"1113946\",\"first_name\":\"Katrina\",\"last_name\":\"Koop\",\"status\":\"active\",\"age\":\"14y 1m\",\"unit_council\":true,\"patrol_name\":\"Scout Unit Council\",\"patrol_duty\":\"UL\",\"patrol_order\":0,\"isAdultLeader\":0},{\"id\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"member_number\":\"1107288\",\"first_name\":\"Alexander\",\"last_name\":\"Holowinski\",\"status\":\"active\",\"age\":\"14y 2m\",\"unit_council\":true,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"member_number\":\"1126207\",\"first_name\":\"Cathy\",\"last_name\":\"Graham\",\"status\":\"active\",\"age\":\"13y 11m\",\"unit_council\":true,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"member_number\":\"1104233\",\"first_name\":\"Johnny\",\"last_name\":\"Li\",\"status\":\"active\",\"age\":\"12y 11m\",\"unit_council\":false,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"member_number\":\"1154517\",\"first_name\":\"Matthew\",\"last_name\":\"Last\",\"status\":\"active\",\"age\":\"11y 5m\",\"unit_council\":false,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"member_number\":\"1143210\",\"first_name\":\"Yang\",\"last_name\":\"Pan\",\"status\":\"active\",\"age\":\"14y 3m\",\"unit_council\":false,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0}]" + }; + _reportDataWithLeaders = "[{\"id\":\"2feeb3c1-bfd6-3924-9986-6859357e779e\",\"member_number\":\"1030990\",\"first_name\":\"Alice\",\"last_name\":\"Chaffey\",\"status\":\"active\",\"age\":\"48y 0m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"f94b8017-e1d3-3b91-90e5-66d6f8783c97\",\"member_number\":\"1106266\",\"first_name\":\"Hannah\",\"last_name\":\"Chim\",\"status\":\"active\",\"age\":\"48y 3m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"2a9c3839-ec8b-3b75-ba9d-1679735b5e56\",\"member_number\":\"1116815\",\"first_name\":\"Kin Chi\",\"last_name\":\"Ling\",\"status\":\"active\",\"age\":\"55y 3m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"0ad3922d-853c-3d19-b2c6-62649e82cd7c\",\"member_number\":\"214114\",\"first_name\":\"Mathew\",\"last_name\":\"Lim\",\"status\":\"active\",\"age\":\"59y 5m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"fb1e136b-75fc-3d4a-8330-090405e402f0\",\"member_number\":\"190932\",\"first_name\":\"Noriko\",\"last_name\":\"Burrows\",\"status\":\"active\",\"age\":\"57y 9m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"e2abe8e1-7c89-3281-862d-baf064f33d3c\",\"member_number\":\"550895\",\"first_name\":\"Peter\",\"last_name\":\"Buckley\",\"status\":\"active\",\"age\":\"66y 11m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"f45c571c-2dca-3538-8c13-5783f83643cf\",\"member_number\":\"223378\",\"first_name\":\"Simon\",\"last_name\":\"Batson\",\"status\":\"active\",\"age\":\"60y 9m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"4ce3a7c4-b98f-3062-8779-6ebd619ec4e3\",\"member_number\":\"169651\",\"first_name\":\"Tymon\",\"last_name\":\"Domanko\",\"status\":\"active\",\"age\":\"25y 10m\",\"unit_council\":true,\"patrol_name\":\"Adult Leaders - Scouts\",\"patrol_duty\":\"SL\",\"patrol_order\":3,\"isAdultLeader\":1},{\"id\":\"d4bf9481-ee31-3a51-8c5c-ffa8018b7682\",\"member_number\":\"1159894\",\"first_name\":\"Amelia\",\"last_name\":\"Chung\",\"status\":\"active\",\"age\":\"12y 7m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"member_number\":\"1131282\",\"first_name\":\"Annabella\",\"last_name\":\"Ronfeldt\",\"status\":\"active\",\"age\":\"13y 4m\",\"unit_council\":true,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"member_number\":\"1125790\",\"first_name\":\"Chloe\",\"last_name\":\"Small\",\"status\":\"active\",\"age\":\"11y 6m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"31107ada-9841-3575-8429-8365235c0f42\",\"member_number\":\"1103159\",\"first_name\":\"Ethan\",\"last_name\":\"Lloyd\",\"status\":\"active\",\"age\":\"14y 9m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"member_number\":\"1157492\",\"first_name\":\"James\",\"last_name\":\"Alchin\",\"status\":\"active\",\"age\":\"13y 1m\",\"unit_council\":false,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"member_number\":\"1102291\",\"first_name\":\"Zara\",\"last_name\":\"Williams\",\"status\":\"active\",\"age\":\"12y 2m\",\"unit_council\":true,\"patrol_name\":\"Drop Bear\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"member_number\":\"1105699\",\"first_name\":\"Bethany\",\"last_name\":\"Wong\",\"status\":\"active\",\"age\":\"13y 9m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"member_number\":\"1059670\",\"first_name\":\"Eric\",\"last_name\":\"Liu\",\"status\":\"active\",\"age\":\"14y 3m\",\"unit_council\":true,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"member_number\":\"1071573\",\"first_name\":\"Lukas\",\"last_name\":\"Dunn\",\"status\":\"active\",\"age\":\"12y 0m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"member_number\":\"1159648\",\"first_name\":\"Peter\",\"last_name\":\"Xia\",\"status\":\"active\",\"age\":\"12y 4m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"member_number\":\"1038582\",\"first_name\":\"Sebastien\",\"last_name\":\"Wookey\",\"status\":\"active\",\"age\":\"13y 5m\",\"unit_council\":true,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"member_number\":\"1100542\",\"first_name\":\"Zoe\",\"last_name\":\"Lloyd\",\"status\":\"active\",\"age\":\"12y 1m\",\"unit_council\":false,\"patrol_name\":\"Lyrebird\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"876ed453-8e89-3e1c-a689-59aed29d6a7c\",\"member_number\":\"1159891\",\"first_name\":\"Daniel\",\"last_name\":\"Chung\",\"status\":\"active\",\"age\":\"14y 1m\",\"unit_council\":false,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"member_number\":\"1105152\",\"first_name\":\"Jeremy\",\"last_name\":\"Chim\",\"status\":\"active\",\"age\":\"11y 6m\",\"unit_council\":false,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"member_number\":\"1154716\",\"first_name\":\"Ronit\",\"last_name\":\"Natarajan\",\"status\":\"active\",\"age\":\"11y 4m\",\"unit_council\":false,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"member_number\":\"1059661\",\"first_name\":\"Tynn\",\"last_name\":\"Yam\",\"status\":\"active\",\"age\":\"12y 9m\",\"unit_council\":true,\"patrol_name\":\"Magpie\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"member_number\":\"1044135\",\"first_name\":\"James\",\"last_name\":\"Li\",\"status\":\"active\",\"age\":\"13y 1m\",\"unit_council\":true,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"member_number\":\"1102300\",\"first_name\":\"Jonathan\",\"last_name\":\"Li\",\"status\":\"active\",\"age\":\"12y 10m\",\"unit_council\":false,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"member_number\":\"1125788\",\"first_name\":\"Joshua\",\"last_name\":\"Jones\",\"status\":\"active\",\"age\":\"11y 11m\",\"unit_council\":false,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"member_number\":\"1071576\",\"first_name\":\"Phoenix\",\"last_name\":\"Cao\",\"status\":\"active\",\"age\":\"12y 5m\",\"unit_council\":false,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"member_number\":\"1102294\",\"first_name\":\"Zoe\",\"last_name\":\"Williams\",\"status\":\"active\",\"age\":\"12y 2m\",\"unit_council\":true,\"patrol_name\":\"Platypus\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"member_number\":\"1113946\",\"first_name\":\"Katrina\",\"last_name\":\"Koop\",\"status\":\"active\",\"age\":\"14y 1m\",\"unit_council\":true,\"patrol_name\":\"Scout Unit Council\",\"patrol_duty\":\"UL\",\"patrol_order\":0,\"isAdultLeader\":0},{\"id\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"member_number\":\"1107288\",\"first_name\":\"Alexander\",\"last_name\":\"Holowinski\",\"status\":\"active\",\"age\":\"14y 2m\",\"unit_council\":true,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"PL\",\"patrol_order\":1,\"isAdultLeader\":0},{\"id\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"member_number\":\"1126207\",\"first_name\":\"Cathy\",\"last_name\":\"Graham\",\"status\":\"active\",\"age\":\"13y 11m\",\"unit_council\":true,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"APL\",\"patrol_order\":2,\"isAdultLeader\":0},{\"id\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"member_number\":\"1104233\",\"first_name\":\"Johnny\",\"last_name\":\"Li\",\"status\":\"active\",\"age\":\"12y 11m\",\"unit_council\":false,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"member_number\":\"1154517\",\"first_name\":\"Matthew\",\"last_name\":\"Last\",\"status\":\"active\",\"age\":\"11y 5m\",\"unit_council\":false,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0},{\"id\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"member_number\":\"1143210\",\"first_name\":\"Yang\",\"last_name\":\"Pan\",\"status\":\"active\",\"age\":\"14y 3m\",\"unit_council\":false,\"patrol_name\":\"Tassie Tigers\",\"patrol_duty\":\"\",\"patrol_order\":3,\"isAdultLeader\":0}]"; + if (!Directory.Exists("TestResults")) + Directory.CreateDirectory("TestResults"); + } + + [TestMethod] + public void MemberList_ToPDF() + { + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\MemberList_ToPDF.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void MemberList_ToExcel() + { + _reportGenerationRequest.OutputType = OutputType.Excel; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\MemberList_ToExcel.xlsx", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void PatrolList_ToPDF_IncludeLeaders_False() + { + _reportGenerationRequest.ReportType = ReportType.PatrolList; + _reportGenerationRequest.IncludeLeaders = false; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\PatrolList_ToPDF_IncludeLeaders_False.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void PatrolList_ToExcel_IncludeLeaders_False() + { + _reportGenerationRequest.ReportType = ReportType.PatrolList; + _reportGenerationRequest.IncludeLeaders = false; + _reportGenerationRequest.OutputType = OutputType.Excel; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\PatrolList_ToExcel_IncludeLeaders_False.xlsx", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void PatrolList_ToPDF_IncludeLeaders_True() + { + _reportGenerationRequest.ReportType = ReportType.PatrolList; + _reportGenerationRequest.IncludeLeaders = true; + _reportGenerationRequest.ReportData = _reportDataWithLeaders; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\PatrolList_ToPDF_IncludeLeaders_True.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void PatrolList_ToExcel_IncludeLeaders_True() + { + _reportGenerationRequest.ReportType = ReportType.PatrolList; + _reportGenerationRequest.IncludeLeaders = true; + _reportGenerationRequest.ReportData = _reportDataWithLeaders; + _reportGenerationRequest.OutputType = OutputType.Excel; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\PatrolList_ToExcel_IncludeLeaders_True.xlsx", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void PatrolSheets_ToPDF() + { + _reportGenerationRequest.ReportType = ReportType.PatrolSheets; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\PatrolSheets_ToPDF.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void PatrolSheets_ToExcel() + { + _reportGenerationRequest.ReportType = ReportType.PatrolSheets; + _reportGenerationRequest.OutputType = OutputType.Excel; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\PatrolSheets_ToPDF.xlsx", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + } +} diff --git a/TopoReportFunctionTest/OASWorksheet.cs b/TopoReportFunctionTest/OASWorksheet.cs new file mode 100644 index 0000000..ba22b4d --- /dev/null +++ b/TopoReportFunctionTest/OASWorksheet.cs @@ -0,0 +1,156 @@ +using Newtonsoft.Json; +using Topo.Model.ReportGeneration; +using TopoReportFunction; + +namespace TopoReportFunctionTest +{ + [TestClass] + public class OASWorksheet + { + private ReportGenerationRequest _reportGenerationRequest; + private Function _function; + + [TestInitialize] + public void SetUp() + { + _function = new Function(); + _reportGenerationRequest = new ReportGenerationRequest() + { + ReportType = ReportType.OASWorksheet, + GroupName = "Epping Scout Group", + Section = "scout", + UnitName = "Scout Unit", + OutputType = OutputType.PDF, + ReportData = "[{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2022-03-25T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"important_outdoors_trails_stick_a353dc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know why it is important to stick to trails when outdoors.\",\"InputSortIndex\":0,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2022-03-01T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":\"2020-11-22T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"buddy_system_460b19\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know about the “Buddy” system.\",\"InputSortIndex\":1,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2022-03-25T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"stop_activities_lost_1b8fcc\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know to stop when I get lost on activities.\",\"InputSortIndex\":2,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2022-03-25T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":\"2020-11-22T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"address_location_emergency_09f4cb\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know my address and location in an emergency.\",\"InputSortIndex\":3,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2022-03-25T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":\"2020-11-22T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"reasons_outdoors_sleeping_shelter_e3ece5\",\"InputTitle\":\"Plan\",\"InputTitleSortIndex\":1,\"InputLabel\":\"I know three reasons for having a shelter when sleeping outdoors.\",\"InputSortIndex\":4,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":\"2020-11-22T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"match_strike_fdc180\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can strike a match.\",\"InputSortIndex\":5,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":\"2020-11-22T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"preparing_collect_sticks_campfire_e3971c\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can collect sticks for preparing a campfire.\",\"InputSortIndex\":6,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":\"2020-11-22T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-02T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"around_safe_campfire_eee54a\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can be safe around a campfire.\",\"InputSortIndex\":7,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2022-03-01T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":\"2020-11-22T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"navigational_skills_game_participated_basic_b35ab9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I have participated in a game that required basic navigational skills.\",\"InputSortIndex\":8,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":\"2022-06-01T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2022-06-01T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":\"2020-11-22T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":\"2022-06-01T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"hang_clove_hitch_camp_knot_clothesline_e752d8\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I can hang a clothesline at camp with a clove hitch or other knot.\",\"InputSortIndex\":9,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":\"2020-11-22T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"ropes_correctly_pack_away_f124e4\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know how to correctly pack ropes away.\",\"InputSortIndex\":10,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"bagmess_keep_clean_camp_dilly_kit_a2f2d9\",\"InputTitle\":\"Do\",\"InputTitleSortIndex\":2,\"InputLabel\":\"I know what is in a dilly bag/mess kit and can keep it clean at camp.\",\"InputSortIndex\":11,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":\"2022-03-25T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":\"2020-11-22T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":\"2022-06-14T00:00:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-18T00:00:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2021-11-22T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"talk_improved_enjoyed_learnt_navigational_game_playing_78f28e\",\"InputTitle\":\"Review\",\"InputTitleSortIndex\":3,\"InputLabel\":\"I can talk about what I enjoyed, learnt, or improved upon, by playing a navigational game.\",\"InputSortIndex\":12,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"f96da6cf-0a66-303d-94bb-66366dc0ca4a\",\"MemberName\":\"Alexander Holowinski\",\"MemberAnswer\":\"2020-11-10T09:33:45.722069+11:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"4ca98009-d4f0-3f04-a9ea-6907d17fe99f\",\"MemberName\":\"Annabella Ronfeldt\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"ba75e5a4-9e57-3cf5-ad40-2e927935622c\",\"MemberName\":\"Bethany Wong\",\"MemberAnswer\":\"2020-11-24T21:30:09.618147+11:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"97aaa9bb-2943-3e24-8067-8f1b14df48cd\",\"MemberName\":\"Cathy Graham\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"ee791361-6a3c-3db5-b7ff-1301283fa803\",\"MemberName\":\"Chloe Small\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"04260ce8-cde0-3dd1-b1e5-f05ca6142507\",\"MemberName\":\"Cooper Vaughan\",\"MemberAnswer\":\"2020-11-10T09:59:10.684346+11:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"8e9a6aba-f3e6-3ef2-beaf-5eed0688dd3b\",\"MemberName\":\"Eric Liu\",\"MemberAnswer\":\"2020-09-14T16:41:04.64959+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"31107ada-9841-3575-8429-8365235c0f42\",\"MemberName\":\"Ethan Lloyd\",\"MemberAnswer\":\"2020-11-24T21:30:03.196056+11:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"8d39e613-c1d4-3028-8302-5c32f0bc1e65\",\"MemberName\":\"James Alchin\",\"MemberAnswer\":null,\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"6e7c548c-0f67-3061-96e9-7d2844cd972c\",\"MemberName\":\"James Li\",\"MemberAnswer\":\"2020-09-11T13:52:51.126045+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"a6857915-5bd0-3d96-9016-05e7e435dfce\",\"MemberName\":\"Jeremy Chim\",\"MemberAnswer\":\"2020-08-19T00:00:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"5c1ad6a1-90db-346f-923f-964a02187b0a\",\"MemberName\":\"Johnny Li\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"5ad97f79-ff0a-3e2f-abe0-94d5e3515ac2\",\"MemberName\":\"Jonathan Li\",\"MemberAnswer\":\"2020-09-12T16:00:28.099775+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"cd1929ca-d2a7-3922-b643-2c7678527d77\",\"MemberName\":\"Joshua Jones\",\"MemberAnswer\":null,\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"bdffb81e-6980-300c-afa0-539fd43831bf\",\"MemberName\":\"Katrina Koop\",\"MemberAnswer\":\"2020-11-26T16:47:19.150623+11:00\",\"MemberPatrol\":\"Scout Unit Council\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"6a86b96e-bb16-3e9a-8c1d-f747552ce963\",\"MemberName\":\"Liam Vaughan\",\"MemberAnswer\":\"2020-11-26T16:46:40.283577+11:00\",\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"4fadd3a9-4c17-348a-87fd-9cfe93bbd898\",\"MemberName\":\"Lukas Dunn\",\"MemberAnswer\":\"2020-08-19T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"9ff9237a-bc06-3c72-904d-562d2d48ab6c\",\"MemberName\":\"Matthew Last\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"e228a1b5-084e-3156-9666-aabff9ed0808\",\"MemberName\":\"Peter Xia\",\"MemberAnswer\":null,\"MemberPatrol\":\"\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"66c977e8-bf59-31a1-91d9-69459a0d199c\",\"MemberName\":\"Phoenix Cao\",\"MemberAnswer\":\"2020-09-13T10:20:12.363864+10:00\",\"MemberPatrol\":\"Platypus\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"ede8d90f-2ec6-3a66-b2fa-794f8a6a318a\",\"MemberName\":\"Ronit Natarajan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"7e3aeaf6-2248-35e9-8fbe-e7239300e3d4\",\"MemberName\":\"Sebastien Wookey\",\"MemberAnswer\":\"2020-09-14T18:29:53.751566+10:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"aac9e4d8-b68f-312f-a0a8-8f0e6cfb0c54\",\"MemberName\":\"Tynn Yam\",\"MemberAnswer\":\"2020-09-13T11:36:15.293031+10:00\",\"MemberPatrol\":\"Magpie\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"5d122dd4-2b4a-36d3-b305-3a802c9cae99\",\"MemberName\":\"Yang Pan\",\"MemberAnswer\":null,\"MemberPatrol\":\"Tassie Tigers\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"90505b04-61f6-3892-81de-a76544a4e460\",\"MemberName\":\"Zara Williams\",\"MemberAnswer\":\"2020-09-13T10:40:20.283848+10:00\",\"MemberPatrol\":\"Drop Bear\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"1f6ade3b-4280-3d68-b3ac-3decdcc5073d\",\"MemberName\":\"Zoe Lloyd\",\"MemberAnswer\":\"2019-09-09T00:00:00\",\"MemberPatrol\":\"Lyrebird\"},{\"TemplateTitle\":\"Stage 1 - Bushcraft\",\"InputId\":\"logbook_up_to_date\",\"InputTitle\":\"Verify\",\"InputTitleSortIndex\":4,\"InputLabel\":\"My logbook is up to date at the end of this stage.\",\"InputSortIndex\":13,\"MemberId\":\"4d41f446-9963-3ffd-a677-1fd4eef84cb5\",\"MemberName\":\"Zoe Williams\",\"MemberAnswer\":\"2020-09-13T10:47:57.88082+10:00\",\"MemberPatrol\":\"Platypus\"}]", + BreakByPatrol = false + }; + if (!Directory.Exists("TestResults")) + Directory.CreateDirectory("TestResults"); + } + + [TestMethod] + public void OASWorksheet_ToPDF_BreakByPatrol_False_FormatLikeTerrain_False() + { + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\OASWorksheet_ToPDF_BreakByPatrol_False_FormatLikeTerrain_False.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void OASWorksheet_ToPDF_BreakByPatrol_True_FormatLikeTerrain_False() + { + _reportGenerationRequest.BreakByPatrol = true; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\OASWorksheet_ToPDF_BreakByPatrol_True_FormatLikeTerrain_False.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void OASWorksheet_ToPDF_BreakByPatrol_False_FormatLikeTerrain_True() + { + _reportGenerationRequest.FormatLikeTerrain = true; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\OASWorksheet_ToPDF_BreakByPatrol_False_FormatLikeTerrain_True.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void OASWorksheet_ToPDF_BreakByPatrol_True_FormatLikeTerrain_True() + { + _reportGenerationRequest.BreakByPatrol = true; + _reportGenerationRequest.FormatLikeTerrain = true; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\OASWorksheet_ToPDF_BreakByPatrol_True_FormatLikeTerrain_True.pdf", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void OASWorksheet_ToExcel_BreakByPatrol_False_FormatLikeTerrain_False() + { + _reportGenerationRequest.OutputType = OutputType.Excel; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\OASWorksheet_ToExcel_BreakByPatrol_False_FormatLikeTerrain_False.xlsx", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void OASWorksheet_ToExcel_BreakByPatrol_True_FormatLikeTerrain_False() + { + _reportGenerationRequest.OutputType = OutputType.Excel; + _reportGenerationRequest.BreakByPatrol = true; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\OASWorksheet_ToExcel_BreakByPatrol_True_FormatLikeTerrain_False.xlsx", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void OASWorksheet_ToExcel_BreakByPatrol_False_FormatLikeTerrain_True() + { + _reportGenerationRequest.OutputType = OutputType.Excel; + _reportGenerationRequest.FormatLikeTerrain = true; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\OASWorksheet_ToExcel_BreakByPatrol_False_FormatLikeTerrain_True.xlsx", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + [TestMethod] + public void OASWorksheet_ToExcel_BreakByPatrol_True_FormatLikeTerrain_True() + { + _reportGenerationRequest.OutputType = OutputType.Excel; + _reportGenerationRequest.BreakByPatrol = true; + _reportGenerationRequest.FormatLikeTerrain = true; + var proxyRequest = new Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest(); + proxyRequest.Body = JsonConvert.SerializeObject(_reportGenerationRequest); + var functionResult = _function.FunctionHandler(proxyRequest, null); + //Convert Base64String into PDF document + byte[] bytes = Convert.FromBase64String(functionResult); + FileStream fileStream = new FileStream(@"TestResults\OASWorksheet_ToExcel_BreakByPatrol_True_FormatLikeTerrain_True.xlsx", FileMode.Create); + BinaryWriter writer = new BinaryWriter(fileStream); + writer.Write(bytes, 0, bytes.Length); + writer.Close(); + } + + } +} \ No newline at end of file diff --git a/TopoReportFunctionTest/TopoReportFunctionTest.csproj b/TopoReportFunctionTest/TopoReportFunctionTest.csproj new file mode 100644 index 0000000..a8e07cb --- /dev/null +++ b/TopoReportFunctionTest/TopoReportFunctionTest.csproj @@ -0,0 +1,23 @@ + + + + net6.0 + enable + enable + + false + + + + + + + + + + + + + + + diff --git a/TopoReportFunctionTest/Usings.cs b/TopoReportFunctionTest/Usings.cs new file mode 100644 index 0000000..ab67c7e --- /dev/null +++ b/TopoReportFunctionTest/Usings.cs @@ -0,0 +1 @@ +global using Microsoft.VisualStudio.TestTools.UnitTesting; \ No newline at end of file